第三方集成---微信支付集成与使用

先来一波微信支付的流程图

商户系统和微信支付系统主要交互说明:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。

步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay

步骤4:商户APP调起微信支付。

步骤5:商户后台接收支付通知。

步骤6:商户后台查询支付结果。

 

下面开始罗列步骤实现C端的微信支付功能:

1.先去微信官网上申请微信支付所需要的各种APPID等,申请的时候可能需要你的包名,与签名信息等,获取签名信息时,可能会踩坑。(一定要保证你的包名与正式版发布一致,坑点)。

官网地址    SHA1获取方式

2.下载微信官方android支付DEMO: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

3.导入依赖:  import 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+' ;

4.加上权限:

<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />

 

5.如果要是有混淆,要将之前的旧包名的混淆改成如下:

keep class com.tencent.mm.opensdk.** {

   *;

}keep class com.tencent.wxop.** {

   *;

}

-keep class com.tencent.mm.sdk.** {

   *;

}

6.请求支付前需要

商户APP工程中引入微信JAR包,调用API前,需要先向微信注册您的APPID,代码如下:

final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);

// 将该app注册到微信

msgApi.registerApp("wxd930ea5d5a258f4f");   //填自己的appid.

7.吊起支付:

IWXAPI api;
PayReq request = new PayReq();
request.appId = "wxd930ea5d5a258f4f";
request.partnerId = "1900000109";
request.prepayId= "1101000000140415649af9fc314aa427",;
request.packageValue = "Sign=WXPay";
request.nonceStr= "1101000000140429eb40476f8896f4c9";
request.timeStamp= "1398746574";
request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";
api.sendReq(request);
 

8.回调方法在Demo 的WXPayEntryActivity类中(这个类路径必须为你的包名+wxapi,所以把他带包整个粘过来就好了,就像我盜的图一样)。

9. 在WXPayEntryActivity的onResp()里接收支付结果的返回状态:

 

10.打包生成正式的akp,运行起来

 请大家愉快的开始愉快的敲代码吧!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值