Stripe集成SetupPaymentSheetParameters时ApplePay/GooglePay布尔值报错
解决Stripe PaymentSheet ApplePay/GooglePay参数类型不匹配问题
错误原因
你遇到的类型不匹配问题,是因为SetupPaymentSheetParameters中的applePay和googlePay参数不接受布尔值,它们的类型分别是PaymentSheetApplePay?和PaymentSheetGooglePay?,需要传入对应类的实例而非true/false。另外你的代码里还有语法错误:参数之间用了分号;,应该用逗号,分隔。
修正后的代码
void makePayment() async { // create payment intent // init payment Sheet // display payment sheet paymentIntentData = await createPaymentIntent(); await Stripe.instance.initPaymentSheet( paymentSheetParameters: SetupPaymentSheetParameters( paymentIntentClientSecret: paymentIntentData!['client_secret'], applePay: const PaymentSheetApplePay(), // 启用ApplePay googlePay: const PaymentSheetGooglePay(testEnv: true), // 启用GooglePay并设置测试环境 testEnv: true, merchantDisplayName: 'ANNIE', ), ); }
关键说明
- 如果不需要启用ApplePay/GooglePay,直接将对应参数设为
null即可 PaymentSheetGooglePay的testEnv参数用于指定是否使用测试环境,正式环境需设为false- 确保所有参数之间用逗号分隔,避免语法错误
内容的提问来源于stack exchange,提问作者Ashirwad Kumar
相关产品推荐
相关产品推荐

