【问题标题】:How to access Authorize.net webhook payload values如何访问 Authorize.net webhook 有效负载值
【发布时间】:2017-05-12 17:53:22
【问题描述】:
我已经为我的 authorize.net 沙盒帐户设置了 webhook。
当任何事件发生时,我都会得到 webhook。但我在 $_POST 或 $_GET 或 $_REQUEST
中找不到任何内容
我已尝试读取 PHP 输入流
$webhook = fopen('php://input' , 'rb');
while (!feof($webhook)) {
$webhookContent .= fread($webhook, 4096);
}
fclose($webhook);
但是,我仍然无法获取有效负载变量。
请帮助我识别 authorize.Net 如何发送有效负载变量!
【问题讨论】:
标签:
php
webhooks
authorize.net
authorize.net-webhooks
【解决方案1】:
如果您试图在代码中显示内容以确保来自 Authorize.net 的响应,那么这无法解决您的问题,除非您将响应存储在某处,否则您可能无法确定。请尝试这两种方法中的任何一种。
- 放置数据库连接并插入查询(或)
- 通过 file_put_contents($filename,$webhookContent) 将获得的响应插入文件中
在 while 循环结束后立即执行任一步骤,并在 1 或 2 分钟后返回,您将根据上述方法在数据库或创建的文件中找到响应。
【解决方案2】:
获取头参数:$headers = getallheaders();
获取有效载荷:$payload = file_get_contents("php://input");
编码负载 - $response= json_encode($payload);
编码头参数:$headersresponse = json_encode($headers);
Payload 将包含 responseCode,authCode,authAmount,entityName,notificationId 等参数