php支付接口要改动的参数,京东支付接口2.0PHP集成遇到的一些问题:所有参数必须是string!...

04336d15f8b57e000ed1ff6b77fe34b3.png

最近发现京东的支付接口升级了,原来的接口以及不一样了,就花了点时间做了升级,但是遇到了一些很基础很二的问题,之前的时候接口跳转通知是get方式的,用在原来的支付驱动上面很正常,但是2.0的接口就没法正常的运行了,没办法就重新调整了支付的方式,在集成的过程中,遇到了几个问题,记录一下,也给需要的朋友一个参考吧:

1,京东支付接口(PHP),在构建post提交表单的之前所有的参数必须保证是string类型,一般情况会出错的是支付金额(amount,单位是分)、OrderType(1),很容易就把两个搞错数字相关的类型,在做转换之前就要保证是字符串类型,为了保证都是字符建议所有的参数固定的使用单引号包裹,如果是文本变量,可以在后面链接空字符串例如 $a.'';,数字类型在保证数值正确的情况下可以使用strval转换一下在进行处理。

2,京东支付的文档里面对于userId和userType的说明是可以为空,但是经过多次的测试,当这两个为空的时候就会报错(商户用户ID不能为空等错误),最近咨询了他们的技术服务,告诉我说这两个userId必须(同样需要string类型),userType为固定值“BIZ”,说实话自从京东升级2.0的接口之后就发现,真心是伤不起,文档和技术回复差别真是大,如果想顺利的完成,建议直接找他们技术集成,不要自己看文档了,真心不对,也不修正很无奈。

3,其他的比较麻烦的就是各种转换了,字符串转成16进制,在结合公钥,私钥加密解密,这个用sdk里面带的函数就可以,反正就是好多,不多说了,其他的仔细一点就还好了。

4,密钥的生成,RSA公钥一个,还有一个pksc8的私钥,这个要注意,私钥有两个要用pksc8的,这个和一些其他的支付接口使用的还是有区别的。

5,密钥生成之后公钥自己保留,pksc8的私钥放到自己程序所在服务器供发起支付OpenSSL加密使用,公钥要使用京东支付提供的公钥,不能使用自己生成的,同样放到自己程序所在的服务器供支付成功回调后OpenSSL解密使用。

最主要的还是string类型的参数,一定要注意!

我的微信:graent_hu

欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~

转载请注明出处:

本文链接:https://www.wlyc.cn/post-65.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值