1、用到的插件:
地址:https://github.com/xu-li/cordova-plugin-wechat
安裝方式:cordova plugin add cordova-plugin-wechat --variable wechatappid=YOUR_WECHAT_APPID
2、申請(qǐng)微信app支付功能
說(shuō)明:
(1)、微信公眾號(hào)支付,進(jìn)入微信公眾平臺(tái):https://mp.weixin.qq.com/ ;微信app支付,進(jìn)入微信開(kāi)發(fā)平臺(tái):https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN
(2)商戶(hù)平臺(tái)跟上面公眾號(hào)的說(shuō)的商戶(hù)平臺(tái)不能是同一個(gè),也就是說(shuō)公眾號(hào)跟APP各有一個(gè)商戶(hù)平臺(tái),所以api秘鑰,也是不一樣的。
流程:
A、進(jìn)入賬戶(hù):獲取AppId、APPSECRET
B、創(chuàng)建移動(dòng)應(yīng)用,配置好應(yīng)用簽名,包名等信息
C、開(kāi)發(fā)者認(rèn)證,然后開(kāi)通支付功能
D、微信會(huì)發(fā)郵件,收到商戶(hù)號(hào)、密碼等信息
E、進(jìn)入商戶(hù)號(hào),配置api秘鑰
F、后端生成訂單相應(yīng)信息(prepay_id,統(tǒng)一下單):但是參數(shù)要對(duì)哦,和文檔寫(xiě)的不一樣:統(tǒng)統(tǒng)小寫(xiě),不能用駝峰原則:例如:appid、partnerid、prepayid、nonceStr、sign、package;
G、前端調(diào)起微信:
cordova 插件Android:Wechat.java 里面的也得改例如:appid、partnerid、prepayid、nonceStr、sign、package;
cordova 插件iOS:目前沒(méi)有發(fā)現(xiàn)異常;
H、最終打工搞成
犯了一個(gè)比較嚴(yán)重的錯(cuò)誤,如果是打的apk,微信支付,只能一臺(tái)電腦編譯的包可以,就要想想apk的應(yīng)用簽名了,以下是Android簽名的一些知識(shí)點(diǎn):
Android系統(tǒng)要求每一個(gè)Android應(yīng)用程序必須要經(jīng)過(guò)數(shù)字簽名才能夠安裝到系統(tǒng)中,也就是說(shuō)如果一個(gè)Android應(yīng)用程序沒(méi)有經(jīng)過(guò)數(shù)字簽名,是沒(méi)有辦法安裝到系統(tǒng)中的!
你沒(méi)有給Android應(yīng)用程序簽名并不代表Android應(yīng)用程序沒(méi)有被簽名。為了方便我們開(kāi)發(fā)調(diào)試程序,ADT會(huì)自動(dòng)的使用debug密鑰為應(yīng)用程序簽名。debug密鑰?它在哪?debug密鑰是一個(gè)名為debug.keystore的文件,它的位置:
系統(tǒng)盤(pán)符:/Documents and Settings/liufeng/.android/debug.keystore
“ liufeng”對(duì)應(yīng)于你自己的windows操作系統(tǒng)用戶(hù)名,怎么樣,是不是已經(jīng)找到它了。這也就意味著,如果我們想擁有自己的簽名,而不是讓ADT幫我們簽名的話(huà),我們也要有一個(gè)屬于自己的密鑰文件(*.keystore)。
應(yīng)用簽名:根據(jù)項(xiàng)目的應(yīng)用包名和編譯使用的keystore,可由簽名工具生成一個(gè)32位的md5串,在調(diào)試的手機(jī)上安裝簽名工具后,運(yùn)行可生成應(yīng)用簽名串,如圖8.9所示,綠色串即應(yīng)用簽名。簽名工具下載地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
然后把應(yīng)用的簽名放到微信開(kāi)放平臺(tái)