并不是所有的BAT的API都是非常好用的,微信支付就有不少的缺陷,总结一下微信支付实现中出现的问题
坑点一:
PayReq的参数 sign的生成
PayReq对象有个参数为packageValue
而sign生成时要用到packageValue,但是对应的Key是package,这里的key容易弄错
复制代码 代码如下:
List<nameValuePair> signParams = new linkedList<nameValuePair>();
signParams.add(new BasicnameValuePair("appID",req.appID));
signParams.add(new BasicnameValuePair("noncestr",req.nonceStr));
signParams.add(new BasicnameValuePair("package",req.packageValue));
signParams.add(new BasicnameValuePair("partnerID",req.partnerID));
signParams.add(new BasicnameValuePair("prepayID",req.prepayID));
signParams.add(new BasicnameValuePair("timestamp",req.timeStamp));
坑点二:
支付回调方法
微信使用反射找到对应的类并实现的回调
微信官方给出的说明如下:
参照微信SDK Sample,在net.sourceforge.simcpux.wxAPI包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。
意思如下:
1、你要在创建个packagename+.wxAPI的包,如:你的项目报名:com.androID.qq,那你要在该包名下创建个wxAPI的包
2、在该包下创建个名为 WXPayEntryActivity的Activity类,并实现 接口 IWXAPIEventHandler ,支付的回调就在该接口的 onResp(BaseResp resp)方法中进行
复制代码 代码如下:
package com.androID.qq.wxAPI;
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
@OverrIDe
public voID onResp(BaseResp resp) {
//处理支付回调
}
}
三:签名测试
这个算不上坑点洛,很多第三方都要这样才可测试
支付的测试必须对应签名的包,否则无法测试支付功能
以上内容就是AndroID微信支付开发问题,希望对大家有所帮助。
总结以上是内存溢出为你收集整理的Android微信支付开发问题全部内容,希望文章能够帮你解决Android微信支付开发问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)