|
发表于 2018-5-16 16:22:36
|
显示全部楼层
福建省泉州市
首页 API接入文档
API接入文档
准备工作
发起付款接口
cha询接口
DEMO下载
发起付款接口(必用接口)
有2种方法发起支付:1.获取json支付页信息,自定义支付页;2.跳转到我们支付页
获取支付JSON数据接口URL:(强烈推荐,防止我们域名出问题时影响业务)
https://pay.bbbapi.com/?format=json
传参方式:POST
说明:用curl的post方式传参数,并直接获取json返回值,显示在您自定义的支付页上。
跳转支付页接口URL:
https://pay.bbbapi.com/
传参方式:POST
使用方法:用表单post的方式,post参数并跳转到此网址,显示我们的支付页。
请求参数:
# 参数名 含义 类型 说明
1 uid 商户uid string(24) 必填。您的商户唯一标识,zc后在设置里获得。一个24位字符串
2 price 价格 float 必填。单位:元。精确小数点后2位
3 istype 支付渠道 int 必填。1:zfb;2:微信支付
4 notify_url 通知回调网址 string(255) 必填。用户支付成功后,我们服务器会主动发送一个post消息到这个网址。由您自定义。不要urlencode。例:http://www.aaa.com/paysapi_notify
5 return_url 跳转网址 string(255) 必填。用户支付成功后,我们会让用户浏览器自动跳转到这个网址。由您自定义。不要urlencode。例:http://www.aaa.com/paysapi_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 + istype + notify_url + orderid + orderuid + price + return_url + token + uid
注意:Token在安全上非常重要,一定不要显示在任何网页代码、网址参数中。只可以放在服务端。计算key时,先在服务端计算好,把计算出来的key传出来。严禁在客户Duan计算key,严禁在客户Duan存储Token。
JSON请求的返回值:
{
//提示给用户的文字信息,会根据不同场景,展示不同内容
"msg":"付款即时到账 未到账可联系我们",
"data":{
//二维码信息,如果没返回,说明存在错误,参考msg的信息。
//想展示二维码内容,可以qrcode值放到这个网址后面:https://pan.baidu.com/share/qrcode?w=280&h=280&url=
"qrcode":"HTTPS://QR.ALIPAY.COM/FKX08406GFWYYSF0YRNC10",
//支付渠道:1-zfb;2-微信
"istype":"1",
//显示给用户的订单金额(一定要把这个价格显示在支付页上,而不是订单金额)
"realprice":0.05
},
//code目前只返回1。
"code":1,
//判断支付成功后,要同步跳转的URL
"url":"https://www.paysapi.com/"
}
付款成功回调通知
用户付款成功后,我们会向您在发起付款接口传入的notify_url网址发送通知。您的服务器只要返回200状态,就表示回调已收到。如果返回状态不是200,我们会再尝试回调3次,每次间隔1分钟。
传参方式:POST
参数内容:
# 参数名 含义 类型 说明
1 paysapi_id paysapi生成的订单ID号 string(24) 一定存在。一个24位字符串,是此订单在PaysApi服务器上的唯一编号
2 orderid 您的自定义订单号 string(50) 一定存在。是您在发起付款接口传入的您的自定义订单号
3 price 订单定价 float 一定存在。是您在发起付款接口传入的订单价格
4 realprice 实际支付金额 float 一定存在。表示用户实际支付的金额。一般会和price值一致,如果同时存在多个用户支付同一金额,就会和price存在一定差额,差额一般在1-2分钱上下,越多人同时付款,差额越大。
5 orderuid 您的自定义用户ID string(100) 如果您在发起付款接口带入此参数,我们会原封不动传回。
6 key 秘钥 string(32) 一定存在。我们把使用到的所有参数,连您的Token一起,按参数名字母升序排序。把参数值拼接在一起。做md5-32位加密,取字符串小写。得到key。您需要在您的服务端按照同样的算法,自己验证此key是否正确。只在正确时,执行您自己逻辑中支付成功代码。
key的拼接顺序:如用到了所有参数,就按这个顺序拼接:orderid + orderuid + paysapi_id + price + realprice + token
补充内容 (2018-5-17 16:42):
详细见12L:https://bbs.125.la/forum.php?mod=redirect&goto=findpost&ptid=14167746&pid=13166218 |
评分
-
参与人数 1 | 荣誉 +1 |
收起
理由
|
笨潴
| + 1 |
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻! |
查看全部评分
|