Php BraintreeWebhook方法
我正在从Braintree获取一个Webhook。Webhook将返回一个成功,并创建日志文件。这是我正在使用的代码:Php BraintreeWebhook方法,php,webhooks,payment,braintree,braintree-sandbox,Php,Webhooks,Payment,Braintree,Braintree Sandbox,我正在从Braintree获取一个Webhook。Webhook将返回一个成功,并创建日志文件。这是我正在使用的代码: if( isset($_POST["bt_signature"]) && isset($_POST["bt_payload"])){ $webhookNotification = \Braintree_WebhookNotification::parse( $_POST["bt_signature"], $_POST["
if( isset($_POST["bt_signature"]) && isset($_POST["bt_payload"])){
$webhookNotification = \Braintree_WebhookNotification::parse(
$_POST["bt_signature"], $_POST["bt_payload"]
);
$message = "[Webhook Received "
. $webhookNotification->timestamp->format('Y-m-d H:i:s') . "] "
. "Kind: " . $webhookNotification->kind . " | "
. "Payment ID: " . $webhookNotification->localPaymentCompleted->paymentId . "\n";
file_put_contents("/tmp/webhook.log", $message, FILE_APPEND);
// if everything went fine, send confirmation to the buyer
$this->artikelRepository->sendConfirmationAction(null, $webhookNotification->localPaymentCompleted->paymentId);
}
要确认付款,我需要本地付款的paymentId
。我尝试了各种方法,但这应该是可行的:$webhookNotification->localPaymentCompleted->paymentId
日志文件将返回以下内容:
如何在webhook函数中检索本地付款的付款ID
更新:我刚刚注意到我们使用了一个完全过时的SDK。我们尝试使用的函数甚至没有添加到旧版本中。您应该转储
$webhookNotification
的值,并确保它包含您认为的功能。@ceejayoz但是,如果我不知道返回了什么数据,调试webhook的最佳方法是什么?BraintreeAPI文档在这方面真的很糟糕。我试图通过电子邮件和我的帖子中提到的日志文件向我发送输出。我无法处理任何问题,也无法洞察答案。这就是问题所在。转储$webhookNotification
的值允许您查看发送给您的数据。@ceejayoz我理解转储输出的含义以及它的好处。问题是:怎么做?var_dump($webhookNotification)不起作用,发送带有json_解码的电子邮件或任何内容都不会返回任何结果。因此,我不确定如何转储响应对象。我将把原始的$\u POST[“bt\u payload”]
记录在某个地方。