Android中如何实现微信支付
这篇文章主要介绍“Android中如何实现微信支付”,在日常操作中,相信很多人在Android中如何实现微信支付问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android中如何实现微信支付”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
坑点一:
PayReq的参数 sign的生成
PayReq对象有个参数为packageValue
而sign生成时要用到packageValue,但是对应的Key是package,这里的key容易弄错
List<NameValuePair>signParams=newLinkedList<NameValuePair>();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));
坑点二:
支付回调方法
微信使用反射找到对应的类并实现的回调
微信官方给出的说明如下:
参照微信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 {
@OverridepublicvoidonResp(BaseRespresp){//处理支付回调}
到此,关于“Android中如何实现微信支付”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!