Skip to main content

September 16, 2026

Core API​

  • Removed GET /events and GET /v1/events. Use GET /v2/events for the Events API; webhook payload version 1 delivery continues to work
  • Added decline type filtering where the API v1 contract publishes it

Dashboard​

  • Added confirmation before route reordering is saved
  • Improved webhook settings tabs and descriptions

Order Management​

  • Added carrier changes to order history
  • Added links from external order IDs to the fulfillment provider page

Checkout SDK​

  • Added an Australian state selector to address collection
  • Improved card form loading by preparing external form assets earlier

September 14, 2026

Core API​

  • Breaking: Removed legacy card-collection iframe configuration from API responses. Use the supported Checkout SDK card collection flow

Dashboard​

  • Added load failure states across tables

Order Management​

  • Added order detail status for whether shipment tracking has been synced to the payment processor
  • Added an action to cancel an order outright
  • Improved fulfillment address handling for country-specific city, postcode, and field length requirements

September 11, 2026

Core API​

  • Breaking: Removed GET /payments/{id}/history and PaymentHistoryEntryDTO. Use GET /events with subjectId[in][] and EventDTO
  • Breaking: API v2 removed customer.paymentMethods, customer.subscriptions, and subscription.invoices. Read those collections from their own paginated list endpoints with the required read permissions
  • Added the not_attempted decline type
  • Normalized stored phone numbers to E.164 format

Dashboard​

  • Added a load failure state for payments instead of showing an empty result when the request fails

Order Management​

  • Improved fulfillment order submission so address and province fields are sent in the format the fulfillment service requires
  • Fixed fulfillment orders with provider faults staying hidden from correction workflows

September 9, 2026

Core API​

  • Breaking: Legacy hosted card credentials are rejected. Use the supported card credential fields documented for your API version
  • Added API v2 decline codes, including authentication_required and payment_method_unusable
  • Added payment activity data and compressed large list responses
  • Fixed attempt_failed being omitted when a payment action reset

Dashboard​

  • Added a payment activity timeline
  • Added one control for filters that accept multiple values

Order Management​

  • Breaking: Inventory responses now expose products through products[] instead of the old productId and productName fields. Use productId filters and sku, totalQuantity, or status sorting
  • Breaking: Removed the synchronous order export route and the integration-specific synchronous bulk fulfillment route. Start exports with POST /order-exports and integration bulk fulfillment with POST /orders/bulk-fulfill/integration/{type}/jobs; standard POST /orders/bulk-fulfill remains available
  • Breaking: Removed GET /orders/product-names. Use the paginated product and catalogue endpoints instead

September 8, 2026

Core API​

  • Added precise decline reasons and total match counts on cursor-paginated lists
  • Fixed expired redirects being counted as successful payment attempts
  • Improved decline reporting so reports use the decline type rather than card-specific wording

Dashboard​

  • Added Orders and Jobs tabs for order operations that run asynchronously
  • Added asynchronous order exports, past export history, and job-based bulk fulfillment
  • Added paged product, price, and gateway pickers so large catalogues can be searched without loading every option at once
  • Added customer phone number editing

Order Management​

  • Added asynchronous order exports and bulk fulfillment jobs, with a higher bulk fulfillment limit
  • Added route inventory coverage policies and one inventory row per SKU
  • Added paged catalogue access, partial catalogue indicators, and product or price opt-outs for shipping
  • Fixed oversized bulk fulfillment requests returning a 500; they now return 413 with the normal error body
  • Fixed fulfillment exports keeping duplicate product lines separate; duplicate lines are now consolidated by adding their quantities

Checkout SDK​

  • Breaking: When card tokenization is unavailable, Checkout disables card submission instead of falling back to raw card inputs

September 3, 2026

Core API​

  • Improved 3DS refusal classification so authentication declines use more specific failure results
  • Rewrote the API v2 migration guide around merchant integration steps

Order Management​

  • Added durable files for asynchronous order jobs, so generated exports can be retrieved after the request that created them finishes

September 2, 2026

Core API​

  • Documented the 503 responses returned when a service is temporarily unavailable
  • Breaking: API v2 list endpoints use cursor pagination, and declined payments return 402. Update v2 clients that relied on offset-style list parameters or a different decline status
  • Added API v2 design conventions to the public documentation

Dashboard​

  • Fixed report pickers and error states so failed report data no longer appears empty

Order Management​

  • Fixed validation errors so a 400 response no longer has to include an errors array

September 1, 2026

Core API​

  • Added a type to error responses, drawn from a fixed set of categories, plus an optional finer-grained code, so you can branch on errors without parsing the message
  • Added dedicated error codes for 3DS authentication failures
  • Normalized customer email addresses to lowercase when stored
  • Improved accuracy of stored card attributes (BIN, last four, brand, expiry)
  • Fixed the payer details being lost when a PayPal payment was declined
  • Fixed PayPal payments failing when the shopper returned without a saved payment method

Dashboard​

  • Added the ability to resend a pending invitation

Order Management​

  • Fixed a NextSmartShip package being recorded twice on an order, and its tracking link pointing at a tracker that could not resolve the number

August 31, 2026

Core API​

  • Fixed cart items being returned in a different order than the one you supplied
  • Improved response times for the search endpoint
  • Fixed the gateway exchange failing to load for charges whose gateway replied with plain text or no content

Dashboard​

  • Added a letter requirement to new passwords, alongside the existing rules
  • Fixed the date filter shifting its range when reopened

Order Management​

  • Added per-SKU overrides to product mappings
  • Added a NextSmartShip product picker, so a SKU can be mapped without typing the provider's product details
  • Improved NextSmartShip fulfillment to complete as soon as the package ships, with the carrier and tracking number filled in later when the courier is assigned, instead of holding the whole fulfillment until then

Checkout SDK​

  • Fixed the Apple Pay sheet staying open after a declined payment
  • Fixed a card payment that had already failed being able to complete through PayPal
  • Fixed the card and phone inputs failing silently when their assets could not load

August 26, 2026

Core API​

  • Added event type and status filters to webhook deliveries

Dashboard​

  • Added a platform status indicator to the sidebar
  • Removed the separate Users screens; account access is now managed from the Members tab in Settings
  • Fixed the webhook URL shown for your account using the wrong merchant ID
  • Fixed the amount filter bounds not accepting typed input
  • Fixed the 3DS step showing a failure icon when authentication had succeeded

Order Management​

  • Breaking: Decided whether an item ships from the product's Shippable flag and its SKU alone. The product category is no longer read for fulfillment and is only sent to payment providers as metadata. A shippable product with no SKU no longer fails: the item stays on the order but is not shipped, so add a SKU to every product you ship
  • Breaking: Replaced the addon endpoints POST /tenants/provision and POST /tenants/disable with POST /tenants/activate and POST /tenants/pause, which only start and stop order creation. The screens now follow the addon entitlement on your account rather than the health of the webhook subscriber, so a degraded subscriber no longer hides them
  • Added the fulfillment provider to the orders list, with a filter for it
  • Added automatic import of NextSmartShip fulfillments onto the order
  • Added None as a fulfillment provider, for orders you ship yourself
  • Improved SKU mapping to say how a directly matched SKU was matched
  • Fixed ShipBob shipments linking to a tracker that could not resolve them; they now use ShipBob's own tracking URL