go - 如何使用 Go API 获取 Stripe Invoice 的确切应付金额而不是整数金额?

标签 go stripe-payments

<分区>

使用 Stripe Go 库,在列出特定客户的发票时,该发票的到期金额为 1000 美元,而实际上应为 10.00 美元(在 Stripe 仪表板中可以看到)。

我假设这是因为 Invoice 结构中的 AmountDue 字段是一个 int64 ( https://github.com/stripe/stripe-go/blob/master/invoice.go#L204 ),并且它在转换过程中丢失了小数部分,但是有没有办法获得确切的金额?

这就是我查询发票的方式:

  params := &stripe.InvoiceListParams{}
  params.Filters.AddFilter("limit", "", "100")
  params.Filters.AddFilter("customer", "", stripeCustomerId)
  i := invoice.List(params)
  for i.Next() {
    i := i.Invoice()

    invoice := BillingModels.Transaction{
      Id:         i.ID,
      Amount:     i.AmountDue,
    }   

    invoices = append(invoices, invoice)
  }

最佳答案

AmountDue 字段以美分为单位,所有 Stripe 字段也是如此,因此它们应存储为整数。这在处理金钱时很常见。切勿对货币使用 float 。

https://stripe.com/docs/api/invoices/object#invoice_object-amount_due

关于go - 如何使用 Go API 获取 Stripe Invoice 的确切应付金额而不是整数金额?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56828863/

相关文章:

go - golang 中无效的内存地址或 nil 指针取消引用

go - 如何使用互斥体记录结构

go - Go 中的 Data Race 和 Condition 有什么区别?

arrays - 去模板绑定(bind)常量数组值

linux - getuid/geteuid 奇怪的行为

php - 如何将电子邮件字段添加到 Stripe 结帐以进行一次性付款

javascript - 给定代码的 Stripe 元素不显示自定义付款表单

python - 如何在 Django 上配置 Stripe Connect 以收取交易费用?

stripe-payments - 如何将现有的 Stripe 账户连接到我的平台账户?

java - 如何在Stripe中更新客户默认的PaymentMethod?