摘要:移動應用想要調用微信的支付功能,需要到微信開發平臺申請創建移動應用,微信會給,拿到到中打開一個項目,添加對應的。當前端拿到值后調用即拉取微信支付彈窗付費。的搜一下就能出來,為后端返回的要傳給微信的參數。
移動應用想要調用微信的支付功能,需要到微信開發平臺申請創建移動應用,微信會給appid,拿到appid到HBuilderX中打開一個uni-app項目,添加對應的sdk。
在微信開發平臺申請好的移動應用要開通微信支付功能,需將微信的商戶號綁定到該移動應用上,這時候就需要注冊微信商戶號了,到微信商戶平臺。
注冊好綁定移動應用的appid即可,接下來就是開發步驟。
大體步驟就是,Java后臺代碼給微信的統一下單接口發一個請求,拿到響應后返回給前端的app,app拿到響應后傳給微信拉起微信支付彈窗,然后確認付款即可,至于使用者付的款會落到綁定的商戶號上面。
微信會提供Java后端開發的一些工具代碼,簡要實現:后端組裝一下請求參數:appid(移動應用id,微信開發平臺申請到的),mch_id(商戶號,商戶平臺申請的),nonce_str(隨機字符串,Java自己生成的),body(一個字符串,用來描述該應用的作用,如:天天愛消除-游戲充值),out_trade_no(商戶訂單號,這個是公司后端自己生成的業務代碼,用來標識哪一個用戶充值的訂單號),total_fee(訂單金額),spbill_create_ip(調用微信支付api的機器ip),notify_url(接收微信支付異步通知回調地址),trade_type("APP",標識這次請求來源是啥),sign(簽名)
這里最關鍵的就是這個簽名,簽名怎么生成呢:) 筆者這里遇到很多坑,上述那些參數都需要組裝成Java map,關鍵就是sign這個字段需要依賴上述那個map按照key的ASCII碼排序后組裝成查詢參數,然后在查詢參數后面加上"&key=xxxxxxx",key是商戶平臺上的密鑰,組裝好后得到字符串str,將str通過md5算法加密后大寫得到的字符串就是sign的值,然后將sign和其值放入參數的map中,將參數通過工具類方法發送給微信即可,微信拿到后會生成響應,這些響應需要給前端發給微信使用的,那微信響應怎么包裝成前端發給微信的呢?
后端拿到微信正確的響應后,需要從其中取出一些字段,存在map中,然后包裝成查詢參數字符串加上key,再md5后大寫,將獲得的字符串放在map中,作為sign的屬性值,最后將map返給前端即可,這里需要注意的是,不論是發給微信的參數,還是發給前端讓前端發給微信的參數的每一個字段名都需要跟微信要求的一致。
當前端拿到值后調用
uni.requestPayment({ provider: "wxpay", orderInfo: JSON.stringify(res), success(res) {}, fail(err) {} })
app即拉取微信支付彈窗付費。uni-app的api搜一下就能出來,res為后端返回的要傳給微信的參數。
注意點
過程有點麻煩,拉支付彈窗很可能報-1的錯誤,幾乎可以肯定是參數問題,不是后端傳給微信的參數問題,就是前端傳給微信的有問題,所以耐心點,肯定能做出來,收工。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106615.html
摘要:移動應用想要調用微信的支付功能,需要到微信開發平臺申請創建移動應用,微信會給,拿到到中打開一個項目,添加對應的。當前端拿到值后調用即拉取微信支付彈窗付費。的搜一下就能出來,為后端返回的要傳給微信的參數。 移動應用想要調用微信的支付功能,需要到微信開發平臺申請創建移動應用,微信會給appid,拿到appid到HBuilderX中打開一個uni-app項目,添加對應的sdk。 在微信開發...
摘要:當時下載了一個,下載了官方提供的示例教程。關于項目目錄開發規范一定要遵守,直接通過官網學習即可。最后就是發布安卓包和蘋果包了。我將自己做的第一個新聞列表新聞詳情程序打包,安裝到了安卓手機上測試了下,效果非常棒。 本人微信公眾號:前端修煉之路,歡迎關注 背景介紹 大概在今年的十月份左右,我了解到Dcloud推出了uni-app。當時下載了一個Hbuilder X,下載了官方提供的hell...
閱讀 2111·2021-11-24 10:28
閱讀 1117·2021-10-12 10:12
閱讀 3337·2021-09-22 15:21
閱讀 679·2021-08-30 09:44
閱讀 1895·2021-07-23 11:20
閱讀 1147·2019-08-30 15:56
閱讀 1751·2019-08-30 15:44
閱讀 1483·2019-08-30 13:55