WooCommerce API:创建订单和结帐

WooCommerce API: create order and checkout

我想做什么

我想为我的 Woocommerce 网站制作一个 原生 Android 应用程序(不是 HTML5/Jquery 移动)。我正在尝试使用 kloon/WooCommerce-REST-API-Client-Library.

设置 APIs

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

现在我想在 android 应用程序中复制添加到 cart/checkout 过程,但是这个库似乎没有为这样的工作流程提供功能。

我的问题

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

流量:

  1. 加入购物车

  1. 查看购物车并更新订单

  1. 检查并确认

如果我错过任何 API 个电话,请告诉我。

如果有人已经做到了这一点,请 post 您的资源和评论如下。 任何 sample-codes/liraries/helper-classes 链接将不胜感激。

谢谢!

如果你尝试阅读 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 呢? 它有很好的文档和示例。

$订单数据=数组( "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));