flutter使用fluwx调通微信支付

需求

使用flutter的情况下用fluwx调通微信支付,使用的是fluwx的包,代码量不多,复杂的是安卓和ios的各种配置。

环境

flutter   1.9.1
fluwx  1.2.1+1

使用方法

引入fluwx,然后注册微信api

fluwx.registerWxApi(
      appId:"wx0axxxxxxxxxx3edb",
      universalLink:"https://www.baidu.com/"
    );

调用支付,参数由后端写好接口请求得到

fluwx.pay(
            appId: wechatParams["appid"], 
            partnerId: wechatParams["partnerid"],
            prepayId: wechatParams["prepayid"],
            packageValue: wechatParams["package"],
            nonceStr: wechatParams["noncestr"],
            timeStamp: wechatParams["timestamp"],
            sign: wechatParams["sign"],
            extData: 'test'
          );

监听支付的回调

fluwx.responseFromPayment.listen((data) {
            print('支付回调通知。。。。。。’);
            if(data.errCode == 0){
              print('支付成功');
            }else{
              print('支付失败');
            }

代码见上,其他安卓和ios的配置见下文

IOS的配置

iOS的微信支付的官方配置文档
详细的再官方文档都有介绍,建议先看一遍官方文档,以下是我总结的几个步骤:

  1. 配置项目的Universal Links,同时和微信公众平台配置的保持一致
  2. Xcode打开Associated Domains开关,将Universal Links域名加到配置上
  3. 检查有没有WechatOpenSDK,没有的话用CocoaPods 集成
  4. 在 Xcode 中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序 id
  5. 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI(重要)
  6. ios配置结束,可以打包出来看效果

安卓的配置

安卓的微信支付官方配置文档
详细的再官方文档都有介绍,建议先看一遍官方文档,以下是我总结的几个步骤:

  1. 在 build.gradle 文件中,添加如下依赖即可
dependencies {
    api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}
  1. 由于 jCenter 服务关停,需要修改成引用 Maven Central,在项目的根 build.gradle 文件中,添加如下代码即可:
buildscript {
    repositories {
        jcenter()       // 原有 jCenter 引用可继续保留
        mavenCentral()
    }
}

allprojects {
    repositories {
        jcenter()      // 原有 jCenter 引用可继续保留
        mavenCentral()
    }
}
  1. 在 AndroidManifest.xml 增加配置

// 添加必要的权限支持(其中网络权限如果没有使用扫码登录功能非必要;后三个权限,如果没有使用 mta,也非必要,即使有使用 mta,去掉也不影响功能):








// manifest 文件里面加上exported、taskAffinity及launchMode属性,其中exported设置为true,taskAffinity设置为你的包名,launchMode设置为singleTask,例如:


  1. 获取应用的签名,同时更新到微信开放平台,确认两边的签名和应用id一致,(官方获取安卓APP签名的应用,最下面有个签名生成工具

  2. 安卓配置成功,可以打包出来看看效果

参考资料

  • fluwx的官方文档
  • iOS的微信支付的官方配置文档
  • 安卓的微信支付官方配置文档
  • 安卓获取APP签名的工具

你可能感兴趣的:(flutter使用fluwx调通微信支付)