Fluwx 微信支付集成使用与遇到的问题

记录下Fluwx的集成过程

集成步骤

项目地址:
https://github.com/OpenFlutter/fluwx
直接在https://pub.dev/上搜索:fluwx

配置

在flutter中的yaml文件中进行配置:

dependencies:
  fluwx: ^2.0.9

遇到的第一个问题

MissingPluginException(No implementation found for method registerApp on channel com.jarvanmo/fluwx)

其实就是插件找不到了,解决方案:
别热更新,从先flutter run一下
遇到第二个问题

e: D:\flutter\flutter_windows_v1.7.8+hotfix.4-stable\flutter\.pub-cache\hosted\pub.flutter-io.cn\fluwx-2.0.9\android\src\main\kotlin\com\jarvan\fluwx\handlers\FluwxShareHandler.kt: (22, 26): This declaration is only available since Kotlin 1.3 and cannot be used with the specified API version 1.2

就是说Kotlin 的版本太低了,要升级到1.3以上的版本,但是要注意同时提升你的gradle版本,推荐修改为:
android/build.gradle 中的 ext.kotlin_version = '1.3.31',
android/build.gradle 中的 classpath 'com.android.tools.build:gradle:3.4.0'
android/gradle/gradle-wrapper.properties 中distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip
这些版本虽然不是最新的,但是这套是对应的,从我的其他android项目里copy过来的。
后来又遇到一个别的问题chewie的版本过低的问题搞了一个小时,然后就能运行起来了。
代码:
先注册

registerWxApi(
        appId: "wx283f1fc1cc35fb8a",
        universalLink: "https://your.univerallink.com/link/");

支付:

payWithWeChat(
      appId: item.appid,
      partnerId: item.partnerid,
      prepayId: item.prepayid,
      packageValue: item.package,
      nonceStr: item.noncestr,
      timeStamp: num.parse(item.timestamp),
      sign: item.sign,
    )

监听结果:

weChatResponseEventHandler.listen((res) {
      if (res is WeChatPaymentResponse) {
        if (res.errCode == -2) {
          //支付取消
          ToastUtils.toast(context, "支付取消");
        } else if (res.errCode == -1) {
          //支付失败
          ToastUtils.toast(context, "支付失败");
        } else if (res.errCode == 0) {
          //支付成功
          ToastUtils.toast(context, "支付成功");
        }
        print("---》res.errStr ${res.errStr}");
        print("---》res.extData ${res.extData}");
        print("---》res.errCode ${res.errCode}");
        print("---》res.type ${res.type}");
      }
    });

打包支付测试,android成功;
苹果运行发现之前接的sharesdk里的微信包和Fluwx微信支付的包有冲突,注释掉sharesdk运行起来了,正在想办法解决,以后更新。

你可能感兴趣的:(Fluwx 微信支付集成使用与遇到的问题)