如何接收Shopify Webhook?

时间:2019-01-23 09:25:50

标签: webhooks shopify-app

下面是我的代码。
    

define('SHOPIFY_APP_SECRET', 'xxxxxxxxxx');

function verify_webhook($data, $hmac_header)
{
  $calculated_hmac = base64_encode(hash_hmac('sha256', $data, SHOPIFY_APP_SECRET, true));
  return hash_equals($hmac_header, $calculated_hmac);
}


$hmac_header = $_SERVER['HTTP_X_SHOPIFY_HMAC_SHA256'];
$data = file_get_contents('php://input');
$verified = verify_webhook($data, $hmac_header);

echo "<pre>";
print_r($data);
exit;   

?>

我已经注册了该应用程序/未安装的Webhook。 这是我的代码,但未收到任何响应

1 个答案:

答案 0 :(得分:0)

我知道这是一个迟来的答案。但是可能对将来登陆这里的未来用户有所帮助。您忘记了将response所获得的uninstall webhook保存到某个地方。考虑将response保存到文件。这是要保存的php代码。保存响应后,您可以阅读或进行后续处理。

file_put_contents($newFileName, $data);

此外,仅当HMAC hash与您从api获得的匹配时,保存响应。您可以获得domain name并为其触发了topic api。下面是代码。做必要的工作。

$domain = $_SERVER['X-Shopify-Shop-Domain'];
$topic = $_SERVER['X-Shopify-Topic'];

如果您需要更多详细信息,请告诉我。谢谢