api支付系统 首页 API接入文档

支付成功


1.支付成功回调通知

用户付款成功后,我们会向您在发起付款接口传入的notify_url网址发送通知。您的服务器只要返回"success"状态,就表示回调已收到。

我们会尝试调用10次,间隔3分钟。 如果您的服务器中断一段时间,建议使用订单查询接口进行查单。(注意:避免网络不稳定重发通知导致重复充值,每个orderid只允许执行一次支付成功逻辑。)

传参方式:POST

参数内容:

序号 参数名 含义 类型 说明
1 bill_no 020zf生成的订单ID号 string(24) 一定存在。一个24位字符串,是此订单在020ZF服务器上的唯一编号
2 orderid 您的自定义订单号 string(50) 一定存在。是您在发起付款接口传入的您的自定义订单号
3 price 订单定价 int 单位:分。一定存在。是您在发起付款接口传入的订单价格
4 actual_price 实际支付金额 int 单位:分。一定存在。表示用户实际支付的金额。一般会和price值一致,如果同时存在多个用户支付同一金额,就会和price存在一定差额,差额一般在1-2分钱上下,越多人同时付款,差额越大。
5 orderuid 您的自定义用户ID string(100) 如果您在发起付款接口带入此参数,我们会原封不动传回。
6 key 秘钥 string(32) 一定存在。我们把使用到的所有参数,连您的Token一起,按参数名字母升序排序。把参数值拼接在一起。做md5-32位加密,取字符串小写。得到key。您需要在您的服务端按照同样的算法,自己验证此key是否正确。只在正确时,执行您自己逻辑中支付成功代码。
7 account_name 此单对应收款号 string(100) 新增参数,用于记录每单对应的收款账号。key值的拼接不需要此参数,根据需求单独接收即可。

key的拼接顺序:如用到了所有参数,就按这个顺序拼接:actual_price + bill_no + orderid + orderuid + price + token

多发问题: 逻辑处理完成后返回success,但020订单依旧是未响应状态

问题原因: 接受回调的文件编码一定要用UFT-8无BOM编码。 带BOM的话,对于php的include文件要小心,会在php字节流前面多出EF BB BF,提前输出到显示器有可能会带来程序错误。

解决方法:下载NodePad++, 打开文件,点击格式,转为UFT-8无BOM编码。

2.付款成功自动跳转

用户付款成功后,我们会在先通过上面的接口,通知您服务器付款成功,再过1-3秒后将用户跳转到您在发起付款接口传入的return_url网址。注:用Json方式发起支付的,不会有主动跳转。需要自行监控您的订单信息是否被我们异步回调接口修改成支付成功状态,发现您订单更新后,自行给用户显示支付成功。

传参方式:GET

参数内容:

序号 参数名 含义 类型 说明
1 orderid 您的自定义单号 string(50) 一定存在。您可以通过此orderid在您后台查询到付款确实成功后,给用户一个付款成功的展示。

注意:请不要将此跳转认为是用户付款成功的判断条件,此行为极不安全。请根据我们的付款成功回调通知是否送到,来判断交易是否成功。