Android 微信支付整合重點(已經看過官方開發文件)
阿新 • • 發佈:2019-02-02
整合微信支付重點,適用於有整合經驗並且已經看過開發文件的同學
1.申請開通
按照官方文件步驟
(註冊平臺賬號——認證(300 如果失敗3次需再付300認證,資訊提前確認)——建立應用稽核(簽名用微信的提取工具)——開通支付功能——整合)
2.整合
1.定義全域性變數
private IWXAPI api;
2、註冊APPID
支付介面 註冊操作
api = WXAPIFactory.createWXAPI(this,null);
api.registerApp("應用APPID");
3、開始支付
orderInfo (存放後端生成的支付資訊)進行賦值後向微信應用發起支付請求(調起微信)
public void payVX() {
if (orderInfo != null && orderInfo.length() > 0) {
String[] str = orderInfo.split("#");
PayReq req = new PayReq();
req.appId = str[0];
req.partnerId = str[1];
req.prepayId = str [2];
req.nonceStr = str[3];
req.timeStamp = str[4];
req.packageValue = str[5];
req.sign = str[6];
// 在支付之前,如果應用沒有註冊到微信,應該先呼叫IWXMsg.registerApp將應用註冊到微信
api.sendReq(req);
}
}
4、支付回撥
WXPayEntryActivity(回撥介面,微信應用支付操作完成會回撥咱們應用的此Activity),這裡需要注意該檔案必須在wxapi這個資料夾下,及com.xxx.xxx.wxapi.WXPayEntryActivity(路徑錯誤會導致微信支付結果回撥失敗
應用清單檔案註冊此Activity
5、打包測試
簽名檔案一定要和在平臺註冊應用的簽名一樣,很多問題都是簽名造成的
比如只能調起一次微信,第二次就不能調起微信 這種問題去檢視簽名是否一致
6、常規報錯
調不起微信支付,通常通過以下幾個步驟檢查下
–檢查 微信開發平臺是否開通微信支付功能?
–檢查 App端 的APPID 與服務端下單時的APPID 是否一致?
–檢查 App的包名是否與微信開發平臺設定的一致?
–檢查 App的簽名是否與微信開發平臺設定的一致?
檢視自己應用簽名的工具(註冊應用需要)
自己整合時間比較早 當時碰到的小問題已經忘了 基本注意點就這些