如需轉載,請標明原文出處: https://juejin.im/post/5ce520776fb9a07ea6484a02 ,謝謝。
App端
- 確認微信開放平臺的AppID、包名、應用簽名的正確性;
- PayReq的配置;
PayReq request = new PayReq();
request.appId = WechatHelper.APP_ID;
request.partnerId = dataObj.optString("mch_id");
request.prepayId = dataObj.optString("prepay_id");
request.packageValue = dataObj.optString("package");
request.nonceStr = dataObj.optString("nonce_str");
request.timeStamp = dataObj.optString("timestamp");
request.sign = dataObj.optString("sign");
api.sendReq(request);
複製程式碼
api.sendReq(request);
之前要註冊到微信registerApp(APP_ID)
。
伺服器端
- 伺服器返回給客戶端的資訊需要進行二次簽名;
- 伺服器簽名的型別有兩種
MD5
和HMAC-SHA256
,現在微信好像預設為HMAC-SHA256
; - 可以使用微信的線上簽名工具檢查簽名是否和程式生成的一致。
【微信支付】付款碼支付開發者文件