php中接口验证失败,支付宝手机接口,服务端PHP验证失败,求助
本帖最后由 js14654952 于 2013-01-16 17:12:11 編輯 最近做支付寶手機接口郁悶死了 求大神們幫忙~!
問題1:手機端安卓自然是JAVA,而服務端是PHP,在做支付寶異步驗證notify_url的時候,按照支付寶的demo來操作驗證失敗,用日志做調查后發現傳過來的$_POST['sign']驗證參數 在base64_decode時,返回的竟然是亂碼,這里就疑問,難道在JAVA端用BASE64加密后 在PHP端解密不能? 求解~!
問題2:在服務器PHP端驗證要用到3個PEM文件,3個文件的格式到底是啥,我問了支付寶技術支持,一個人說,用支付寶提供的軟件生成的rsa_private_key.pem和rsa_public_key.pem是否不用去掉頭和尾,直接替換掉key文件夾下的2個同名文件? 還是要去掉頭和尾空格與換行 直接留一行字符串?(這部分按照文檔的寫了 照樣不通過,才來問的~!)
問題3:最后一個pem文件 alipay_public_key看文檔說是按照上傳的公鑰,復制下來后去換行和空格,但是當openssl驗證文件 載入之后 openssl_get_publickey返回的竟然為空,這個真心糾結了,然后我又嘗試用原文件rsa_public_key改成openssl_get_publickey這時候返回提示Resource id #20或者Resource id #21
網上查的要死 也沒找到這2個提示 啥意思!
求各位大師指點~!~!
回復討論(解決方案)
既不懂java也沒支付寶編程經驗的多嘴一句??
會不會是字節型數據的問題?
php處理這個要小心,因為php對字節和字串是混合的
如果不是這個問題就再等有相關經驗的人的答案吧
問支付寶技術人員
問支付寶技術人員
支付寶技術支持的客服 都被我問了多少遍了 說的東西貌似也沒什么實質性的 無非就是按文檔啊,編碼什么的,都試過了 還是驗證失敗~!
愁都愁死了~!
一步步來,先不要base64,發原字串過去,看看php收到的是什么,這樣可以確定是否字節型數據
然后再encode和decode
key那個也是同樣操作
支付寶的異步返回是不經過你手機端的,是支付寶服務器主動發起的請求(你異步填寫的那個url).
你可以先查看你的加密方式, 是md5 還是rsa
我也碰到這個問題了,問支付寶技術客服一點用都沒有,我想問下你的問題解決了嗎?糾結呀。
樓主解決了沒?
支付寶返回的數據有時是xml 格式的,有時是數組格式,php 要判斷返回格式,然后轉換一下
表示 我也一直遇到 openssl_get_privatekey獲取的為空。。不知道這是什么原因。。查遍了都沒得出個結果 。樓主解決了沒。有沒有人知道原因,麻煩告訴我好嗎?郵箱 :252962553@qq.com。 謝謝了
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php中接口验证失败,支付宝手机接口,服务端PHP验证失败,求助的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker php nginx,doc
- 下一篇: 三位数组的轴python_关于numpy