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

发起支付接口(必用接口)


有两种方法发起支付:1.跳转到我们预定的支付页; 2.获取支付页json信息,自定义支付页;

这两种方式的 请求参数一致,请求方式不同。

请求参数:
序号 参数名 含义 类型 说明
1 identification 商户identification string(16) 必填。您的商户唯一标识,注册后在设置里获得。一个16位字符串
2 price 价格 int 必填。单位:分
3 type 支付渠道 int 必填。1:微信支付;2:支付宝
4 notify_url 通知回调网址 string(255) 必填。用户支付成功后,我们服务器会主动发送一个post消息到这个网址。由您自定义。不要urlencode。例:https://020zf.com/020ZF_notify
5 return_url 跳转网址 string(255) 必填。用户支付成功后,我们会让用户浏览器自动跳转到这个网址。由您自定义。不要urlencode。例:https://020zf.com/020ZF_return
6 orderid 商户自定义订单号 string(50) 必填。我们会据此判别是同一笔订单还是新订单。我们回调时,会带上这个参数。例:201710192541
7 orderuid 商户自定义客户号 string(100) 选填。我们会显示在您后台的订单列表中,方便您看到是哪个用户的付款,方便后台对账。强烈建议填写。可以填用户名,也可以填您数据库中的用户uid。例:xxx, xxx@aaa.com
8 goodsname 商品名称 string(100) 选填。您的商品名称,用来显示在后台的订单名称。如未设置,我们会使用后台商品管理中对应的商品名称
9 key 秘钥 string(32) 必填。把使用到的所有参数,连Token一起,按参数名字母升序排序。把参数值拼接在一起。做md5-32位加密,取字符串小写。得到key。网址类型的参数值不要urlencode。

key的拼接顺序:如用到了所有参数,就按这个顺序拼接:goodsname + identification + notify_url + orderid + orderuid + price + return_url + token + type

注意:Token在安全上非常重要,一定不要显示在任何网页代码、网址参数中。只可以放在服务端。计算key时,先在服务端计算好,把计算出来的key传出来。严禁在客户端计算key,严禁在客户端存储Token。

请求方式[两种发起方式对比]

发起方式 1.跳转到我们预定的支付页; 2.获取支付页json信息,自定义支付页
请求参数 相同,如上表格所示;
传参地址 https://pay.020zf.com https://data.020zf.com/index.php?s=/api/pp/index_show.html
传参方式 POST方式,POST参数并跳转到此网址,显示我们的支付页。 POST方式,POST后直接获取JSON返回值,显示在您自定义的支付页上。
返回值

跳转显示平台生成的支付页,如:

{

"code":200,

"data":{

//二维码信息,如果没返回,说明存在错误,参考错误码。

"qrcode":"HTTPS://QR.ALIPAY.COM/FKX056603QRMOW209QX292?t=1528786805677",

//支付渠道:1- 微信;2- 支付宝

"type":"1",

//显示给用户的订单金额(一定要把这个价格显示在支付页上,而不是订单金额)

"actual_price":"10.01"

//订单编号(由020zf平台生成)

"bill_no":"20180522156105",

//该二维码到期时间

"end_time":"1526972901",

//判断支付成功后,要同步跳转的URL

"return_url":"www.020zf.com"

//商户自定义单号

"orderid ":"1564151"

}

}

其它说明 直接显示页面给商户客户端,无特别说明。

1. 商户获取此JSON返回值,可以生成自定义支付页面给支付客户端。

2. 平台提供将字符串转成二维码工具,商户可将“qrcode”值传入到https://data.020zf.com/api.php/pp/scerweima2?url= 生成支付二维码。