Skip to main content
Version: v2

V2 Changelog

Keep track of changes and upgrades to the Convenient Checkout API.


V2 — 2026-05-27

Breaking Changes in V2

The following fields and behaviours have changed in ways that require updates to your integration before upgrading. See each section below for full details.

AreaWhat Changed
SessionsFlat ID fields removed from root: merchantId, customerId, vendorMerchantId, paymentId, paymentMethodId, childSessionId. Use structured sub-objects instead.
SessionspaymentType removed from checkout request (was deprecated in V1).
Sessionsemail and phoneNumber moved from the top-level request into the customer object.
PaymentspaymentType removed (was deprecated in V1).
PaymentspaymentAllocations added to support split-tender payments across multiple payment methods.
RefundsrefundAllocations added to represent allocation-level refund details for split-tender refunds.
Payment MethodscardCategory renamed to cardCategories and changed from an object to an array.
Payment MethodspaymentMethodType removed; now inferred from the shape of paymentMethodDetails.
Payment Methodscard object removed (was deprecated in V1).

Sessions

Field / AreaChangeDetailsBreaking
merchantAddedStructured object containing id, name, and merchantGroupId. Replaces flat merchantId and name fields.
customerAddedStructured object containing id. Replaces flat customerId field.
payment.consentChangedMoved consent object inside the checkout payment object for ACH payments.
payment.descriptionChangedRenamed from paymentDescription on the checkout request.
Flat ID fieldsRemovedmerchantId, customerId, vendorMerchantId, paymentId, paymentMethodId, childSessionId removed from session root. Use merchant.id, customer.id, payment.id, etc.⚠ Breaking
paymentTypeRemovedRemoved from checkout request. Was deprecated in V1.⚠ Breaking
email, phoneNumberRemovedRemoved from the top-level checkout request. Both are now part of the customer object.⚠ Breaking

Payments

Field / AreaChangeDetailsBreaking
paymentAllocationsAddedNew allocation-level array that enables split-tender payments across multiple payment methods.⚠ Breaking
descriptionChangedRenamed from paymentDescription in V1. String (nullable). Merchant-provided description for this payment.⚠ Breaking
paymentTypeRemovedWas deprecated in V1. Split tender is sale-only; payment type is no longer declared explicitly.⚠ Breaking
Internal vendor fieldsRemovedvendor, vendorPaymentId, vendorMerchantId, and paymentMethodId were removed from the root payment shape and moved to paymentAllocations[].vendor.⚠ Breaking

Refunds

Field / AreaChangeDetailsBreaking
refundAllocationsAddedNew allocation-level refund details return amounts to each original payment method in the same charged proportion; allocation splits cannot be changed at refund time.⚠ Breaking

Payment Methods

Field / AreaChangeDetailsBreaking
sourceProviderAddedNew object identifying the originating source of the payment method.
errorChangedNow a structured object with a machine-readable code and human-readable description.
paymentMethodTypeRemovedRemoved (CARD | BANK_ACCOUNT). Payment method type is now inferred from the shape of paymentMethodDetails.⚠ Breaking
card (CardResponse)RemovedWas deprecated in V1; removed entirely in V2.⚠ Breaking
vendorPaymentMethodFingerprintRemovedInternal vendor field removed from card details.