世事洞明皆学问,人情练达即文章。这篇文章主要讲述Android微信支付—注意事项相关的知识,希望能为你提供帮助。
坑点一: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布局优化之 ViewStub
- Android支付宝SDK开发笔记
- [Android]Android布局优化之 merge
- Android驱动学习-Eclipse安装与配置
- Android微信支付SDK开发
- 在Android 中调用sqlite数据库
- 适配整理Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException
- wex5 教程 之 web网站android原生模式打包
- android应用开发-从设计到实现 3-3 Sketch静态原型设计