【发布时间】:2018-11-07 12:04:16
【问题描述】:
在我的教程中,我意识到我能够在除orders/delete 之外的每个事件期间获取订单的编号/ID。在下面的控制器中,我尝试检索订单号,就像我为每个主题 ('orders/create', 'orders/paid')etc 所做的那样,但随后我收到一条错误消息:
未定义的索引:控制器中的数字
控制器
public function registerOrderDeleteWebhook()
{
$shop = Auth::user()->site;
$token = Auth::user()->access_token;
$shopify = Shopify::setShopUrl($shop)->setAccessToken($token);
Shopify::setShopUrl($shop)->setAccessToken($token)->post("admin/webhooks.json", ['webhook' =>
['topic' => 'orders/delete',
'address' => 'https://example.domain.com/order-delete-webhook',
'format' => 'json'
]
]);
}
public function orderDeleteWebhook(Request $request)
{
$order = $request->getContent();
$order = json_decode($order, true);
$order_id = $order['number'];
//send notification to Admin with order number deleted below
}
为什么只有orders/delete会发生这种情况?
【问题讨论】:
-
您是否尝试转储您的
$request和$order变量?你能把调用orderDeleteWebhook函数的那部分代码放上去吗? -
@gomd,部分代码已经存在了。当用户在shopify上删除订单时,post请求被发送到地址
https://example.domain.com/order-delete-webhook,触发orderDeleteWebhook -
好的,那么,您可以尝试使用
var_dump函数转储您的$request和$order变量吗?为了查看问题是否在于您提出请求的方式或您如何解释请求。
标签: php laravel shopify webhooks