对于微信支付
来源:互联网 发布:苹果赚钱软件哪个好 编辑:程序博客网 时间:2024/05/29 06:29
关于微信的准备工作:
1. 首先你需要打一个正式包, 然后再手机上安装;
2. 下载微信工具- GenSignature 去获取MD5签名 微信开放平台后台需要
3. 等待微信支付申请下来
开始接入微信支付:
1. 按照官方文档 接入微信支付需要的lib,配置文件等
2. 开始代码
2.1 创建一个WxPAy.class 的类
private IWXAPI mApi;
private String mAppId = "appId";//申请微信 提供
/**
* 将app注册到微信
*/
public void registToWechat() {
mApi = WXAPIFactory.createWXAPI(this.mContext, mAppId, false);//暂未发现true和false的区别
mApi.registerApp(mAppId);
}
/**
* 检查是否安装微信
*/
public void checkWXAppSupport() {
boolean isPaySupported = mApi.getWXAppSupportAPI() >= Build.PAY_SUPPORTED_SDK_INT;
if (!mApi.isWXAppInstalled()) {
Toast.makeText(mContext, "未安装微信", Toast.LENGTH_SHORT).show();
return;
}
if (!isPaySupported) {
Toast.makeText(mContext, "微信版本不支持支付功能,请升级微信到最新版本", Toast.LENGTH_SHORT).show();
return;
}
}
/**
* 调起微信支付 (所需要的参数可以全部从后台获取)
*/
public void reallPay(String appId, String partnerId, String prepayId, String packageValue, String nonceStr,String timeStamp, String sign) {
PayReq request = new PayReq();
request.appId = appId;
request.partnerId = partnerId;
request.prepayId = prepayId;
request.packageValue = packageValue;
request.nonceStr = nonceStr;
request.timeStamp = timeStamp;
request.sign = sign;
mApi.sendReq(request);
}
2.2 创建 WXPayEntryActivity 继承Activity
private IWXAPI api;
private String appId = "appId";
在OnCreate方法中写入:
api = WXAPIFactory.createWXAPI(this, appId);
api.registerApp(appId);
@Override
public void onResp(BaseResp resp) {
Log.d(TAG, "onPayFinish, errCode = " + resp.errCode);
String result = "";
if (String.valueOf(resp.errCode).equals("0")) {
result = "支付成功";
} else if (String.valueOf(resp.errCode).equals("-1")) {
result = "支付失败";
} else if (String.valueOf(resp.errCode).equals("-2")) {
result = "支付取消";
}
WXPayEntryActivity.this.finish();//关闭此Activity
}
至此,微信支付算是完成了,但是相信好多同学会遇到这样或者那样的问题:
1. 出现错误,一般是微信后台没有配置好,一定要仔仔细细的去检查(md5的签名,大小写是否正确)!!!
2. 确认提供的appid 和 secret 是否正确
3. 检查你的包名是否一致: 你的包名.wxapi 清单配置文件: 你的包名.wxapi.WXPayEntryActivity
4. 微信支付是需要正式包的(这是微信最坑爹的地方,没有之一)
- 对于微信支付
- 微信、支付宝支付
- 支付宝,微信支付
- 微信支付【支付模式】
- 微信支付Jsapi支付
- 微信支付-刷卡支付
- 微信支付JSAPI支付
- 微信支付 h5 支付
- 支付--微信APP支付
- 微信支付:手机支付
- 支付宝 微信支付
- 支付宝-微信支付
- 微信支付与支付宝支付
- 支付宝支付与微信支付
- 微信支付和支付宝支付
- 微信支付与支付宝支付
- 支付宝支付和微信支付
- 微信支付和支付宝支付
- Android 绕Y轴翻转
- PAT乙级真题及训练集(24)--1031. 查验身份证(15)(小感触)
- Python股票处理之四_股票筛选
- Windows 环境下 onenote中表格插入行和列的问题
- Entity Framework技术系列之2:三种开发模式实现数据访问
- 对于微信支付
- 微信小程序联盟:官方文档+精品教程+demo集合(6月23日更新……)
- java提高篇(四)-----理解java的三大特性之多态
- 页面向下滚动一定距离显示固定搜索框
- git 命令语句
- C与C++区别(1)
- 最长不下降子序列的o(nlogn)算法
- run results log
- Mysql技术内幕InnoDB存储引擎读书笔记--《三》文件