欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信支付僅能成功調(diào)用一次問題的解決方法(Android)

 更新時間:2016年08月18日 08:55:08   作者:xinluqishi  
這篇文章主要介紹了微信支付僅能成功調(diào)用一次問題的解決方法,感興趣的小伙伴們可以參考一下

本人使用Android開發(fā)有一段時間了,但是本身沒有系統(tǒng)學(xué),而且多年專注服務(wù)端開發(fā),總覺得因為項目需要接觸Android移動端開發(fā)只是暫時的,所以沒有太上心,結(jié)果碰到一個大難題折騰了一天,最后被有經(jīng)驗的小伙伴提示了一下才迎刃而解,感覺無地自容的同時,又非常竊喜,畢竟跨過一個一個的坎,就成長了,在這里丟人等換個地方就成牛了也未可知,哈哈。閑言就絮叨到這里,趕緊分享: 

微信支付調(diào)用接口整體的流程有必要簡述一下(目前網(wǎng)上的資料大部分都是適配微信支付舊版的代碼,最新的微信支付官方文檔中并沒有服務(wù)端的Demo,而且一些接口都變了,參數(shù)名稱也有變化,希望小伙伴們能夠注意):
 1. 微信支付不需要訪問獲取Token那個接口了;
 2. 直接訪問https://api.mch.weixin.qq.com/pay/unifiedorder 獲得Prepayid,參數(shù)以 xml格式傳輸就可以;
 3. 有了Prepayid再加上一些其他的官網(wǎng)中提到的參數(shù)就可以調(diào)起客戶端的微信支付接口了; 

此時就出現(xiàn)問題了:第一次調(diào)用非常OK,看到了微信支付界面,有自己生成的訂單號還有金額,但是放棄支付后再進(jìn)入,就連微信客戶端都調(diào)用不起來了,換個訂單也是這樣,換個手機(jī)也是第一單可以調(diào)用微信客戶端,展示訂單號,金額,但是第二單說什么也不行了,定格在自己APP的支付界面,不報錯,任何反應(yīng)也沒有。 

原因就出現(xiàn)在這里: 我們申請微信支付的時候,有個地方會讓你填寫你的應(yīng)用Key: 

申請以后你看到的就是圖片上的應(yīng)用簽名,這個簽名是如何生成的在這里有介紹: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
問題是這個Key的生成是跟正式發(fā)布時打包做簽名有關(guān)的,我們把Android應(yīng)用公開release的時候會將這個Key加進(jìn)去作為應(yīng)用的key防止被惡意覆蓋等等,我們在申請注冊微信應(yīng)用的時候必然要提供正式生成的這個應(yīng)用的Key給微信官網(wǎng)。 

因此這件事就被忽略了,以至于在開發(fā)的過程中,我們在自己的本地運行打包,訪問微信服務(wù)器調(diào)起支付的時候,微信第一次拿到了我們的應(yīng)用發(fā)來的請求,仿佛建立了連接開始了心跳, 

這時微信會異步地根據(jù)留存的應(yīng)用包名和應(yīng)用Key與你現(xiàn)在發(fā)送的包名和應(yīng)用Key進(jìn)行驗證,我相信即使你第一次進(jìn)行付款,也是很有可能不成功的,但是這塊我就沒有驗證了,因為這個時候已經(jīng)有驗證結(jié)果回調(diào)回來了。 

所以跟運維人員拿了Release時把Key打到APK安裝包里的命令,進(jìn)行包含正式Key的打包,命令如下: 

 ``` cordova build --release android
 
 jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA1 -keystore E:\android-release-key.keystore E:\項目名稱\platforms\android\build\outputs\apk\android-release-unsigned.apk android-release-key.keystore

 //運行完這條命令需要輸入密碼
 
 zipalign -v 4 E:\項目名稱\platforms\android\build\outputs\apk\android-release-unsigned.apk a.apk
 
 ```

問題就解決了。每次訪問都能順利地調(diào)用微信支付了。 不得不感慨下,微信用這一手也嚴(yán)格控制了在他那里注冊的應(yīng)用,注冊一個Key用一個,再想用,那么重新走流程吧。

本文已被整理到了《Android微信支付教程匯總》,歡迎大家學(xué)習(xí)閱讀。

更多精彩內(nèi)容點擊《Android微信開發(fā)教程匯總》,《java微信開發(fā)教程匯總》歡迎大家學(xué)習(xí)閱讀。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論