转载请标明出处:juejin.im/post/5ce520… ,谢谢。
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
; - 可以使用微信的在线签名工具检查签名是否和程序生成的一致。
pay.weixin.qq.com/wiki/doc/ap…