PaysApi 个人支付收款API接口教程

发布时间:2019-12-02 14:35:40 作者:tianxiang1314 阅读量:334

官网地址:https://www.paysapi.com/    


注意事项:微信支付时候请将微信设置到系统设置页面 否则无法进行回调操作





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


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

跳转支付页接口URL:
https://pay.bearsoftware.net.cn/
传参方式:POST

使用方法:用表单post的方式,post参数并跳转到此网址,显示我们的支付页。


获取支付JSON数据接口URL:
https://pay.bearsoftware.net.cn/?format=json
传参方式:POST

说明:用curl的post方式传参数,并直接获取json返回值,显示在您自定义的支付页上。


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

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

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

JSON请求的返回值:
{
	//提示给用户的文字信息,会根据不同场景,展示不同内容
	"msg":"付款即时到账 未到账可联系我们",
	"data":{
		//二维码信息,如果没返回,说明存在错误,参考msg的信息。
		//想展示二维码内容,可以qrcode值放到这个网址后面:
		https://pay.bearsoftware.net.cn/get_code_image_show_image?url=
		"qrcode":"HTTPS://QR.ALIPAY.COM/FKX08406GFWYYSF0YRNC10",
		//支付渠道:1-支付宝;2-微信
		"istype":"1",
		//显示给用户的订单金额(一定要把这个价格显示在支付页上,而不是订单金额)
		"realprice":0.05
	},
	//code目前只返回1。
	"code":1,
	//判断支付成功后,要同步跳转的URL
	"url":"https://www.paysapi.com/"
}
							

付款成功回调通知


用户付款成功后,我们会向您在发起付款接口传入的notify_url网址发送通知。您的服务器只要返回200状态,就表示回调已收到。如果返回状态不是200,我们会再尝试回调3次,每次间隔1分钟。(注意:避免网络不稳定重发通知导致重复充值,每个orderid只允许执行一次充值逻辑。)

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

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

付款成功自动跳转


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

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

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


thinkphp接入PaysApi 个人支付收款API接口教程代码在线下载:https://gitee.com/laohuseo/zhifu/blob/master/zhifu.sososeo.net.zip


我要评论 登录后才能发布评论

推荐阅读

 2019-11-06 21:47:19   tianxiang1314

vue.js定义全局组件

 2019-12-24 22:18:53   tianxiang1314

vue.js返回上一级操作

 2019-12-22 10:03:19   tianxiang1314

Xshell拖拽文件到linux...

 2019-12-18 21:21:06   tianxiang1314

把数据保存到数据库附加表 `de...

 2019-12-14 10:49:37   tianxiang1314

JavaScript 实现九宫格...

 2019-12-10 21:04:30   tianxiang1314

vuex使用方式(实现非父子组件...

 2019-12-05 22:30:18   tianxiang1314

better-scroll滚动无...

胡晓飞笔记   我要留言
Catfish(鲶鱼) CMS V 4.9.63