簡體   English   中英

如何在創建訂單后檢索客戶電子郵件 - Laravel&Shopify

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM