Files
live-hub-py/docs/鱼翅充值api/接口规范.md
T

2.2 KiB

接口规范

一、请求格式

二、AppId、AppKey 和 AppSercet

  • 由双方协定,或由我平台提供

  • AppId:商户号

  • AppKey:长度为16位

  • AppSecret:长度为32位

  • 用于

    • 卡券、卡密类订单的数据的加密

    • 签名时的补充数据

  • AppSercet需考虑定期更换

三、请求接口公共参数

可选参数在对接时,请联系对接方,非特殊说明情况下,默认不传递

四、请求签名规则

注意:签名前,需双方协定或由厂商提供AppSecret

sign签名时

  1. 去掉空格:剔除参数名和参数值的前后空格,包括\n和\r等空值

  2. 剔除空值:如果参数没有值,不参与签名

  3. sign不参与签名,其他字段均参与签名

  4. 排序生成待签名串:

    1. 所有参数名按照ascii顺序进行排序

    2. 并且参数名与参数值通过a=1&b=2的方式将所有参数进行组合

    3. 生成新的字符串后在字符串后加上请求的方式

    4. 加上AppSecret后获得待签名字符串

  5. 进行加密

    1. 默认进行MD5加密

    2. 将第三步的待签名字符串进行utf8编码

    3. 再进行md5操作后得到字符串

    4. 最后转小写后为签名字符串

// 假定 AppSercet 为 ac9fa79db418fd2c61d9bd4c60956f2d5db3a6d781d6f91f2e96327c74dfaccd
// 假定是下订单的接口 POST
// 待签名参数
{
    // 公共参数
    app_id: '15945681 ',
    timestamp: 1740916504,

    // 业务参数
    charge_account: '18888888888',
    buy_num: 2,
    customer_price: 1.21,
    customer_order_no: 'DD202507010010208888',
    product_id: '66668888'
}
// 上述参数的签名字符串(去掉空值、去掉空格;最后加上请求方法和AppSecret)
app_id=15945681&buy_num=2&charge_account=18888888888&
customer_order_no=DD202507010010208888&customer_price=1.21&
product_id=66668888&timestamp=1740916504
POSTac9fa79db418fd2c61d9bd4c60956f2d5db3a6d781d6f91f2e96327c74dfaccd
 
// MD5后转小写,签名字符串为:
4087a959f3488ecb13efe6ef58e3bc67

五、响应公共信息

响应签名规则请参考“请求签名规则”

sign不参与签名,其他字段均参与签名