Skip to content

用户卡密充值

用于实现用户通过卡密(key)充值虚拟货币或VIP时长的功能,支持GET和POST两种请求方式。参数需根据后台“用户令牌是否启用”灵活选择,appid(应用ID)、signature(应用签名)、key(卡密)为必填项,同时需通过卡密有效性、账号状态等前置校验。

注意

卡密即为兑换码,可在后台卡密管理页面进行查看与管理。

IMEI设备码的卡密该接口不支持,需使用单独的IMEI兑换码接口

请求地址 GET / POST

http
https://nobase.cn/api/code/card_recharge

请求参数

参数名位置类型必选说明
appidquerystring✅ 是应用ID,填写从开发者中心获取的应用唯一标识
signaturequerystring✅ 是应用签名,直接从后台复制获取,无需手动生成
keyquerystring✅ 是卡密,需为有效的未使用卡密(仅支持数字和小写字母组合,不支持其他字符)
tokenquerystring条件必选用户令牌,仅在“用户令牌启用”时需传递;需为登录成功后获取的有效令牌,用于验证充值用户身份
userquerystring条件必选用户账号,仅在“用户令牌未启用”时需填写;格式为纯数字(如手机号),需与应用内注册账号一致
passquerystring条件必选用户密码,仅在“用户令牌未启用”时需填写;格式为字母数字组合(不可含中文),需与账号绑定的密码一致

返回示例

成功响应(充值成功)

json
{
  "code": 200,
  "msg": "success",
  "data": "充值成功"
}

失败响应(参数缺失)

json
{
  "code": 204,
  "msg": "fail",
  "data": "接口参数错误:用户令牌启用时需传token!"
}

失败响应(令牌无效)

json
{
  "code": 401,
  "msg": "fail",
  "data": "token无效或已过期!"
}

失败响应(卡密异常)

json
{
  "code": 404,
  "msg": "fail",
  "data": "您已使用过该兑换码!"
}

失败响应(格式/状态错误)

json
{
  "code": 407,
  "msg": "fail",
  "data": "卡密格式错误!仅支持数字和小写字母!"
}

失败响应(开发者账号异常)

json
{
  "code": 404,
  "msg": "fail",
  "data": "开发者账号已逾期(1月),请缴费后重试!"
}

返回数据结构

参数名类型说明
codenumber状态码:200=充值成功;204=参数缺失/错误;401=令牌无效;404=卡密/账号/开发者/应用状态异常;407=卡密格式错误;405=账号长度校验失败/充值失败
msgstring状态描述:success=成功,fail=失败
datastring响应数据:返回操作结果提示或错误原因,如“充值成功”“您已使用过该兑换码!”

代码示例

javascript
// 1. 配置参数(用户令牌启用,需传有效token)
const appid = "your_app_id";
const signature = "signature_from_backend";
const key = "km123abc456"; // 有效卡密(数字+小写字母)
const token = "valid_user_token"; // 登录获取的有效令牌

// 2. 构造POST参数
const params = new URLSearchParams({
  appid,
  signature,
  key,
  token
});

// 3. 发起POST请求
fetch("https://nobase.cn/api/code/card_recharge", {
  method: "POST",
  body: params,
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
})
.then(res => res.json())
.then(res => {
  res.code === 200 
    ? console.log("卡密充值成功:", res.data) 
    : console.error("卡密充值失败:", res.data);
})
.catch(err => console.error("请求异常:", err));
javascript
// 1. 配置参数(用户令牌未启用,需传user和pass)
const appid = "your_app_id";
const signature = "signature_from_backend";
const key = "km789def012"; // 有效卡密
const user = "13800138000"; // 用户账号(纯数字)
const pass = "UserPass123"; // 用户密码(字母数字组合)

// 2. 拼接GET参数
const params = new URLSearchParams({ appid, signature, key, user, pass });
const requestUrl = `https://nobase.cn/api/user/card_recharge?${params.toString()}`;

// 3. 发起GET请求
fetch(requestUrl)
.then(res => res.json())
.then(res => {
  res.code === 200 
    ? console.log("卡密充值成功:", res.data) 
    : console.error("卡密充值失败:", res.data);
})
.catch(err => console.error("请求异常:", err));
python
import requests

# 1. 配置参数
params = {
    "appid": "your_app_id",
    "signature": "signature_from_backend",
    "key": "kmabc123456",
    "token": "valid_user_token"
}

# 2. 发起POST请求
url = "https://nobase.cn/api/user/card_recharge"
try:
    res_data = requests.post(url, data=params, timeout=5).json()
    print(f"充值结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
    print(f"请求异常:{str(e)}")
python
import requests

# 1. 配置参数
params = {
    "appid": "your_app_id",
    "signature": "signature_from_backend",
    "key": "kmdef789012",
    "user": "13900139000",
    "pass": "UserPass456"
}

# 2. 发起GET请求
url = "https://nobase.cn/api/user/card_recharge"
try:
    res_data = requests.get(url, params=params, timeout=5).json()
    print(f"充值结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
    print(f"请求异常:{str(e)}")

注意事项

  1. 参数选择规则

    • 用户令牌启用:仅需传递appidsignaturekeytoken,无需传userpass,避免敏感信息暴露;
    • 用户令牌未启用:必须传递appidsignaturekeyuserpass,不可同时传递tokenuser/pass,否则会导致参数冲突。
  2. 卡密使用要求

    • 格式:仅支持数字(0-9)和小写字母(a-z)组合,含大写字母、符号等会返回“卡密格式错误”;
    • 状态:需为“未使用、状态正常”的卡密,已使用、过期或无效卡密会返回对应提示(如“您已使用过该兑换码!”“卡密状态异常!”);
    • 类型:不支持“imei”类型卡密,此类卡密会返回“卡密类型不支持!”。
  3. 核心校验逻辑
    接口会自动校验以下内容,异常时返回对应提示,需提前确保:

    • 开发者账号未逾期且状态正常(非禁用);
    • 应用处于“正常状态”(非审核中、非停用);
    • 用户账号已注册、状态正常,且账号长度符合应用配置(最短/最长字符限制);
    • 签名(signature)与后台配置一致,否则会返回“用户访问被限制:签名校验失败!”。
  4. 卡密充值类型(后台自动识别)
    无需额外参数区分卡密类型,后台会根据卡密配置自动处理:

    • 共享卡:防重复使用,可充值VIP时长或虚拟货币;
    • VIP卡:直接延长用户账号的VIP有效期;
    • 积分卡:直接增加用户账号的虚拟货币余额。
  5. 安全与体验建议

    • 令牌未启用时,pass以明文传递,生产环境必须使用HTTPS协议,防止密码泄露;
    • 优先推荐启用用户令牌,减少账号密码的传递频率,提升接口安全性;
    • 前端可提前通过正则(/^[0-9a-z]+$/)校验卡密格式,减少无效接口请求;充值前建议提示用户确认卡密正确性,避免误操作。