flutter如何接入微信支付

在Flutter项目中接入微信支付时,应该如何正确配置Android和iOS端的参数?具体需要哪些步骤?比如AppID、商户号等该如何设置?另外,Flutter端调用微信支付SDK时需要注意哪些常见问题?有没有完整的代码示例可以参考?

2 回复

Flutter接入微信支付,需安装fluwx插件。步骤如下:

  1. 在微信开放平台注册应用,获取AppID。
  2. 配置Android的包名和签名、iOS的BundleID。
  3. 在Flutter项目中引入fluwx,调用register方法初始化。
  4. 调用支付API,处理回调结果。

注意:需处理Android和iOS的特定配置。

更多关于flutter如何接入微信支付的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中接入微信支付,可以通过以下步骤实现:

1. 配置微信开放平台

  • 注册应用并获取 AppID
  • 配置应用签名(使用Android签名工具获取)
  • 开通微信支付功能

2. 添加依赖

pubspec.yaml 中添加:

dependencies:
  fluwx: ^3.0.0  # 使用最新版本

运行 flutter pub get 安装。

3. 配置平台参数

Android 配置:

  • android/app/src/main/AndroidManifest.xml 中添加:
<activity
    android:name=".wxapi.WXEntryActivity"
    android:exported="true"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  • android/app/src/main/kotlin|java/<包名>/wxapi 目录创建 WXEntryActivity(继承WeChat回调类)。

iOS 配置:

  • Info.plist 中添加:
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>weixin</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>wx[AppID]</string>  <!-- 替换为实际AppID -->
        </array>
    </dict>
</array>
  • AppDelegate.swift 中注册微信SDK。

4. 初始化与支付调用

import 'package:fluwx/fluwx.dart' as fluwx;

// 初始化
await fluwx.registerWxApi(
  appId: "wx[YourAppID]",
  universalLink: "https://[your-domain]/universal-link/" // iOS必需
);

// 发起支付
final result = await fluwx.payWithWeChat(
  appId: "wx[YourAppID]",
  partnerId: "商户ID",
  prepayId: "预支付ID",
  packageValue: "Sign=WXPay",
  nonceStr: "随机字符串",
  timeStamp: "时间戳",
  sign: "签名"
);

// 处理结果
if (result.isSuccessful) {
  // 支付成功
} else {
  // 支付失败
}

5. 注意事项

  • 签名验证:所有参数需由服务端生成,确保安全。
  • Universal Link:iOS需配置关联域名。
  • 回调处理:通过 fluwx.responseFromPayment.listen 监听支付结果。

建议参考 fluwx文档 和微信官方指南完成详细配置。

回到顶部