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

Rails集成Stripe Tax批量传入订单项报错求助

解决思路

问题出在Ruby的each方法上——each遍历集合后返回的是原集合本身(也就是@cart.cart_line_items这个ActiveRecord集合),而不是你在块里创建的哈希数组。当Stripe API解析这个集合对象时,会识别出它的内部属性(比如v1这类框架相关字段),从而抛出"received unknown parameter: v1"的错误。

替换成map方法就能解决,map会收集块中每个迭代的返回值,生成你需要的哈希数组:

line_items: @cart.cart_line_items.map do |item|
  {
    amount: item.subtotal,
    reference: item.name
  }
end

额外注意点

  • 确保item.subtotal是最小货币单位(比如美元用分、人民币用分),Stripe API要求amount必须以最小单位传入,否则会出现计算错误。
  • 块内的哈希最后一个键值对后面不需要加逗号,Ruby会自动处理语法,避免不必要的语法问题。

内容的提问来源于stack exchange,提问作者Tony S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:54:51