You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS集成Stripe PaymentSheet报Cannot find type 'configuration' in scope错误如何解决

问题排查与解决方案

根本原因

你不需要手动复制Stripe SDK内部的PaymentSheet.swift源码到自己的项目中,Stripe iOS SDK已经内置了完整的PaymentSheet公开实现,你单独拷贝单个源码文件会缺失大量SDK内部依赖的类型、扩展和实现,从而触发所有你看到的编译报错。

修复步骤

  • 第一步:删除你当前自定义的这个PaymentSheet类文件,完全依赖SDK提供的官方实现。
  • 第二步:确认你的Stripe iOS SDK集成版本和你参考的v21.8.1一致,如果使用CocoaPods集成,在Podfile中添加如下配置后重新执行pod install:
pod 'Stripe', '21.8.1'
  • 第三步:直接调用SDK公开的PaymentSheet API即可完成支付逻辑,参考示例代码:
import UIKit
import Stripe
import Firebase

class YourPaymentViewController: UIViewController {
    func startPayment(clientSecret: String) {
        // 构造PaymentSheet配置
        var config = PaymentSheet.Configuration()
        config.merchantDisplayName = "你的业务名称"
        // 可选配置Apple Pay
        // config.applePay = .init(merchantId: "你的苹果支付商户ID", merchantCountryCode: "CN")
        
        // 初始化PaymentSheet
        let paymentSheet = PaymentSheet(
            paymentIntentClientSecret: clientSecret,
            configuration: config
        )
        
        // 弹出支付页处理结果
        paymentSheet.present(from: self) { result in
            switch result {
            case .completed:
                // 处理支付成功逻辑
                print("支付完成")
            case .canceled:
                // 处理用户取消逻辑
                print("用户取消支付")
            case .failed(let error):
                // 处理支付失败逻辑
                print("支付失败: \(error.localizedDescription)")
            }
        }
    }
}
  • 所有你遇到的Cannot find type类报错、presentPanModal不存在的报错都会随着你删除自定义的PaymentSheet类、直接调用SDK公开API而消失。

内容的提问来源于stack exchange,提问作者askit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:39:00