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

如何在flutter_stripe中获取Stripe支持的货币列表?

能否通过flutter_stripe获取Stripe支持的货币列表?

答案:flutter_stripe本身没有提供直接获取Stripe支持货币列表的客户端API,因为该列表属于Stripe维护的静态数据,且flutter_stripe的定位是处理客户端支付交互,而非调用Stripe的管理类API。你可以通过以下两种方式实现需求:

方式一:直接使用静态货币列表

Stripe支持的货币列表变动频率极低,你可以从Stripe官方文档中提取完整列表,将其定义为Flutter项目中的常量直接使用:

// 示例:定义Stripe支持的货币常量列表(含代码与名称)
const List<Map<String, String>> stripeSupportedCurrencies = [
  {'code': 'AED', 'name': '阿联酋迪拉姆'},
  {'code': 'AFN', 'name': '阿富汗阿富汗尼'},
  {'code': 'ALL', 'name': '阿尔巴尼亚列克'},
  // 省略其余货币,完整列表可参考Stripe官方文档
];

使用时直接遍历该列表即可,后续定期核对Stripe文档更新列表即可。

方式二:通过后端代理调用Stripe API

如果需要实时获取最新列表,可通过自己的后端服务调用Stripe的/v1/currencies API,再由Flutter客户端请求后端接口获取数据:

后端示例(Node.js + Stripe SDK)

const stripe = require('stripe')('your_stripe_secret_key');

app.get('/stripe-currencies', async (req, res) => {
  try {
    const currencies = await stripe.currencies.list();
    res.json({ currencies: currencies.data.map(c => c.code) });
  } catch (err) {
    res.status(500).json({ error: err.message });
  }
});

Flutter客户端请求代码

import 'dart:convert';
import 'package:http/http.dart' as http;

Future<List<String>> fetchStripeCurrencies() async {
  final response = await http.get(Uri.parse('https://your-backend-domain.com/stripe-currencies'));
  
  if (response.statusCode == 200) {
    final Map<String, dynamic> data = json.decode(response.body);
    return List<String>.from(data['currencies']);
  } else {
    throw Exception('获取货币列表失败');
  }
}

注意事项

  • 静态列表方式适合大多数场景,无需额外后端开发,维护成本低;
  • 后端代理方式需确保你的Stripe密钥拥有足够权限,且建议对接口做缓存处理,避免频繁调用Stripe API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:01:00