Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php BraintreeWebhook方法_Php_Webhooks_Payment_Braintree_Braintree Sandbox - Fatal编程技术网

Php BraintreeWebhook方法

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["

我正在从Braintree获取一个Webhook。Webhook将返回一个成功,并创建日志文件。这是我正在使用的代码:

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”]
记录在某个地方。