当前位置: 首页 > 科技观察

安卓微信支付—备注

时间:2023-03-18 23:57:12 科技观察

并不是所有的BATAPI都这么好用。微信支付有很多坑。下面总结一下微信支付实现中出现的坑。Pitpoint1:生成PayReq的参数sign。PayReq对象有一个参数packageValue,生成签到的时候用的是packageValue,但是对应的Key是package。这里的关键是很容易弄错的。ListsignParams=newLinkedList();signParams.add(newBasicNameValuePair("appid",req.appId));signParams.add(newBasicNameValuePair("noncestr",req.nonceStr));signParams.add(newBasicNameValuePair)("package",req.packageValue));signParams.add(newBasicNameValuePair("partnerid",req.partnerId));signParams.add(newBasicNameValuePair("prepayid",req.prepayId));signParams.add(newBasicNameValuePair("timestamp",req.timeStamp));坑点2:支付回调方法微信使用反射找到对应的类并实现回调微信官方说明如下:参考微信SDKSample,实现net.sourceforge.simcpux.wxapi包路径下的WXPayEntryActivity类(包名或类名不一致无法回调),并在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回商户APP回调onResp函数。开发者需要在该函数中接收到通知,判断返回的错误码,如果支付成功,则去后台查询支付结果,然后展示用户的实际支付结果。含义如下:1、你需要创建一个packageName+.wxapi包,比如:你的项目注册:com.android.qq,那么你在包名2下创建一个wxapi包,在包下创建一个名为WXPayEntryActivity的Activity类,并实现接口IWXAPIEventHandler,支付回调在接口packagecom.android.qq.wxapi的onResp(BaseRespresp)方法中进行;publicclassWXPayEntryActivityextendsActivityimplementsIWXAPIEventHandler{@OverridepublicvoidonResp(BaseRespresp){//处理支付回调}}三:签名测试这个不是坑,很多第三方都要做这个测试支付测试必须对应签名包,否则支付功能无法测试