Node.js中如何获取Stripe balance返回结果里的amount值?
获取Stripe余额数组中的amount值
首先明确Stripe返回的balance.available是对象数组,每个数组元素包含amount、currency等属性。你的写法问题出在对数组结构的错误访问,正确的获取方式如下:
正确写法示例
1. 遍历所有可用余额条目
如果需要获取所有可用余额的amount,直接遍历数组:
// 遍历available数组,逐个获取每个条目的amount balance.available.forEach(entry => { console.log('余额金额:', entry.amount); console.log('对应币种:', entry.currency); });
2. 获取单个条目(如第一个)
如果确认数组中只有一个余额条目,直接通过索引访问:
// 先判断数组是否有元素,避免索引越界 if (balance.available.length > 0) { const targetAmount = balance.available[0].amount; console.log('可用余额:', targetAmount); }
你的写法问题说明
const available = await balance.available;:无需使用await,balance已经是通过await stripe.balance.retrieve()获取的同步结果,balance.available是普通数组,不需要异步等待。balance.available[1]:你的available数组可能只有1个元素,索引应从0开始,使用1会超出数组范围得到undefined。available.amount:available是数组,不是单个对象,数组本身没有amount属性,必须访问数组内的具体元素才能获取该属性。
内容的提问来源于stack exchange,提问作者Samuel
相关产品推荐
相关产品推荐

