Checkout
Allowed countries
POST
/checkout/allowedCountriesLookup the allowed countries for this merchant id
City/State for Zip
POST
/checkout/city_stateLook up the city and state for the shipping zip code.
Finalize Order
POST
/checkout/cart/finalizeOrderFinalize the cart into an order.
Get affirm checkout (by cart id)
GET
/checkout/cart/{cart_id}/affirmCheckoutGet a Affirm checkout object for the specified cart_id parameter.
Get cart
GET
/checkout/cartIf the cookie is set on the browser making the request then it will return their active cart.
Get cart (by cart id)
GET
/checkout/cart/{cart_id}Get a cart specified by the cart_id parameter.
Get cart (by return code)
GET
/checkout/return/{return_code}Get a cart specified by the return code parameter.
Get cart (by return token)
GET
/checkout/return_tokenGet a cart specified by the encrypted return token parameter.
Get state/province list for a country code
POST
/checkout/stateProvincesForCountry/{country_code}Lookup a state/province list for a given country code
Handoff cart
POST
/checkout/cart/handoffHandoff the browser to UltraCart for view cart on StoreFront, transfer to PayPal, transfer to Affirm, transfer to Sezzle or finalization of the order (including upsell processing).
Profile login
POST
/checkout/cart/profile/loginLogin in to the customer profile specified by cart.billing.email and password
Profile logout
POST
/checkout/cart/profile/logoutLog the cart out of the current profile.
Profile registration
POST
/checkout/cart/profile/registerRegister a new customer profile.
Register affiliate click
POST
/checkout/affiliateClick/registerRegister an affiliate click.
Related items
POST
/checkout/related_itemsRetrieve all the related items for the cart contents.
Related items (specific item)
POST
/checkout/relatedItems/{item_id}Retrieve all the related items for the cart contents.
Setup Browser Application
PUT
/checkout/browser_keySetup a browser key authenticated application with checkout permissions.
Update cart
PUT
/checkout/cartUpdate the cart.
Validate
POST
/checkout/cart/validateValidate the cart for errors.
Webhooks
The following webhook events are available for this resource. See Webhooks for how delivery, retries, and versioning work.
| Event | Description | Reflow | Expandable |
|---|---|---|---|
checkout_cart_abandon | Fired when a cart is abandoned | — | Yes |
checkout_cart_send_return_email | Fired when a return email should be sent to a customer | — | Yes |
Receiving these events
- Payload: each delivery is a
POSTwhose JSON body is an array of events, even when it carries one. Each element has a single key, the event name, whose value is the object, for example[{"checkout_cart_abandon": {...}}]. - Contents: the object includes only the parts in the webhook's expansion. Expansions appear when you edit the webhook after creating it.
- Respond within 30 seconds. Store or queue the payload and do the work in a background job.
- Batching: one delivery can bundle several events. The webhook sets how many (10 or more) and the maximum payload size (up to 900K).
- HTTPS: use it. It is required whenever the payload includes customer information.
- Testing: the webhook's test button sends a delivery, and its log shows each one. To resend existing records, for example to backfill a new receiver, request a reflow.
More: Webhooks, Creating a simple webhook (with a sample payload), receiver samples in PHP and Python
Was this page helpful?