付款异步通知

当用户付款后,统一平台会向客户端系统发送异步通知,异步通知的地址客户端系统应在下单时传入,如果没有传入则不会进行通知,通知采用POST请求方式,数据采用JSON格式,客户端系统判断用户是否付款成功,应该仅以异步通知或主动查询的结果为准,异步通知时,必须要进行签名验证。

付款异步通知参数如下:

异步通知参数
参数名 类型 是否必选 限制 描述 示例
user_id int 系统分配 用户id:商家在平台注册时获得的用户ID 4
order_number string 长度:string[6,32]
仅限大小写字母、数字、下划线
商户订单号:在商家系统中全局唯一 20210530_R060524
system_number string 目前暂定长度:24位数字
前12位表示时间,8位随机数,4位产品类别
在统一平台中的系统订单号,全局唯一
将来可能会升位,用户应预留32位储存
210602150849375331066319
description string 长度string[1,127]  
仅限汉字、大小写字母、数字、下划线
不可使用特殊字符,如 /,=,& 等。
描述:商品或服务的描述 小米11手机
total float 可带小数点精确到分
取值范围为 0.01~100000000.00
订单总金额:单位元 18.6
amount float 可带小数点精确到分
取值范围为 0.01~100000000.00
订单实收金额:单位元,用户完成付款时和订单金额相同 18.6
timeout_express int Unix时间戳( 1970年1月1日 00:00:00 到当前时间的秒数)
与下单时间差值范围在1分钟到15天

交易关闭时间:时间戳,超过该时间将无法付款

1622341093
order_state int

一个数字
0|等待付款、1|已经付款、2|付款失败、3|等待退款、4|已经退款

付款状态
仅在值为1时才能认为是付款成功

1
order_time int Unix时间戳( 1970年1月1日 00:00:00 到当前时间的秒数) 付款用户实际付款时间 1622341093
attach string 长度string[1,128]或空字符串
任意数据,推荐为json字符串
用户随订单传递的自定义附加数据:在查询API和支付通知中原样返回,可作为自定义参数使用 云客:user:drupal
sign string 长度string[64]
哈希值

签名字符串:用于保证请求真实、不被篡改、防止重放攻击,签名验证失败时必须拒绝处理,通讯必须签名,点击查看签名算法

-

提示:当签名验证失败时,必须放弃处理,避免冒用攻击

客户端系统收到异步通知后,简单返回“success”即可(不带引号),状态码200
当签名验证通过,客户端系统应更新本地订单状态,并做相应业务处理(业务处理也可在用户付款完成返回客户端系统后进行,或通过其他机制触发执行,如任务队列等)