2.4. 支付或退款回调接口
接口介绍:
描述:此接口由商户提供。收钱吧服务器将调用此接口将支付或退款交易已完成的信息通知到商家服务器。
API endpoint: {merchant-domain}/{notify_url}
Verb: POST
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| brand_code | 1 | String | 数字,最大 6 位 | 品牌编号, 由收钱吧提供 |
| store_sn | 1 | String | 字符串,最大 36 位 | 商户门店编号 |
| workstation_sn | 1 | String | 字符串,最大 36 位 | 门店收银机编号, 如果商户系统没有此参数,则设置为 0 |
| check_sn | 1 | String | 字符串,最大 36 位 | 商户核对账单号码或商户订单号 |
| trade_no | 1 | String | 字符串,最大 64 位 | 收钱吧为此交易生成的交易编号 |
| out_trade_no | 1 | String | 字符串,最大 64 位 | 商户系统的原始交易号 |
| status | 1 | String | 字符串,最大 32 位 | 交易结果状态代码,详情查阅 3.1 |
| trade_detail | 0-1 | String | 对象 | 如果状态是“PAID”,“REFUNDEAD”,“PARTIAL_REFUNDED”, 则返回 |
| external_trade_detail | 0-1 | String | 对象 | 当礼品卡余额不足以支付订单金额时,可由礼品卡收银台采用微信或支付 宝小程序付款的方式代为收取剩余金额。此功能是可选项,当启用此功能时,该字段会随“trade_detail ”一起返回 |
trade_detail的结构定义:
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| payer_uid | 0-1 | String | 字符串,最大 64 位 | 付款人 ID |
| total_amount | 1 | String | 数字,最大 10 位 | 订单价格,精确到分,退款时金额应为负数 |
| pay_amount | 1 | String | 数字,最大 10 位 | 实际支付的返回价格,精确到分,退款时金额应为负数 |
| collect_amount | 1 | String | 数字,最大 10 位 | 实际收款的返回价格,精确到分,退款时金额应为负数 |
| payment_list | 0-1 | String | 数组 | 付款成功后,返回该订单的各支付渠道 |
| finish_time | 0-1 | String | 时间 | 交易完成时间 |
payment_list的结构定义:
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| total_amount | 1 | String | 数字,最大 10 位 | 订单价格,精确到分,退款时金额应为负数 |
| pay_amount | 1 | String | 数字,最大 10 位 | 实际支付的返回价格,精确到分,退款时金额应为负数 |
| collect_amount | 1 | String | 数字,最大 10 位 | 实际收款的返回价格,精确到分,退款时金额应为负数 |
| type | 1 | String | 字符串,最大 64 位 | 用于支付的卡类型,详见 3.2 |
| pay_account_id | 1 | String | 字符串,最大 64 位 | 此参数值表示卡号 |
External_trade_detail的结构定义:
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| trade_no | 1 | String | 字符串,最大 64 位 | 收钱吧为此交易生成的交易编号 |
| payer_uid | 1 | String | 字符串,最大 64 位 | 付款人 ID,微信 Openid 或支付宝 userid |
| total_amount | 1 | String | 数字,最大 10 位 | 订单价格,精确到分,退款时金额应为负数 |
| pay_amount | 1 | String | 数字,最大 10 位 | 实际支付的返回价格,精确到分,退款时金额应为负数 |
| collect_amount | 1 | String | 数字,最大 10 位 | 实际收款的返回价格,精确到分,退款时金额应为负数 |
| channel_type | 1 | String | 字符串,最大 64 位 | 用于支付的渠道类型,详见 3.3 |
| finish_time | 0-1 | String | 时间 | 交易完成时间 |
2.4.1收到支付或退款交易结果的合法返回
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| response | 1 | String | JSON 格式 | 收到通知的返回结果体 |
| response.head | 1 | String | JSON 格式 | 收到通知的返回结果体头部数据,本次响应的公共参数 |
| response.body | 1 | String | JSON 格式 | 收到通知的返回结果体的业务返回对象,不同结果有各自定义 |
| signature | 1 | String | 签名字符串 | 收到通知的返回体的加密签名,签名规则见本文档下文中的 “数字签名”部分 |
response.head
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| version | 1 | String | 字符串,最大 10 位 | 参考各自的 API 接口版本号,当前版本 1.0.0 |
| sign_type | 1 | String | 字符串 | 签名算法, ‘SHA256’即RSA 加密的 SHA256 算法 |
| appid | 1 | String | 数字,最大 32 位 | 由收钱吧提供,用于识别商户和应用系统 |
| response_time | 1 | String | 字符串,最大 64 位 | 带时区的请求时间,遵循ISO-8601 标准。示例: ‘2001-07-04T12:08:56+05:30 ’ |
| reserve | 0-1 | String | 字符串,最大 256 位 | 预留以备将来之需 |
response.body
| 参数 | 必填 | 类型 | 约束 | 描述 |
|---|---|---|---|---|
| result_code | 1 | String | 数字,3 位 | 请求处理结果, 200: 请求成功; 400: 客户端错误; 500: 服务端错误; |
| error_code | 0-1 | String | 字符串 | 请求处理错误码,请求处理失败才返回 |
| error_message | 0-1 | String | 字符串 | 请求处理错误信息描述,请求处理失败才返回 |
示例:
{
"response": {
"head": {
"version": "",
"sign_type": "",
"appid": "",
"response_time": ""
},
"body": {
"result_code": "200",
}
},
"signature": ""
}