fluwx插件实现微信支付

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

<activity
    android: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签名的应用,最下面有个签名生成工具

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 07:26:03       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 07:26:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 07:26:03       90 阅读
  4. Python语言-面向对象

    2024-07-10 07:26:03       98 阅读

热门阅读

  1. 网格化监控:Eureka与分布式服务网格的协同监控

    2024-07-10 07:26:03       31 阅读
  2. Tomcat异步请求实现原理和应用场景简介

    2024-07-10 07:26:03       34 阅读
  3. [Python学习篇] Python面向对象——类

    2024-07-10 07:26:03       24 阅读
  4. 每日一道算法题 LCR 150. 彩灯装饰记录 II

    2024-07-10 07:26:03       32 阅读
  5. Ubuntu 添加so库搜索路径

    2024-07-10 07:26:03       33 阅读
  6. 文件格式是.pb应该怎么查看?

    2024-07-10 07:26:03       37 阅读
  7. 高考假期预习指南

    2024-07-10 07:26:03       34 阅读
  8. YOLOv5/v7 应用轻量级通用上采样算子CARAFE

    2024-07-10 07:26:03       29 阅读