DocsGetting StartedChangelog
Changelog
What changed in the Payments API, webhooks and hosted checkout — newest first.
Compatibility policy
- Changes to
/api/v1and webhook payloads are additive. Existing fields are never removed, renamed or given a new type without a deprecation notice on this page and a transition period in which both the old and the new behaviour work. - New fields can appear in responses and webhook payloads. Your integration should ignore fields it does not recognise.
- A new required request parameter is never introduced without advance notice and a transition period.
2026-10-14
"Return to store" after a declined card
When a checkout session has a cancel_url, the page a customer sees after a declined or failed payment now offers a Return to your store button that goes to that URL with ?session_id=cs_… appended.
2026-10-09
Receipts show your support contact
Hosted receipts (web and PDF) now print the merchant's public support email and, when one is set, support phone — taken from Store → Customize → Contact info, or the support contact given during verification. Receipts issued before this date are unchanged. The receipt object in /api/v1/receipts is unchanged.
Individual (solo) accounts
Merchants can now verify as an individual instead of a registered business. Their receipts show the store name they chose and their support contact. See Going live.
2026-10-07
Added: line_items and discount on order webhooks
The order object in order.* webhooks now lists what was sold and any coupon used:
line_items— always at least one entry. Each line hasdescription,price_id,product_id,quantity,amount_subtotal,amount_tax,amount_total,amount_discount,tax_rateandorder_bump(true for an add-on the buyer ticked at checkout). Line totals add up to the order'samount_total.discount—null, or{ coupon_code, amount_off }when a coupon was applied. The discount is already included in the amounts. Do not subtract it again.
Action required: none
line_items to deliver order bumps too.Added: opt-in order bumps and upsells on API checkout sessions
Two new optional parameters on Create a checkout session: allow_order_bumps and allow_upsells. Both default to false.
- With
allow_order_bumps: true, your order bumps are offered for any product in the session. A ticked bump is added to the same payment, soamount_totalcan be higher than the amount you created. - With
allow_upsells: true, your upsells may be offered after payment. Each one is a separate order, and the buyer returns to yoursuccess_urlafterwards. - The session object now includes
line_itemsand echoes both flags. Order webhooks includeparent_order_id, set on upsell orders. Upsell webhooks includecheckout_session_id.
Changed: no offers on API sessions unless you opt in
Without the new flags, an API checkout session shows no order bumps, no coupons and no upsells. That includes sessions without a success_url, which could previously show an upsell. The buyer pays exactly the amount you created.
Action required: none
Fixed: webhooks in test mode and for payouts
- Test-mode payments now send
order.paid,order.payment_failedandinvoice.paidlike live payments, so you can test your handler before going live. payout.*events are now sent for every payout, including Payout Now.- Events that happen while an endpoint is disabled are recorded as failed deliveries. You can resend them after re-enabling the endpoint.
2026-09-30
Added: customer_country
The country the buyer selected on the hosted checkout, as an ISO 3166-1 alpha-2 code (e.g. "XK"). Now present on:
- the checkout session object (create and retrieve responses, and
checkout.session.*webhooks); - the order object in
order.*webhooks.
The key is always present. It is null when the country is not known yet (a session that has not been paid) or was never collected (orders paid before this date). It is response-only: there is no request parameter for it.
Action required: none
Changed: hosted checkout asks for the buyer's country
Buyers now select their country on Saleonix's hosted checkout before paying. This happens entirely on the Saleonix checkout page — your API calls, redirects and webhooks are unchanged.
Clarified: when storefront pricing applies
The storefront fee applies only to checkouts that start on your Saleonix store page. Payment links, invoices, API checkouts, post-purchase upsells, order bumps and product links shared anywhere else use the standard fee. When a store checkout includes an order bump, the store product and the bump are charged at their own rates within the one order, with a single fixed fee. Links you add to your storefront can no longer point at a Saleonix checkout. See Storefront → Which sales use storefront pricing.
