This page will help you get started with Simpler Checkout API

Shopper clicks Simpler Checkout Button

When a shopper clicks on the Simpler Checkout button, a request may be performed by Simpler to the /simpler/v1/products endpoint of the merchant.

This request retrieves information about the products in the shopper's cart, such as descriptions, titles, images etc. This includes a representation of the listed price of each product in the cart (in integer cents format) that will be displayed in the shopper's cart. Please note that any discounts to these products should not be applied in this step.

Shopper fills their information or edits the cart

Each shopper interaction with the cart will perform a Quotation request, to the /simpler/v1/quote endpoint of the merchant.

This request retrieves pricing information about the cart and will be used to decide what is the final price the shopper views, as well as determine the payment amount. At the point of payment, another quote request will be sent to ensure that the payment matches the current quote offered by the merchant.

This request will always include the basic cart data (product ID, quantity and custom values) but may or may not include the shipping address or any coupons applied. The Quote endpoint should always respond with a valid representation of the current cart pricing using the information at hand. This means that the presence of the address or coupon should affect the content of the quotes, ie. if an address has not been specified there should be no shipping object in the returned quote.

The Quote endpoint should return an array of available quotes based on shopper input. If there are different shipping options offered for a cart and address, they should be represented by different quotes in the response.

Shopper submits and pays the order

When the shopper finalizes their checkout, Simpler performs the payment while ensuring the received quote matches the payment, and sends out a request to the /simpler/v1/submit endpoint of the merchant.

The payload of this request contains all information required by the merchant to fulfill the order, including the shopper details. The endpoint should respond with an Order ID generated by the merchant system that will uniquely identify this order for any further processing (e.g. refunds). If the merchant server responds with a non-200 HTTP status, a payload missing the Order ID property, or a duplicate Order ID the request will be retried with an exponential backoff policy. When the request reaches its retry limit and has failed to receive a successful response, the order will go into manual resolution mode and our support staff will contact the merchant using their internal email to resolve the situation.

Please note that the merchant will be charged a refund fee for any checkouts that have received valid quotes but are not accepted.

Merchant cancels/refunds an order

When a refund has been requested by the shopper, the merchant is responsible for handling the return. If everything goes well and the return is accepted, the merchant system can send a POST request to https://api.simpler.so/v1/refunds to initiate the payment refund flow.