点击链接:(官方文档) 微信支付集成流程
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
步骤5:商户后台接收支付通知。api参见【支付结果通知API】
步骤6:商户后台查询支付结果。,api参见【查询订单API】
1) 申请获取AppID:wx
2) 下载微信终端开发工具包 就是把libammsdk.jar 导入到项目里面
3) 搭建开发环境 AndroidManifest.xml 清单文件配置:权限和注册
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
4) 在PayForActivity的onCreate()方法中:
//第一步
api = WXAPIFactory.createWXAPI(this, null);
api.registerApp("w942b548");
//第二步
支付前,调用本地后台的预支付接口,获取相应的数据 比如
request.partnerId = "1900109";
//后台返回 预支付接口
request.prepayId = "110100000140415649af9fc314aa427";
request.nonceStr = "110100000140429eb40476f8896f4c9";
request.timeStamp = "138746574";
request.sign = "7FFECB60D7157C5AA49810D2D8F28BC2811827B";
//第三步 点击支付按钮,进行支付
private void payFor() {
// IWXAPI api; //这行代码就没有用了 对不对?
//创建对付对象
PayReq request = new PayReq();
//已经知道
request.appId = "wxd930ea5da258f4f";
request.partnerId = "1900000109";
//后台返回 预支付接口
request.prepayId = info.prepayId;
request.nonceStr = info.nonceStr;
request.timeStamp = info.timeStamp;
//写死
request.packageValue = "Sign=WXPay";
//动态生成 这是签名文件 秘钥
request.sign = info.getSign();
//为了保险起见 api再次检测注册
//发起支付
api.sendReq(request);
}