Android微信支付开发问题

并不是所有的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 RecyclerView UI的滚动控件示例
本篇文章主要介绍了浅谈Android RecyclerView UI的滚动控件示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-02-02
Android获取assets文件夹中的数据并写入SD卡示例
这篇文章主要介绍了Android获取assets文件夹中的数据并写入SD卡示例,对初学Android开发的朋友来说是一个很实用的功能,需要的朋友可以参考下2014-07-07
Android开发使用strings.xml多语言翻译解决方案
这篇文章主要为大家介绍了Android开发使用strings.xml多语言翻译解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-06-06
Android使用AutoCompleteTextView实现自动填充功能的案例
今天小编就为大家分享一篇关于Android使用AutoCompleteTextView实现自动填充功能的案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
Android 使用Vitamio打造自己的万能播放器(5)——在线播放(播放优酷视频)
本文主要介绍Android Vitamio的使用,这里给大家提供效果图和代码实例,来说明Vitamio组件播放网络视频,有需要的小伙伴可以参考下2016-07-07


最新评论