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