WooCommerce API:创建订单和结帐

时间:2015-12-08 04:37:48

标签: android wordpress api woocommerce checkout

我正在尝试做什么

我想为我的Woocommerce网站制作一个原生Android APP (不是HTML5 / Jquery手机)。我正在尝试使用kloon/WooCommerce-REST-API-Client-Library设置API。

到目前为止,我设法检索了产品,优惠券,客户,订单等的列表......我可以用来在我的Android应用中显示。

现在我想在Android应用程序中复制添加到购物车/结帐流程,但似乎这个库不提供此类工作流程的功能。

我的问题

如何在Android应用中使用REST API实现以下工作流程? (类似于网站结帐流程)

流速:

  1. 加入购物车
  2. enter image description here enter image description here

    1. 查看购物车并更新订单
    2. enter image description here

      1. 退房并确认
      2. enter image description here enter image description here

        如果我错过任何API调用,请告诉我。

        如果某人已经达到此目的,请发布您的资源和评论。 任何样本代码/库/辅助类链接都会受到极大关注。

        谢谢!

2 个答案:

答案 0 :(得分:2)

如果您尝试阅读example.php并读取lib文件夹中的所有php文件,我认为您可以实现所有这些......

example.php有类似的内容:

// orders
//print_r( $client->orders->get() );
//print_r( $client->orders->get( $order_id ) );
//print_r( $client->orders->update_status( $order_id, 'pending' ) );

如果您查看class-wc-api-client-resource-orders.php,则可以:

/**
 * Create an order
 *
 * POST /orders
 *
 * @since 2.0
 * @param array $data valid order data
 * @return array|object your newly-created order
 */
public function create( $data ) {
    $this->set_request_args( array(
        'method' => 'POST',
        'body'   => $data,
    ) );
    return $this->do_request();
}

现在你只需要测试一切。

$orderData = array(
    "order" => array(
        "line_items" => array( 
            array(
                "product_id" => 1, 
                "quantity" => 1
            ) 
        )
    )
);

$client->orders->create($orderData);

另一个建议是为什么不使用WooCommerce REST API呢? 它有很好的文档和示例。

答案 1 :(得分:0)

$ orderData = array(     “order”=>阵列(

/*

"set_paid"=>true

*/

"status"=>"processing",

"payment_details"=>array("method_id"=>"cod","method_title"=>"Cash on Delivery"),

"billing_address"=>array("first_name"=>"Tumusime","last_name"=>"Deus","company"=>"mcash",
"city"=>"Kampala","address_1"=>"Plot 7 Mukalazi zone","email"=>"jones@mcash.ug","phone"=>"0784529043",
),

"shipping_address"=>array("first_name"=>"Tumusime","last_name"=>"Deus","company"=>"mcash",
"city"=>"Kampala","address_1"=>"Plot 7 Mukalazi zone","email"=>"jones@mcash.ug","phone"=>"0784529043",
),
"shipping_lines"=>array(
array("id"=>5,"method_id"=>"flat_rate:1",
"method_title"=>"Flat rate","total"=>"10000.00")

),


    "line_items" => array( 
        array(
            "product_id" => 10, 
            "quantity" => 1,

        ) ,
         array(
            "product_id" => 15, 
            "quantity" => 2,

        ) 

    )
)

);

//$client->orders->create($orderData);

print_r($client->orders->create($orderData));