【问题标题】:Stripe payment in INR (Indian rupee) issueINR(印度卢比)发行的条纹支付
【发布时间】:2015-12-31 13:55:01
【问题描述】:

我正在测试条带支付网关。如果我尝试以 INR(印度卢比)支付,金额将无法正确转换为美元。在我的代码中,如果我使用断点进行调试,我得到的金额是 610 并且货币代码是 INR 但在处理付款时出现错误说明:

com.stripe.exception.InvalidRequestException: Amount must convert to at least 50 cents. ₹6.10 converts to approximately $0.09.

它应该是 ₹610.00,但它需要 ₹6.10。我无法弄清楚为什么?这是条带中的错误吗?

【问题讨论】:

  • 对于非零十进制货币,Stripe 的 API 中的金额需要以美分传递,因此如果要收取 ₹610.00,则需要传递值 61000
  • 我正在测试的应用程序可以接受来自许多国家的货币。那么我是否需要编写自定义代码来将印度卢比 (INR) 等货币转换为派萨(其中 1 卢比 = 100 派萨)? Stripe 不是在内部处理它吗?
  • 对于support.stripe.com/questions/… 提到的货币,您不需要乘以 100(以美分为单位),否则对于非零十进制货币,您必须将金额乘以 100。通过的金额必须是整数值。

标签: stripe-payments


【解决方案1】:

这不是条带错误。这是一个条纹功能。基本上显示此错误是因为条带交易所需的最低金额为 50 美分。无论您使用哪种货币类型,Stripe 都会要求您将金额转换为最低面额。只需将金额转换为最小的钱。例如, 1 卢比等于 100 派萨。因此,当您收取 610 INR 条纹时,请将其视为派萨而不是卢比。所以你必须将金额乘以 100,即 610 * 100 (1 INR)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 2011-12-25
    • 2017-09-14
    • 2012-07-29
    • 2021-08-02
    • 2020-12-30
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多