微信支付( WeChat Pay )插件

插件 支持平台 说明
fluwx Android / iOS 最成熟的微信 SDK 封装,支持分享 + 微信支付
flutter_wechat_pay (第三方) Android / iOS 轻量,仅支付,小部分项目使用
tencent_wechat (腾讯官方 mini-app SDK) Android / iOS 若未来微信官方适配 Flutter 可优先考虑

推荐 fluwx

 fluwx: ^5.7.2
  1. main.dart

import 'package:fluwx/fluwx.dart';
初始化
  Fluwx fluwx = Fluwx();


  void initState() {
    _initFluwx();
  }
_initFluwx() async {
    await fluwx.registerApi(
      appId: 'wxd930ea5d5a258f4f',
      doOnAndroid: true,
      doOnIOS: true,
      universalLink: 'https://your.univerallink.com/link/',
    );
    var result = await fluwx.isWeChatInstalled;
    debugPrint('is installed $result');
  }
  1. 调起微信支付
fluwx.pay(
        which: Payment(
        appId:'wxd930ea5d5a258f4f', //
        partnerId: result['partnerid'].toString(),
        prepayId: result['prepayid'].toString(),
        packageValue: result['package'].toString(),
        nonceStr: result['noncestr'].toString(),
        timestamp: result['timestamp'],
        sign: result['sign'].toString(),
  ));

安卓配置

android\app\src\main\AndroidManifest.xml 添加
<activity
    android:name="com.jarvan.fluwx.wxapi.WXPayEntryActivity"
    android:exported="true"
    android:launchMode="singleTop"/>

支付宝支付( AliPay )插件

插件 支持平台 说明
alipay_flutter Android / iOS 最常用,维护较稳定
flutter_alipay Android / iOS 偶尔更新,可以替代选
alipay_kit Android / iOS 支付宝/微信聚合更方便的 SDK

推荐 alipay_flutter

  1. 安装

flutter_alipay: ^2.0.1 # 注意版本可根据 pub.dev 最新调整

  1. iOS 配置步骤
修改 ios/Runner/Info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>alipay</string>
</array>

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>你的URL Scheme(建议用你的APP_ID)</string>
    </array>
  </dict>
</array>

  1. 配置 URL Scheme

支付宝在跳转后需要能返回原 App,请确保 URL Types 正确配置,CFBundleURLSchemes 中添加你注册的 Scheme。

  1. Podfile 添加依赖
platform :ios, '11.0'

target 'Runner' do
  use_frameworks!
  pod 'AlipaySDK-iOS', '~> 15.8.09'
end

  1. 然后运行:cd ios pod install

Android 配置步骤

  1. 修改 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />

<!-- 支付宝跳转所需 Scheme -->
<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:scheme="你的URL Scheme(建议用你的APP_ID)"/>
</intent-filter>

  1. 添加 SDK

支付宝 SDK 依赖会通过插件自动引入,也可以手动在 app/build.gradle 中添加:

implementation 'com.alipay.sdk:alipaysdk-android:15.8.09'

  1. Flutter 调用代码示例
import 'package:flutter_alipay/flutter_alipay.dart';

Future<void> startAliPay(String orderString) async {
  try {
    AlipayResult result = await FlutterAlipay.pay(orderString);
    if (result.resultStatus == "9000") {
      // 支付成功
      print("支付成功");
    } else {
      // 支付失败或取消
      print("支付失败:${result.memo}");
    }
  } catch (e) {
    print("调用支付异常: $e");
  }
}

  1. 示例调用:
ElevatedButton(
  onPressed: () async {
    // 从后端获取签名后的 orderString
    String orderString = await fetchOrderStringFromServer();
    await startAliPay(orderString);
  },
  child: Text("发起支付宝支付"),
)

常见问题排查

在这里插入图片描述

苹果内购(Apple IAP)插件

插件 支持平台 说明
in_app_purchase(Google 官方) iOS / Android 苹果内购首选,支持订阅/一次性购买
iap_revenue_cat iOS / Android 推荐做订阅的项目,后台分析强
flutter_inapp_purchase iOS / Android 较早期,项目老且稳定性 OK

推荐 in_app_purchase

推荐文档 https://blog.csdn.net/panghaha12138/article/details/138534488

谷歌内购为例,我们需要做的总共为三步

  1. 需要在谷歌市场配置商品,设置测试渠道,配置开发者账号,设置对应权限。
  2. 配置完商品之后,如何在 Flutter 中获取到商品,购买指定商品,消耗商品等。
  3. 购买成功之后,如何到服务器校验是否支付成功,后台服务器如何配置通行权限,谷歌市场与谷歌云的关联以及相关校验。

购买交易的生命周期

  1. 向用户展示他们可以购买什么。
    处于宽限期:用户遇到了付款问题,但仍可享用订阅内容,同时 Google 会重新尝试通过相应的付款方式扣款。2. 启动购买流程,以便用户接受购买交易
  2. 在您的服务器上验证购买交易。
  3. 向用户提供内容。
  4. 确认内容已传送给用户。对于消耗型商品,用户要先消耗掉已购商品,才能再次购买。

订阅会自动续订,直到被取消。订阅可处于下面这几种状态

  1. 有效:用户信誉良好,可享用订阅内容。
  2. 已取消:用户已取消订阅,但在到期前仍可享用订阅内容。
  3. 处于宽限期:用户遇到了付款问题,但仍可享用订阅内容,同时 Google 会重新尝试通过相应的付款方式扣款。
  4. 暂时保留:用户遇到了付款问题,不能再享用订阅内容,同时 Google 会重新尝试通过相应的付款方式扣款。
  5. 已暂停:用户暂停了其订阅,在恢复之前不能享用订阅内容。
  6. 已到期:用户已取消且不能再享用订阅内容。用户在订阅到期时会被视为流失。

https://developers.google.com/?hl=zh-cn google开发者平台配置

其他内购参考上方的地址 博主用得少

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐