我正在将Braintree支付选项整合到一个网站中,目前在沙盒中。设置很简单,文档帮助很多,但我对一件事感到困惑。
当我提交交易作为结算时,它会处理交易并在控制面板中的交易中显示,但它永远不会结算。我想知道如何确定客户是否收费,以便我能够提供他所要求的服务。
如果金额没有结算,我已交付产品,那么对我的客户来说这将是一个问题。
它显示所有交易,包括paypal。 请参阅随附的屏幕截图。
我正在使用的代码:
var request = new TransactionRequest
{
Amount = 33.22,
PaymentMethodNonce = nonce,
OrderId = CustomerOrderId,
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
}
};
答案 0 :(得分:1)
通常BrainTree在一段时间内解决所有交易(可能需要一天)。
submitted_for_settlement:这意味着交易已经结算,但不会在交易发生时立即解决。
真正的结算发生在支付下,每天运行,在这里他们将支付所有处于 submitted_for_settlement 状态的交易,并且仅在此过程中
我建议您在应用程序中添加支付Webhook ,这有助于您从braintree获取支付的所有详细信息。
不要忘记保存付款ID 值,您只能从支付webhook 获取该值。我们无法在他们的控制台中看到支付ID。
使用支付ID - 此ID将在买方 CC结算
中要实现此目的,请按照此文档进行操作。