0

根据此处的 Stripes 文档,如果您在获取余额交易列表时添加 Stripe 对象 ID 作为源,您应该获得与该 ID 相关的所有交易。(例如,按收费 ID 过滤将返回所有收费和退款交易)。

我已经尝试传入一个chargeId,并且确实取回了为该费用创建的初始余额交易,但是该费用还有2个与之相关的退款,这些退款未在列表中返回。我已经尝试过使用其他费用进行此操作,但似乎只能取回创建的初始余额交易,而不是任何其他交易(特别是文档说应该退还的退款)。我将限制设置为 100 项,我尝试使用 Stripe.Net API 和 PHP 调用并获得相同的结果。

我还尝试传入 customerId,看看我是否可以取回由客户触发的所有余额交易,在这些情况下,我根本无法取回任何结果。这些是触发了许多交易的客户!

我提供给 API 的参数如下:

Method:     balance/list
Parameters: limit=100
            source=[chargeId or customerId that has triggered multiple transactions]

我的问题是:这是 API 中的错误,文档是否不正确,或者我缺少重要的参数或方面。我还从 30 多天前开始恢复收费,以确保它与滚动转移/待定/可用性周期无关。

事实上,您只能取回由 ChargeId 创建的初始交易,而不能取回其他任何东西。有人有这方面的经验吗?提前致谢!

4

2 回答 2

0

看起来这确实是 Stipe 文档中的错误或错误。我已将此情况报告给 Stripe,并且刚刚从支持团队的某个人那里收到以下消息:

您好,感谢您与我们联系并提醒我们注意此问题!这看起来像是我们文档中的错误或错误。我已经与我的团队分享了这个问题,我们正在调查这个问题。感谢您使用 Stripe,如果还有其他我们可以提供的帮助,请告诉我!

一旦我收到 Stripe 的更新或解决方案,我将更新此线程。

于 2015-02-27T21:19:45.633 回答
0

我的预感是这不是错误:Stripe 行为在技术上是正确的。BalanceTransaction API 将返回该特定费用的所有 txn,这只是一个 txn。与费用退款相关的 txns 在技术上与这些退款对象相关联,而不是费用。同样的逻辑也适用于争议/拒付。

这是一些(未经测试!)ruby 代码,演示了如何获取所有 txns 以收取费用:

def balance_transactions_for_charge(stripe_charge_id)
  balance_transactions = []

  charge = Stripe::Charge.retrieve(stripe_charge_id)
  balance_transactions << charge.balance_transaction

  balance_transactions += charge.refunds.data.map do |refund|
    refund.balance_transaction
  end

  if charge.dispute
    dispute = Stripe::Dispute.retrieve(charge.dispute)
    # fairly certain that the dispute txn list includes the full object, not just IDs
    balance_transactions += dispute.balance_transactions.data.map(&:id)
  end

  balance_transactions.map { |txn_id| Stripe::BalanceTransaction.retrieve(txn_id) }
end
于 2017-03-03T19:52:34.143 回答