Android使用微信支付SDK的集成和支付结果的回调问题。

req.appId = json.getString("appid");

req.partnerId = json.getString("partnerid");

req.prepayId = json.getString("prepayid");

req.nonceStr = json.getString("noncestr");

req.timeStamp = json.getString("timestamp");

req.packageValue = json.getString("package");

req.sign = json.getString("sign");

req.extData = "app data"; // optional

有个要求:在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信

注册方法很简单:

商户APP工程中引入微信JAR包,调用API前,需要先向微信注册您的APPID,代码如下:

final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, “wxd930ea5d5a258f4f”);

// 将该app注册到微信

msgApi.registerApp("wxd930ea5d5a258f4f");

这里我写到了自己的Application里面。

然后发起支付:msgApi.sendReq(req);

关于支付结果回调微信要求要有一包名为wxapi,然后里面有一个WXPayEntryActivity界面,因为从微信支付页面返回APP,它会主动跳转这个界面并返回结果(很扯淡)。微信文档中也有一个提示:支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。


很扯淡的是,必须有一包名为wxapi,否则回调就没有反应。


原文链接:https://blog.csdn.net/weixin_36888674/article/details/80863727

你可能感兴趣的:(Android使用微信支付SDK的集成和支付结果的回调问题。)