Skip to main content

Changelog

What changed in Payments on production, newest release first. Each entry names the section and the page it affected, and links to the page as it is published today.

Online Payments

Every change to the public Online Payments API, newest first.

The version shown here is the API specification's own version, visible at the top of the API reference. It changes when the public API changes, which is not on every release.

Version numbers are not in order

During a specification restructure in October 2025 the version number was reset, so 1.24.2 was published after 1.26.0. Entries below are ordered by date, which is the reliable order. Purely internal restructuring is not listed.

1.27.20 — 9 September 2026​

Added

  • Checkout responses can now carry a QR code alongside the redirect: action.qrcode.url is an image of the same hosted checkout session that action.redirect.url points to, for the consumer to scan. Append .png, .jpg or .svg to choose the image format; png is returned by default.

Fixed

Corrections to the specification itself. None of these changes how the API behaves — the schemas now describe what the endpoints already did. If you generate a client from the spec, regenerate it.

  • Transaction status now lists every status an endpoint can actually return. Most payment methods referenced a shared enum that only covered OPEN, AUTHORIZED and SUCCESS, so CANCELLED, EXPIRED, FAILURE and PENDING were missing depending on the method — a generated client could reject a perfectly valid response.
  • Refund list responses are now named schemas rather than anonymous inline ones, so generated clients get a real type instead of InlineObject….
  • Removed a duplicated language property and similar schema compositions that collapsed to an empty object when generating a client.
  • language: the specification now states that an unsupported value falls back to the default, which was always the behaviour but went undocumented.
  • Corrected an invalid example URL on the iDEAL QR transaction response.

1.27.18 — 7 August 2026​

Added

  • Refund list responses now carry a refunds array (RefundsList, RefundsListWithSessionID).

1.27.17 — 21 July 2026​

Added

  • Riverty refunds accept an X-Idempotency-Key header. Resubmitting a request with the same key will not create a duplicate refund at Riverty — useful for safely retrying after a timeout or an uncertain response.

Fixed

  • The iDEAL transactionId is now typed as nullable, matching its description. It is absent until the payment reaches the scheme, and the schema previously claimed it was always a string.

1.27.7 — 10 March 2026​

Added

  • Bancontact transactions can now be inspected and refunded per payment, rather than only as a whole:
    • GET /paymentmethods/bancontact/v1/transactions/{transactionId}/payments
    • GET /paymentmethods/bancontact/v1/transactions/{transactionId}/payments/{paymentId}/refunds
    • POST /paymentmethods/bancontact/v1/transactions/{transactionId}/payments/{paymentId}/refunds

1.27.6 — 11 February 2026​

Breaking — Riverty capture and cancellation moved

Both endpoints were renamed to plural paths. The old paths no longer exist.

BeforeAfter
POST /paymentmethods/riverty/v1/transactions/{transactionId}/capture/captures
POST /paymentmethods/riverty/v1/transactions/{transactionId}/cancel/cancellations

If you capture or cancel Riverty transactions, update these paths.

Added

  • PayPal v2 — a new major version of the PayPal endpoints: POST /paymentmethods/paypal/v2/transactions, its GET counterpart, and refunds. The v1 endpoints are unchanged.
  • GET /paymentmethods/riverty/v1/transactions/{transactionId}/captures — list the captures on a transaction.

1.27.3 — 5 November 2025​

Added

  • GET /paymentmethods/checkout/v1/transactions/{transactionId}/refunds — list the refunds on a checkout transaction.

1.24.2 — 8 October 2025​

Added

  • Riverty — create and retrieve transactions, refunds, captures and cancellations. See Riverty.

1.26.0 — 28 August 2025​

Added

  • A refund listing endpoint on every payment method that supports refunds: GET /paymentmethods/{method}/v1/transactions/{transactionId}/refunds, for Bancontact, Bank Transfer, Belfius Pay Button, Cards, iDEAL, iDEAL QR, Klarna, PayPal and SEPA Direct Debit. Previously a refund could be created but not listed back.

1.25.1 — 11 July 2025​

Breaking — consumer phone field renamed (Cards v2)

On CreditCardConsumerV2, mobilePhone became phone. Requests still sending mobilePhone will not have the value applied.

Added

  • POST /paymentmethods/creditcard/v2/transactions/initialize — initialize a card transaction before submitting card details.

1.24.0 — 13 June 2025​

Added

  • Refunds for Cards v2: POST and GET on /paymentmethods/creditcard/v2/transactions/{transactionId}/refunds.

1.23.6 — 16 May 2025​

Added

  • iDEAL Pay Fast: GET /paymentmethods/ideal/v1/debtors/{userToken}/preferences and GET /paymentmethods/ideal/v1/transactions/{transactionId}/userToken.
  • userAgent and userToken on the expected-debtor object.

1.23.5 — 23 April 2025​

Added

  • Cards v2 — POST /paymentmethods/creditcard/v2/transactions and its GET counterpart.
  • Consumer detail on card transactions: billingAddress, shippingAddress and email.