调用 Transaction.SubmitForPartialSettlement 时出现 AuthorizationException

AuthorizationException when calling Transaction.SubmitForPartialSettlement

尝试提交部分结算交易时,我收到以下异常 + 消息:

Exception of type 'Braintree.Exceptions.AuthorizationException' was thrown.

没有别的可以解释我哪里出错了。

这就是我拨打 API 电话的方式:

BraintreeHandler.Gateway.Transaction.SubmitForPartialSettlement(“transaction_id”, amount);

我知道交易 ID 是正确的,因为我事先加载了交易信息。我也总是使用少于交易总额的金额。

BraintreeHandler.Gateway.Transaction.SubmitForSettlement(“transaction_id”, amount);

以上对一定金额有效,但我不想提交交易进行结算,因为我想保留部分结算的能力。

例如: 如果我的交易金额为 50 英镑,状态为 "Authorized",我希望能够以 20 英镑结算,在三个不同的场合分别花费 20 英镑和 10 英镑。使用 SubmitForSettlement() 方法,在状态更新为 "Submitted for Settlement" 之前,我只能支付最初的 20 英镑。之后我不能再进行部分结算了。

关于 SubmitForPartialSettlement() 方法的信息在 Braintree 开发者网站上的 Transaction 文档中明显缺失。该方法是否已被弃用?如果没有,我该如何使用它?

完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系 support.

SubmitForPartialSettlement 是目前正在测试的功能,目前并非对所有商家都可用。如果您想请求为您的帐户启用多个部分结算,请联系 Braintree support 或您的客户经理。

目前,您在SubmitForSettlement中有正确的解决方案,传入小于或等于交易金额的amount。您将只能结算一次。