[英]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.