最近对接了微信支付和支付宝支付的唤起,支付宝支付特别简单,服务端创建好订单,发个订单链接然后用支付宝sdk直接唤起就可以了,但是微信就麻烦多了。
微信需要一堆参数,需要验签,需要appid商户id都匹配上才可以,如果是前后端分工的话,就容易造成甩锅现象,我先简单说一下微信支付流程。
照着文档引入sdk
implementation 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.30'
然后创建微信要求的必须的活动页面:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application>
<!-- 微信支付回调 Activity -->
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
</application>
package com.example.yourpackage.wxapi; // 包名必须是 wxapi
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.tencent.mm.opensdk.modelbase.BaseReq