Checkout API Shopify-不添加任何帖子数据

问题描述 投票:0回答:1

我正在尝试使用Checkout API创建结帐,我的应用是销售渠道,并且具有“ writing_checkouts”的访问权限。该产品在销售渠道上列出,但是当我尝试创建结帐时,请求响应为200,返回一个完整的结帐对象,但是没有添加任何字段,如电子邮件,line_items或送货地址。这是示例代码:

     $field = array(
      "checkout"=>array(
        "email"=> "[email protected]",
        "line_items"=> array(array(
          "variant_id"=> 31520093667373,
          "quantity"=> 1
        )),
        "shipping_address"=> array(
          "first_name"=> "John",
          "last_name"=> "Smith",
          "address1"=> "126 York St.",
          "city"=> "Ottawa",
          "province_code"=> "ON",
          "country_code"=> "CA",
          "phone"=> "(123)456-7890",
          "zip"=> "K1N 5T5"
        )
      )
    );
    $data = json_encode($field);
    $url=$shopUrl.'/checkouts.json';
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_HTTPHEADER => array(
            "Authorization: Basic Og==",
            "accept: application/json",
            "content-type: application/graphql",
            "X-Shopify-Access-Token: ********************************",
        ),
        CURLOPT_POSTFIELDS=> $postFields
    ));    
    $response = curl_exec($curl);
    $err = curl_error($curl);    
    curl_close($curl);
    if ($err) {
        echo $err;
    } else {
        echo $response;
    }

这是我的回答:

{"checkout":
{"completed_at":null,
"created_at":"2019-12-24T00:02:15-05:00", 
"currency":"PKR",
"presentment_currency":"PKR",
"customer_id":null,
"email":null,
"name":"#11978400727085","note":"",
"order_id":null,
"order_status_url":null,
"subtotal_price":"0.00",
"token":"*******************************",
"total_price":"0.00",
"total_tax":"0.00",
"total_tip_received":"0.00",
"total_line_items_price":"0.00",
"updated_at":"2019-12-24T00:02:15-05:00",
"user_id":null,
"line_items":[],
"gift_cards":[],
"tax_lines":[],
"shipping_line":null,
"shipping_rate":null,
"shipping_address":null,
"credit_card":null,
"billing_address":null,
"applied_discount":null}
}
php shopify checkout shopify-app
1个回答
0
投票

订单项不是数组的数组。它们是对象的数组,或者换句话说,是哈希项的数组。请尝试发送对象数组,这样可能会更好。用JSON术语...您会看到[{},{},...],而您似乎正在执行[[],[],...],这很接近,但并不完全相同。

也许我缺少了某些东西,而PHP的术语是问题所在,但我认为array数组是错误的。

© www.soinside.com 2019 - 2024. All rights reserved.