Graent.Hu 的博客

新浪微薄腾讯微薄

最新碎语:最近感觉有些迷茫,怎么办~

您的位置:Graent.Hu 的博客 >PHP编程> 京东支付接口2.0PHP集成遇到的一些问题:所有参数必须是string!

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

        最近发现京东的支付接口升级了,原来的接口以及不一样了,就花了点时间做了升级,但是遇到了一些很基础很二的问题,之前的时候接口跳转通知是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

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

转载请注明出处:

本文标题:京东支付接口2.0PHP集成遇到的一些问题:所有参数必须是string!

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

发表评论

路人甲 表情
看不清楚?点图切换

网友评论(4)

踏马的,看了微信支付和支付宝的sdk再看京东的简直要骂娘,京东sdk下载下来都运行错误,还怎么整麻蛋
路人 3年前 (2017-03-12) 回复
@路人:京东支付做了一次接口升级,以前还是慢好用的,升级之后就是各种问题,文档还不完善也不相信,遇到问题就只能找他们技术了,不过还好,解决了就总结出来了
9ra3nt 3年前 (2017-03-28) 回复
@9ra3nt:怎么解决的啊,你有根据接口文档封装好的类嘛
super 3年前 (2017-05-04) 回复
@super::),已经联系解决了应该
9ra3nt 3年前 (2017-05-14)