New Features
- NEXT Payments now supports Bancontact, so merchants can accept Belgium's most widely used payment method.
- Merchants can now collect an outstanding balance on an order using the customer's existing card or a newly added card directly from the order detail view, matching the payment options available when creating an order.
Improvements
- Campaign analytics events now include campaign identifiers —
campaign_id,campaign_name,campaign_currency,campaign_language, andcampaign_session_id— on every event across all providers, so analytics data can be segmented by campaign and joined back to campaign sessions and order attribution. - The Campaigns Cart SDK RudderStack integration now follows the RudderStack ecommerce events spec: events use the official event names, carry complete product details, and include session-based
cart_idandcheckout_ididentifiers so a shopper's journey can be followed from cart to checkout to order. - Analytics events from the Campaigns Cart SDK now include applied coupons and discount amounts, so they appear in your analytics reports.
- The Campaigns Cart SDK now logs clear setup warnings when the campaign API key is missing, a provider is missing a required setting, or a provider's script never loads, naming the exact configuration to add.
- The Campaigns Cart SDK in-page analytics debug panel has been redesigned with per-provider delivery status and an easier-to-read event timeline, and failed sends are now reported as failed instead of sent.
- Delivery tracking now recognizes tracking number formats from more carriers, including CIRRO E-Commerce, SwiftX, and several international postal carriers, so those shipments get delivery tracking automatically.
- Shop Sync now syncs order line item
propertiesto Shopify orders, so product customization details carry through. - Shop Sync fulfillment processing now guards against creating duplicate fulfillment orders for the same order.
- The NEXT Payments portal navigation has been restructured: opening a payments account now shows a dedicated navigation for that account with an account switcher, balances and payouts are brought together in a new Balances view, and creating an account is clearer.
Bug Fixes
- Fixed an issue where the
order.updatedwebhook event fired twice when a fulfillment was created or its delivery status changed. - Fixed an issue where the checkout summary on German stores showed "Included MwSt." with the word "Included" untranslated.
- Fixed an issue where offers with XX.99 discount price rounding overcharged single-unit lines when a quantity-based offer was met across separate lines, such as one line per color variant.
- Fixed an issue where the cart calculate API split a single package line into multiple lines when a percentage offer produced fractional per-unit amounts, making one product display as several rows at checkout.
- Fixed an issue where sessions from development and test domains were counted in campaign analytics.
- Fixed an issue where Apple Pay displayed the wrong value for orders using a custom price.
- Fixed an issue where accepting a post-purchase upsell reported a quantity of 1 and an unresolved product in tracking events for bundle upsells, regardless of the actual quantity.
- Fixed an issue where purchase tracking events counted tax and shipping in the purchase value, over-reporting sales; product revenue, tax, and shipping are now reported in separate fields.
- Fixed an issue where the Cart Viewed analytics event was sent with an empty product list and a value of zero.
- Fixed an issue where wildcard subdomain redirect URIs were rejected during the app OAuth install flow.