该文档描述了接口的所有功能,包含请求方式、入参、出参、错误码等内容,供开发者在接入时参考。
所有 API 请求需要包含一些 公共参数,这些参数对每个接口都是通用的。
| 参数名称 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| app_key | String | 商户唯一标识 | 是 |
| timestamp | String | 10位请求时间戳 | 是 |
| nonce | String | 随机数,用于防止重放攻击 | 是 |
| signature | String | 签名 | 是 |
筛选:获取所有不为空的请求参数。
排序:将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
拼接:将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用 & 字符连接起来,此时生成的字符串为参数字符串。
秘钥:将商户秘钥拼接在第3步中的参数字符串后面,此时生成的字符串为待签名字符串。
以下为签名过程:
将所有请求参数按参数名排序(字典序)
如: { "amount": "bb", "app_key": "aa", "client_order_no": "cc", "nonce": "nn", "notify_url": "ee", "pay_type": "dd", "timestamp": "tt", "upstream_id": "uu" }
拼接,格式为 key=value,多个参数之间用 & 分隔。 amount=bb&app_key=aa&client_order_no=cc&nonce=nn¬ify_url=ee&pay_type=dd×tamp=tt&upstream_id=uu
使用 SHA-256 对拼接后的字符串进行哈希加密,其中密钥为abbcde
932d8321548dbcdbc2e351ccc6d59b497d9e8605ad695088fdaf93660ceceecf
4.1下单
链接:/api/order/create
请求方式:POST
请求参数
| 参数名 | 描述 | 可选值 | 是否必填 |
|---|---|---|---|
| client_order_no | 商户订单编号 唯一 最长64位 | 是 | |
| pay_type | 支付类型 | wx、zfb、union | 是 |
| amount | 金额 分 当前仅支持CNY | 是 | |
| notify_url | 商户订单回调链接 | 是 | |
| code | 上游通道编码,用于指定上游通道支付 | 否 | |
| ip | 付款用户客户端IP地址 | 是 |
响应结果
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | Int | 返回码 200:成功 其他值为错误码 |
| msg | String | 返回值非200时具体错误信息 |
| data | object | 数据详情 |
| data.pay_info | String|Object | 支付链接或小程序支付参数等 |
| data.pay_model | String | 跳转方式 |
| data.channel_info | Object | 渠道信息 |
| data.channel_info.name | String | 上游通道名称 |
| data.channel_info.code | String | 上游通道编码 |
4.2 回调通知
链接:由下单接口获取
请求方式:POST
请求参数
| 参数名 | 描述 | 可选值 | 是否必填 |
|---|---|---|---|
| client_order_no | 商户订单号 | 是 | |
| order_no | 平台订单号 | 是 | |
| upstream_order_no | 通道订单号 | 是 | |
| status | 订单状态 | 默认success | 是 |
| amount | 订单金额 分 | 是 | |
| app_key | 商户唯一标识 | 是 | |
| timestamp | 10位时间戳 | 是 | |
| nonce | 32随机字符串 | 是 | |
| signature | 签名 | 是 |
响应结果
| 参数名 | 类型 | 描述 |
|---|---|---|
| String | 成功SUCCESS 失败FAIL |
| 内容 | 描述 |
|---|---|
| wx | 微信 |
| zfb | 支付宝 |
| union | 银联 |
| 内容 | 描述 |
|---|---|
| app | 打开app支付 |
| web | 内部浏览器 |
| web_outer | 外部浏览器 |
| wechat_applet | 微信小程序 |
| 渠道code | name(上游名称-支付方式-商户号-?支付编码) |
|---|---|
| 7098864107610512 | 功夫熊猫-wx-1001-111 |
| app_key | 渠道code |
|---|---|
| IUALV4NaTkvFmfWmK | 7098864107610512 |