WooCommerce API: create order and checkout

WHAT AM I TRYING TO DO

I want to make a Native Android APP (Not HTML5/Jquery mobile) for my Woocommerce website. I am trying to setup the APIs using kloon/WooCommerce-REST-API-Client-Library.

Read More

So far I managed to retrieve the lists of products, coupons, customers, orders etc… which I could use to display in my Android app.

Now I want to replicate add to cart/checkout process in the android app, but it seems this library dosen’t provide functions for such workflow.

MY QUESTION

How can I achieve the follwing workflow with REST APIs in my Android app?
(Similar to the website checkout process)

Flow:

  1. Add to cart

enter image description here
enter image description here

  1. View cart and update order

enter image description here

  1. Check out and confirmation

enter image description here
enter image description here

Please tell me if I’m missing any API calls.

If someone already achieved this, kindly post your resources and comments bellow.
Any sample-codes/liraries/helper-classes links will be greatly appriciated.

Thank you!

Related posts

2 comments

  1. if you try to read the example.php and read all the php file in lib folder, I think you can achieve all these…

    example.php has something like:

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

    and if you’ll look at class-wc-api-client-resource-orders.php, you have this:

    /**
     * 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();
    }
    

    now you’ll just have to test everything.

    $orderData = array(
        "order" => array(
            "line_items" => array( 
                array(
                    "product_id" => 1, 
                    "quantity" => 1
                ) 
            )
        )
    );
    
    $client->orders->create($orderData);
    

    Another suggestion is why not use WooCommerce REST API instead?
    It has great documentation and examples.

  2. $orderData = array(
    “order” => array(

    /*
    
    "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));
    

Comments are closed.