文娱直充
按实际订单收费
立即申请功能介绍 / Introduction
支持腾讯会员、超级会员、红钻、蓝钻,爱奇艺、搜狐、芒果TV、酷狗音乐会员、滴滴打车券等权益在线充值服务。
产品功能
- 全品类权益覆盖
- 腾讯系(会员/超会/红钻/蓝钻)
- 视频系(爱奇艺/搜狐/芒果TV)
- 音频系(酷狗/QQ音乐/网易云)
API文档 / Documentation
接口地址
POST / /v1/create_digital_order Content-Type: application/x-www-form-urlencoded
签名算法
1. 将所有请求参数(除 sign 外)按参数名 ASCII 升序排列
2. 拼接成 key1=value1&key2=value2&... 格式
3. 在拼接串末尾追加 API密钥(apiKey),无需 & 连接
4. 对最终字符串进行 MD5 加密,取 32 位小写十六进制
请求参数
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
mchId |
是 | string | 商户号 |
outTradeNo |
是 | string | 商户订单号 |
productCode |
是 | string | 产品编码 |
account |
是 | string | 充值账号 |
notifyUrl |
是 | string | 异步回调地址 |
sign |
是 | string | 签名 |
响应示例
{"code": 0, "msg": "success", "data": {}}
错误码参照 / Error Codes
| code | 说明 |
|---|---|
| 0 | 请求成功 |
| -1 | 请求失败(msg 中包含具体原因) |
| 1001 | 参数缺失或格式错误 |
| 1002 | 签名校验失败 |
| 1003 | 商户不存在或已禁用 |
| 1004 | 账户余额不足 |
| 1005 | QPS 超限 |
| 2001 | 上游接口暂不可用 |
| 2002 | 产品库存不足 |
订单状态说明
| status | 含义 | 说明 |
|---|---|---|
| 1 | 待处理 | 订单已受理,等待处理 |
| 2 | 处理中 | 订单正在充值处理中 |
| 3 | 成功 | 充值成功 |
| 4 | 失败 | 充值失败(余额会自动退回) |
| 5 | 异常 | 订单状态异常,需人工介入 |
示例代码 / Example
Python
import hashlib, time, httpx
MCH_ID = "你的商户号"
API_KEY = "你的API密钥"
def sign(params, api_key):
items = [(k, str(v)) for k, v in params.items() if k != "sign" and v]
items.sort(key=lambda x: x[0])
raw = "&".join(f"{k}={v}" for k, v in items) + api_key
return hashlib.md5(raw.encode()).hexdigest()
params = {
"mchId": MCH_ID,
"reqTime": str(int(time.time() * 1000)),
"mobile": "13800138000",
"amount": "100",
}
params["sign"] = sign(params, API_KEY)
resp = httpx.post("https://api.example.com/v1/create_digital_order", data=params)
print(resp.json())
cURL
curl -X POST 'https://api.example.com/v1/create_digital_order' \\ -H 'Content-Type: application/x-www-form-urlencoded' \\ -d 'mchId=你的商户号&reqTime=1694880000000&mobile=13800138000&amount=100&sign=签名'