簡體   English   中英

PayPal Webhook 不發送 POST 數據

[英]PayPal Webhook sends no POST data

成功配置我的 PayPal webhook 以收到所有事件的通知。

當事件發生時,PayPal 調用我的 webhook(一個簡單的腳本)......但不發送任何 POST 數據......

除了$_SERVER當然所有 PHP 數組都是空的( $_POST, $_GET, $_REQUEST )。

到底是怎么回事? webhook 模擬器說事件已成功發送/排隊......

$_SERVER數組包含建議的HTTP_PAYPAL_...標頭和所有內容.... 但$_POST數組為空。

我的網絡鈎子是這樣寫的...

<?php

require ('./ace-includes/ace_log.php');

ace_log(print_r($_POST, true));
ace_log(print_r($_REQUEST, true));
ace_log(print_r($_GET, true));
ace_log(print_r($_SERVER, true));

ace_sendlog("NOTIFY SCRIPT CALLED");

?>

我想到了....

您不能使用 $_POST 來獲取數據....

數據包含在發送到腳本的 HTTP 文件中。

在這種情況下,您必須使用

file_get_contents('php://input');

獲取數據。

所以對於 PayPal PHP webhooks 你會這樣做....

$json = file_get_contents('php://input');
$data = json_decode($json);

這有效,現在我正在獲取所有數據。

這真的應該在某處記錄......任何地方......但它不是......並且對於初學者PHP程序員來說並不明顯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM