Flutter如何集成苹果支付

我在Flutter项目中需要集成苹果支付功能,但不太清楚具体实现步骤。请问应该使用哪个插件或SDK?是否需要额外配置App Store Connect?支付流程该如何与Flutter代码对接?测试时需要注意哪些事项?有没有完整的代码示例可以参考?

2 回复

Flutter集成苹果支付可使用in_app_purchase插件。步骤如下:

  1. 在Xcode中启用应用内购买功能。
  2. 配置App Store Connect中的商品。
  3. 在Flutter项目中添加插件并初始化。
  4. 实现购买流程和交易监听。

注意遵守苹果审核规则。

更多关于Flutter如何集成苹果支付的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中集成苹果支付(Apple Pay),可以通过 in_app_purchase 插件实现,该插件由 Flutter 团队维护,支持 iOS 和 Android 平台。以下是基本步骤:

1. 添加依赖

pubspec.yaml 文件中添加依赖:

dependencies:
  in_app_purchase: ^3.1.7

运行 flutter pub get 安装。

2. 配置 iOS 项目

  • 启用 Apple Pay:在 Xcode 中,选择项目 Target → Signing & Capabilities → 点击 “+ Capability” → 添加 Apple Pay
  • 配置 Merchant ID:在 Apple 开发者中心创建 Merchant ID,并在 Xcode 的 Apple Pay 配置中勾选该 ID。

3. 初始化支付

在 Flutter 代码中导入包并初始化:

import 'package:in_app_purchase/in_app_purchase.dart';

void initPurchase() {
  final bool available = await InAppPurchase.instance.isAvailable();
  if (!available) {
    // 处理设备不支持支付的情况
  }
}

4. 获取商品列表

从 App Store Connect 配置商品后,通过以下代码获取:

const Set<String> _productIds = {'com.example.product1'};
ProductDetailsResponse response = await InAppPurchase.instance.queryProductDetails(_productIds);
if (response.notFoundIDs.isNotEmpty) {
  // 处理未找到的商品
}
List<ProductDetails> products = response.productDetails;

5. 发起购买

final PurchaseParam purchaseParam = PurchaseParam(
  productDetails: products[0],
  applicationUserName: null, // 可选用户标识
);
InAppPurchase.instance.buyConsumable(purchaseParam: purchaseParam);

6. 监听购买状态

final Stream<List<PurchaseDetails>> purchaseUpdates = InAppPurchase.instance.purchaseStream;
StreamSubscription<List<PurchaseDetails>> _subscription = purchaseUpdates.listen((purchases) {
  for (var purchase in purchases) {
    if (purchase.status == PurchaseStatus.purchased) {
      // 验证收据并交付商品
      _verifyPurchase(purchase);
    }
  }
});

7. 验证交易

建议在服务器端验证收据,确保交易安全。可参考 Apple 验证文档

注意事项:

  • 沙盒测试:使用 Apple 沙盒环境测试,无需真实付款。
  • 商品配置:确保在 App Store Connect 中正确配置商品。
  • 权限处理:根据应用需求处理权限和错误状态。

通过以上步骤,即可在 Flutter 应用中集成 Apple Pay。详细内容可查阅 in_app_purchase 文档

回到顶部