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

如何从Stripe获取有效货币列表?解决国际化支付校验问题

解决Stripe不支持货币的前置校验问题

一、自动化获取Stripe支持货币列表的方案

Stripe提供了官方API可直接拉取全量支持的货币列表,能实现完全自动化的校验逻辑:

  1. 调用Stripe REST API获取列表
    直接请求/v1/currencies端点,响应会包含所有支持的货币代码、名称等信息。示例curl命令:

    curl https://api.stripe.com/v1/currencies \
      -u sk_test_your_secret_key:
    
  2. 通过Stripe SDK调用
    用对应语言的SDK更便捷,比如Python示例:

    import stripe
    stripe.api_key = "sk_test_your_secret_key"
    
    # 获取全量支持货币
    currencies = stripe.Currency.list()
    # 提取货币代码列表用于校验
    supported_codes = [curr["code"] for curr in currencies.data]
    
  3. 缓存优化策略
    Stripe支持的货币列表更新频率极低(数月甚至更久才会调整),没必要每次校验都调用API。可以把拉取到的列表缓存到本地数据库、Redis或配置文件中,设置每天/每周自动同步一次即可。

二、前置校验的实现逻辑

在用户选择货币或进入支付流程前,直接对比用户选择的货币代码与缓存的支持列表:

  • 若不在列表内,立即在前端提示“该货币暂不支持在线支付,请选择其他货币”,阻断后续支付流程。
  • 若涉及多支付方式(如信用卡、本地转账),注意不同支付方式支持的货币可能存在差异,可针对每种支付方式调用PaymentMethod.list_supported_currencies接口获取对应列表,做更精准的校验。示例(Python):
    # 获取信用卡支持的货币列表
    card_currencies = stripe.PaymentMethod.list_supported_currencies(type="card")
    

三、其他从业者的常见处理方式

  • 地区关联过滤:结合用户IP或账户所属地区,只展示该地区常用且Stripe支持的货币,从源头减少用户选择不支持货币的概率。
  • 自动降级推荐:当用户选择的货币不支持时,自动推荐同区域的替代支持货币(比如用户选TRY但不支持时,推荐EUR或USD),并给出明确提示。
  • 兜底错误捕获:即使做了前置校验,仍保留支付环节的错误捕获逻辑,避免因Stripe临时调整货币列表导致的异常,此时给用户友好提示并引导切换货币。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:32:21