Android微信支付的两大坑点

并不是所有的BAT的API都是那么好用,微信支付就有不少的坑点,总结一下微信支付实现中出现的坑点

坑点一:

PayReq的参数 sign的生成

PayReq对象有个参数为packageValue

而sign生成时要用到packageValue,但是对应的Key是package,这里的key容易弄错

 
 
  1. List signParams = new LinkedList(); 
  2. signParams.add(new BasicNameValuePair("appid", req.appId)); 
  3. signParams.add(new BasicNameValuePair("noncestr", req.nonceStr)); 
  4. signParams.add(new BasicNameValuePair("package", req.packageValue)); 
  5. signParams.add(new BasicNameValuePair("partnerid", req.partnerId)); 
  6. signParams.add(new BasicNameValuePair("prepayid", req.prepayId)); 
  7. 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 {

 
 
  1. @Override 
  2. public void onResp(BaseResp resp) { 
  3. //处理支付回调 

三:签名测试

这个算不上坑点洛,很多第三方都要这样才可测试

支付的测试必须对应签名的包,否则无法测试支付功能

文章名称:Android微信支付的两大坑点
文章分享:http://www.hantingmc.com/qtweb/news28/376228.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联