关于Stripe SetupIntent美元关联账户自动显示SEPA支付方式的技术问询
解决Stripe SetupIntent自动过滤不适用支付方式的问题
核心解决方法:指定交易货币参数
你当前的代码未设置交易货币,导致Stripe无法结合场景自动筛选支付方式。只需在创建SetupIntent时添加setCurrency并传入对应货币代码(比如美元用usd),Stripe就会自动根据货币类型过滤掉不适用的支付方式(例如SEPA仅支持欧元区相关货币,美元交易下会自动隐藏)。
修改后的代码示例
SetupIntentCreateParams.Builder paramsBuilder = SetupIntentCreateParams.builder() .setCustomer(customer.getStripeId()) .setAutomaticPaymentMethods(AutomaticPaymentMethods.builder() .setEnabled(true) .build()) .setOnBehalfOf(stripeConnectedAccountId) .setUsage(SetupIntentCreateParams.Usage.OFF_SESSION) .setCurrency("usd"); // 新增:指定交易货币
补充说明
- 针对不同地区的关联账户,需根据实际交易场景传入对应货币代码(欧元用
eur,澳元用aud)。 - 即使关联账户后台启用了多种支付方式,Stripe会结合
currency、客户所在地区等维度自动筛选出适配的选项,无需手动在账户后台禁用支付方式。
内容的提问来源于stack exchange,提问作者puelo
相关产品推荐
相关产品推荐

