我使用stymiee/authnetjson
库在沙盒环境中使用和验证 authorize.net webhook。
我可以验证我的标题包括
X-ANET-Signature: sha512=C3CC15F7801AA304C0840C85E4F0222A15338827EE3D922DC13A6BB99DF4BFE7D8E235A623480C0EAF3151F7B008E4DFBFDC6E9F493A6901961C5CFC10143289
我的 json 身体是
{"notificationId":"c5933ec1-2ef6-4962-a667-10552d19c481","eventType":"net.authorize.payment.authcapture.created","eventDate":"2018-01-20T20:36:54.9163559Z","webhookId":"66cf7109-f42f-45b9-bf36-f1ade83eac48","payload":{"responseCode":1,"authCode":"37ATT8","avsResponse":"Y","authAmount":550.00,"entityName":"transaction","id":"60038744863"}}
我设置了一个签名密钥,这一切似乎都是正确的,并且与库测试中的类似
我的代码如下所示:
$signature_key = "...";
$headers = getallheaders();
$payload = file_get_contents("php://input");
$webhook = new JohnConde\Authnet\AuthnetWebhook($signature_key, $payload, $headers);
if ( ! $webhook->isValid() ) {
error_log("Payload not valid");
}
我也尝试$headers
从构造函数 args 中删除参数
当我执行测试事务时,它是无效的,所以我在日志中得到“有效负载无效”。我该如何调试这个问题?
谢谢!NFV