You can analyze in detail which products on your website are in a customer's cart at Checkout. "Checkout" is set as the product status when the checkout process is started.

Methods

The checkout object contains the following four methods, which are contained in the objects data and parameter:

  • set: Overwrites all existing values.
  • add: Overwrites only the corresponding values.
  • get: Returns the current configuration.
  • remove: Removes the current configuration or individual values.

data

set

/**
 * @param {{
 *      id: string,
 *      [cost=0]: number,
 *      [quantity=0]: number,
 *      [variant=""]: string,
 *      [soldOut=false]: boolean,
 *      [parameter={}]: {[number]: string},
 *      [category={}]: {[number]: string}
 * }[]} data
 *
 * @returns {wtSmart.product.checkout.data}
 */
wtSmart.product.checkout.data.set(data);
JS

add

/**
 * @param {{
 *      id: string,
 *      [cost=0]: number,
 *      [quantity=0]: number,
 *      [variant=""]: string,
 *      [soldOut=false]: boolean,
 *      [parameter={}]: {[number]: string},
 *      [category={}]: {[number]: string}
 * }[]} data
 *
 * @returns {wtSmart.product.checkout.data}
 */
wtSmart.product.checkout.data.add(data);
JS

get

/**
 * @returns {{
 *      id: string,
 *      cost: number,
 *      quantity: number,
 *      variant: string,
 *      soldOut: boolean,
 *      parameter: {[number]: string},
 *      category: {[number]: string}
 * }[]}
 */
wtSmart.product.checkout.data.get();
JS

remove

/**
 * @param {number[]} [removeCheckout]
 *
 * @returns {wtSmart.product.checkout.data}
 */
wtSmart.product.checkout.data.remove(removeCheckout);
JS

Example

var product = {
    id: 'ABC-123',
    cost: 99.90,
    quantity: 2,
    soldOut: false,
    variant: 'green',
    parameter: {
        1: 'L'
    },
    category: {
        1: 'tops',
        2: 'noname'
    }
};

// set product checkout data
wtSmart.product.checkout.data.set([product, product2]);

// add product checkout data
wtSmart.product.checkout.data.add([product3, product4]);

// get product checkout data
var data = wtSmart.product.checkout.data.get();
  
// remove all product checkout data
wtSmart.product.checkout.data.remove();

// remove only the first (product) product checkout data
wtSmart.product.checkout.data.remove([1]);
JS

parameter

set

/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.product.checkout.parameter}
 */
wtSmart.product.checkout.parameter.set(data);
JS

add

/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.product.checkout.parameter}
 */
wtSmart.product.checkout.parameter.add(data);
JS

get

/**
 * @returns {{[number]: string}}
 */
wtSmart.product.checkout.parameter.get();
JS

remove

/**
 * @param {number[]} [removeCheckout]
 *
 * @returns {wtSmart.product.checkout.parameter}
 */
wtSmart.product.checkout.parameter.remove(removeCheckout);
JS

Example

// set product checkout parameter
wtSmart.product.checkout.parameter.set({
    1: 'bar'
});

// add product checkout parameter
wtSmart.product.checkout.parameter.add({
    7: 'foo.bar'
});

// get product checkout parameter
var data = wtSmart.product.checkout.parameter.get();
  
// remove all product checkout parameter
wtSmart.product.checkout.parameter.remove();

// remove only product checkout parameter 7
wtSmart.product.checkout.parameter.remove([7]);
JS