Android微信支付—注意事项

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

[[142741]]

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

坑点一:

PayReq的参数 sign的生成

PayReq对象有个参数为packageValue

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

 

  1. List<NameValuePair> signParams = new LinkedList<NameValuePair>(); 
  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)方法中进行

 

  1. package com.android.qq.wxapi; 
  2.   
  3. public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler { 

 

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

 

三:

签名测试

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

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

责任编辑:倪明 来源: 博客园
相关推荐

2013-04-08 16:57:21

微信微信公众账号认证

2010-02-05 14:13:17

Android平台

2014-07-01 12:49:06

Android Stu安装

2017-01-04 18:09:23

Android微信支付快速实现

2012-12-27 13:04:17

Android开发SQLite数据库

2009-12-15 17:47:17

VSIP

2011-05-26 11:22:04

SEO

2009-12-16 15:41:10

Ruby on Rai

2011-04-11 16:23:57

2010-07-29 10:27:30

Flex键盘事件

2009-12-21 09:53:45

连接Oracle

2010-05-07 10:19:48

Oracle 注意事项

2016-03-04 10:29:51

微信支付源码

2009-12-15 10:10:38

VS 2008开发

2010-02-03 14:49:54

Python 模块

2013-05-20 14:15:41

Fedora 18Vmware

2009-10-22 14:07:15

布线施工注意事项

2009-12-24 15:18:42

创建ADO.NET

2009-09-01 00:00:00

CCNA考试注意事项

2010-11-26 16:27:01

MySQL使用变量
点赞
收藏

51CTO技术栈公众号