如何在沙盒中触发用于事务结算的webhook?

时间:2016-02-17 00:12:58

标签: braintree

我正在尝试为我的braintree集成创建一个新的webhook端点。我在控制面板中添加了一个端点。我正在使用Python库并创建了一堆事务。此外,我使用测试网关手动确定了事务。但我没有收到webhook通知。何时触发了webhook并且I =有没有办法手动触发它?

3 个答案:

答案 0 :(得分:6)

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

当交易结算时,Transaction -> Disbursed webhook会触发,而braintree已开始将资金从其帐户转移到您的帐户。虽然在控制面板中手动结算交易将启动该过程,但它不会立即触发webhook。

没有任何方法可以手动触发此操作,而是braintree具有sample payloads以及在控制面板中触发"Check" webhook的方法。

要回答评论中的问题,这种类型的webhook不包括无效交易。

答案 1 :(得分:3)

我也向Braintree支持提出了类似的问题,即使我决定使用Stripe(我在所有测试后发现条纹好得多),答案也可能对其他人有用(。)

<强>问题

嗨,

刚刚整合了Braintree,但无法找到我应该如何获得交易确认(意味着它已被正确“收费”)。当我创建一个'transaction.sale'(包括submitForSettlement)时,我总是得到(沙盒)一个响应,表明状态'已提交以进行结算',并且该事务不会在Braintree全局处理之前进行结算(在晚上,等等。)。我也找不到相关的webhook来获得付款确认(因为我目前使用PayPal - IPN)。

何时/如何获得付款确认,以便我可以“交付”所购买的商品?通过检查您的文档,就像您在第二天之前无法得到确认...它是如何工作的?

谢谢!

<强>答案

嗨Nacho,

感谢您的联系!

Braintree交易经历了几个步骤,其中第二个步骤被提交以进行结算。这意味着资金已经开始从客户账户转移,并且是提交后交易的直接状态;它是不可能立即得到解决的&#39;或者&#39;完成&#39;提交状态。此州的交易通常会在24小时内转为结算,然后结算,但这取决于您的处理银行。

交易在从提交结算转为结算时失败是非常不寻常的,因为在提交结算之前该数额将被授权。授权交易意味着资金在客户账户中被搁置一段时间,具体取决于付款方式,直到结算为止。我们立即得到处理银行的回复,说明授权是否成功,您将在Braintree_Transaction响应对象中看到。

因此,您通常可以依赖提交的结算状态来反映有效的成功交易。

我们不为交易提供webhooks - 相反,我们的API旨在通过响应对象提供即时反馈。因此,我们仅为异步事件提供webhook,这些事件不会被API调用触发(例如对订阅进行计费或支付资金)。除了我们的报告系统和全面的搜索调用选项外,我们还鼓励客户使用我们的API响应,以获得他们所需的任何额外功能。

如果您想提取交易的更新状态,例如确认付款已经结算,您可以使用Transaction.find()API请求,传入事务ID并从响应对象中读取状态。这可以很容易地作为脚本运行,该脚本遍历前几天的事务ID并每天更新每个事务ID的状态。

我希望这能更清晰地解释交易过程并为您提供一些选择!

亲切的问候, Braintree的

以防它有帮助!

答案 2 :(得分:0)

我还向Braintree提出了同样的问题我得到了相同的答案,用Transaction :: find()检查交易,然后询问在SUBMITTED_FOR_SETTLEMENT状态后交易没有解决的可能性,这里是回应,非常明确和完整:

嗨Alban,

感谢您与我们联系!很乐意提供帮助。

结算被拒:

在极少数情况下,已提交结算的交易将达到和解状态。对于销售,这只会在PayPal交易中发生。对于退款,PayPal和信用卡交易都会发生这种情况。

如果处理者拒绝解决销售或退款请求,并且结果不成功,则会发生这种情况。这可能由于多种原因而发生,但处理器结算响应代码可能包含有关交易被拒绝的原因的更多信息。同样,这种状态很少见,只有某些类型的交易可能会受到影响。

  • PayPal销售:我们建议在向客户发货或提供服务之前检查所有PayPal销售交易的结算状态。要减少这些类型的拒绝,请在创建时或在创建后的3天内提交您的PayPal交易以进行结算。
  • PayPal退款:我们建议您与PayPal联系,了解有关已解决的退款的详细信息。
  • 信用卡退款:与授权一样,结算拒绝可能很难或很软。在支持立即拒绝退款回复的地区,如果处理者的反应严重下降,我们将退回结算。

结算待定:

此状态表示交易尚未完全结算。此状态很少见,并不总是表明结算存在问题。只有某些类型的交易可能会受到影响。

- &GT; PayPal销售:

  • 如果使用多个部分结算:结算待定是交易流程的正常部分。父权限将保持此状态,直到所有子事务都已结算或授权到期为止。有关详细信息,请参阅多个部分结算参考。
  • 如果不使用多个部分结算:几乎所有结算待定PayPal交易都将在没有干预的情况下结算,因此我们始终会返回成功的结果。一般情况下,我们会在几天内将这些内容更新为已结算,因为我们会通过PayPal确认其状态。在极少数情况下,我们无法解决结算等待交易,我们会与您联系以解决问题。

- &GT;信用卡,Android Pay和Apple Pay销售:如果您与我们联系以启用使用此状态的特定API功能,则只会看到和解待批准。

我希望能提供洞察力,阿尔班!如果出现进一步的问题,请告诉我们。

最佳, XXXXX。 Braintree的