条纹加工费

问题描述 投票:0回答:2

我正在努力寻找条纹加工费。根据我的研究,条带处理费可以在余额交易对象中找到。 BalanceTransaction 对象可以在费用对象中的 PaymentIntent 中扩展,因此当使用支付意图 api 获取它时,我们可以在响应中扩展

BalanceTransaction
对象。

但是,我在付款意向响应中得到

BalanceTransaction
的零值。 我正在使用条纹测试模式。 我做了更多研究,我发现可能有多种原因。

  1. 测试模式可能存在一些限制,并且在测试模式下不会创建 BalanceTransaction。
  2. Stripe 帐户设置,帐户的配置方式使得 stripe 不会创建该对象。

我正在使用 stripty_stripe 包,并尝试以这种方式检索

BalanceTransaction

Stripe.PaymentIntent.retrieve("pi_3N6CwERjTBykGSI00hRClHKK", [connect_account: "acct_1LQdkARjTBykGSI0", expand: ["charges.data.balance_transaction"]])

我需要你的想法。我需要做什么,如何在条带测试模式下获得它。

stripe-payments elixir
2个回答
4
投票

BalanceTransaction 对象可以在 PaymentIntent 中扩展,因此当使用支付意图 api 获取它时,我们可以扩展 BalanceTransaction 对象作为响应。

它是 Charge 对象的字段,而不是 PaymentIntent。这里有关于如何获取费用的文档:https://stripe.com/docs/expand/use-cases#stripe-fee-for- payment

测试模式可能存在一些限制,并且在测试模式下不会创建 BalanceTransaction。

没有此类限制,测试模式下费用返还方式与直播中相同。

Stripe 帐户设置,帐户的配置方式使得 stripe 不会创建该对象。

也许吧!您最好向 Stripe 支持人员询问您正在查看的确切 PaymentIntent 对象。一个常见的原因可能是您正在使用 auth-and-capture(

capture_method=manual
),在您捕获 BalanceTransaction 之前不会创建它。某些付款方式类型也可能会延迟创建,或者您的 Stripe 帐户可能有一些特殊之处。您需要直接向 Stripe 询问可靠的答案。


0
投票

我想在@karllekko的答案中添加一点,capture_method是控制balance_transaction何时返回的参数。 可能有 3 个值

capture_method=manual
capture_method=automatic
capture_method=automatic-async

capture_method=automatic
将自动返回包含所有数据的balance_transaction。

capture_method=automatic-async
将首先返回balance_transaction
null
,几秒钟后,它将被填充条纹费用。所以需要回调stripe.PaymentIntent.retrieve来获取stripe费用数据

使用

capture_method=manual
,您应该首先调用 stripe.PaymentIntent.capture,然后在
balance_transaction

中获取条纹费用
© www.soinside.com 2019 - 2024. All rights reserved.