Flutter集成Google Pay与flutter_stripe时遇Invalid token ID错误
解决Google Pay集成flutter_stripe时的"Invalid token ID"问题
1. 检查Google Pay Tokenization配置
首先确认Pay插件的Google Pay配置中,已正确设置Stripe作为网关,否则生成的token无法被Stripe识别:
final googlePayConfig = GooglePayPaymentConfiguration( environment: GooglePayEnvironment.test, merchantId: '你的商户ID', gateway: 'stripe', // 必须设置为stripe stripe: const StripeParameters( publishableKey: 'pk_test_你的测试公钥', countryCode: 'CN', // 对应你的支付地区 ), );
2. 修正Token解析逻辑
Pay插件返回的token可能是**Stripe Payment Method ID(pm_开头)**而非传统的tok_开头的token,此时不需要使用cardFromToken,直接用PaymentMethodParams.id传入:
final token = paymentResult['paymentMethodData']['tokenizationData']['token']; // 跳过json.decode,直接使用token值作为payment method ID final params = PaymentMethodParams.id( paymentMethodId: token, ); await Stripe.instance.confirmPayment( paymentIntentClientSecret: clientSecret, data: params, );
如果打印token发现是JSON字符串,解析后检查type字段:
final token = paymentResult['paymentMethodData']['tokenizationData']['token']; final tokenJson = json.decode(token); // 如果type是payment_method,用id字段 if (tokenJson['type'] == 'payment_method') { final params = PaymentMethodParams.id( paymentMethodId: tokenJson['id'], ); await Stripe.instance.confirmPayment( clientSecret: clientSecret, data: params, ); } // 如果是token类型,再用cardFromToken else if (tokenJson['type'] == 'card') { final params = PaymentMethodParams.cardFromToken( paymentMethodData: PaymentMethodDataCardFromToken( token: tokenJson['id'], ), ); await Stripe.instance.confirmPayment( clientSecret: clientSecret, data: params, ); }
3. 验证Token有效性
可以通过Stripe API验证拿到的token是否有效(使用测试密钥):
# 测试tok_开头的token curl https://api.stripe.com/v1/tokens/tok_xxx \ -u sk_test_你的测试密钥: # 测试pm_开头的payment method curl https://api.stripe.com/v1/payment_methods/pm_xxx \ -u sk_test_你的测试密钥:
如果返回404,说明生成的token不是Stripe的有效凭证,大概率是Google Pay配置错误导致的。
4. 确认Payment Intent配置
服务器端创建Payment Intent时,需确保:
- 货币类型与Google Pay配置的
countryCode匹配 - 金额单位是最小货币单位(比如人民币为分,美元为美分)
- 测试模式下使用Stripe测试卡片(Google Pay测试可使用4242 4242 4242 4242等)
内容的提问来源于stack exchange,提问作者rya
相关产品推荐
相关产品推荐

