我正在尝试为我的braintree集成创建一个新的webhook端点。我在控制面板中添加了一个端点。我正在使用Python库并创建了一堆事务。此外,我使用测试网关手动确定了事务。但我没有收到webhook通知。何时触发了webhook并且I =有没有办法手动触发它?
答案 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和信用卡交易都会发生这种情况。
如果处理者拒绝解决销售或退款请求,并且结果不成功,则会发生这种情况。这可能由于多种原因而发生,但处理器结算响应代码可能包含有关交易被拒绝的原因的更多信息。同样,这种状态很少见,只有某些类型的交易可能会受到影响。
结算待定:
此状态表示交易尚未完全结算。此状态很少见,并不总是表明结算存在问题。只有某些类型的交易可能会受到影响。
- &GT; PayPal销售:
- &GT;信用卡,Android Pay和Apple Pay销售:如果您与我们联系以启用使用此状态的特定API功能,则只会看到和解待批准。
我希望能提供洞察力,阿尔班!如果出现进一步的问题,请告诉我们。
最佳, XXXXX。 Braintree的