php支付接口要改动的参数,京东支付接口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
歡迎掃碼加我的微信好友,有什么問題我們可以一起探討,有什么需要也隨時歡迎發消息給我~
轉載請注明出處:
本文鏈接:https://www.wlyc.cn/post-65.html
總結
以上是生活随笔為你收集整理的php支付接口要改动的参数,京东支付接口2.0PHP集成遇到的一些问题:所有参数必须是string!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle以SQL方式导出导入(转移)
- 下一篇: 在PHP中实现中文汉字验证码