[英]How to retrieve customer email after creating order - Laravel & Shopify
當我創建訂單時,我的web-hook返回對我的控制器的響應,下面是我如何檢索訂單的詳細信息
調節器
public function getOrderDetails()
{
// get the content of request body
$order = $request->getContent();
$order = json_decode($order, true);
$order_id = $order['number'];
$order_total = $order['total_price'];
$customer_email = $order['customer.email'];
}
在我的控制器中,我能夠檢索order_id, order_total
但我無法收到下訂單的客戶的電子郵件。
我的代碼有什么問題?
這就是Shopify的響應方式
響應
{
"id": 820982911946154508,
"email": "jon@doe.ca",
"closed_at": null,
"created_at": "2018-10-26T13:55:26-04:00",
"updated_at": "2018-10-26T13:55:26-04:00",
"number": 234,
"note": null,
"customer": {
"id": 115310627314723954,
"email": "john@test.com",
"accepts_marketing": false,
"created_at": null,
}
}
您可以使用:
$customer_email = $order['customer']['email'];
1)您的json數據有錯誤。 你應該刪除之前的逗號(,)
2)下面的代碼工作正常
$order='{
"id": 820982911946154508,
"email": "jon@doe.ca",
"closed_at": null,
"created_at": "2018-10-26T13:55:26-04:00",
"updated_at": "2018-10-26T13:55:26-04:00",
"number": 234,
"note": null,
"customer": {
"id": 115310627314723954,
"email": "john@test.com",
"accepts_marketing": false,
"created_at": null
}
}';
// get the content of request body
$order = json_decode($order, true);
$order_id = $order['number'];
$order_total = $order['total_price'];
$customer_email = $order['customer']['email'];
echo $customer_email;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.