Flutter開發使用fluwx插件實現微信支付,代碼量不多,復雜的是安卓和iOS的各種配置。
在?pubspec.yaml 文件中添加fluwx依賴
fluwx: ^4.5.5
使用方法
通過fluwx注冊微信Api
await Fluwx().registerApi(appId: 'wxea7a1c53d9e5849d', universalLink: 'https://your.univerallink.com/');
調用支付,參數由接口請求得到
await fluwx.pay(which: Payment(appId: result['appid'],partnerId: result['partnerid'],prepayId: result['prepayid'],packageValue: result['package'],nonceStr: result['noncestr'],timestamp: int.parse(result['timestamp']),sign: result['sign']),);
iOS端的配置
iOS微信支付的官方配置文檔
建議先看一遍官方文檔,以下是我總結的幾個步驟:
1、配置項目的Universal Link,需和微信開放平臺配置的保持一致;
2、Xcode打開Associated Domains開關,添加Universal Link域名;
3、使用CocoaPods集成WechatOpenSDK;
4、在 Xcode 中,選擇你的工程設置項,選中“TARGETS”一欄,在“info”標簽欄的“URL type”添加“URL scheme”為你所注冊的應用程序 id;
5、在Xcode中,選擇你的工程設置項,選中“TARGETS”一欄,在 “info”標簽欄的“LSApplicationQueriesSchemes”添加weixin、weixinULAPI、weixinURLParamsAPI(如下圖所示)。
安卓端的配置
安卓的微信支付官方配置文檔
建議先看一遍官方文檔,以下是我總結的幾個步驟:
1、在 app文件夾的build.gradle 文件中,添加如下依賴
dependencies {api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
}
2、由于 jCenter 服務關停,需要修改成引用 Maven Central,在項目的根 build.gradle 文件中,添加如下代碼
buildscript {repositories {jcenter() // 原有 jCenter 引用可繼續保留mavenCentral()}
}allprojects {repositories {jcenter() // 原有 jCenter 引用可繼續保留mavenCentral()}
}
3、在 AndroidManifest.xml?文件里面加上exported、taskAffinity及launchMode屬性,其中exported設置為true,taskAffinity設置為你的包名,launchMode設置為singleTask
<activityandroid:name=".wxapi.WXEntryActivity"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:exported="true"android:taskAffinity="填寫你的包名"android:launchMode="singleTask">
</activity>
4、獲取應用的簽名,填寫到到微信開放平臺,確認應用包名一致。
官方獲取安卓APP簽名的應用,最下面有個簽名生成工具