HomeGuidesAPI ReferenceChangelogPOS PaymentsOnline Payments
Home
Guides

iDEAL | Wero

iDEAL is a popular online payment method in the Netherlands. It's a real-time online payment system that lets customers make payments directly from their bank accounts.

📘

iDEAL becomes Wero

You’ll soon see a new logo: iDEAL | Wero.

iDEAL is evolving into "Wero", a new pan-European payment solution by the European Payments Initiative (EPI). The first step is the introduction of the mandatory iDEAL-Wero co-branding on all existing iDEAL checkout pages.

CM.com is handling all the technical updates required for iDEAL's transition to Wero, ensuring a seamless process for merchants. There will be no changes to the implementation of the current iDEAL payment method, so merchants can continue using it as usual without any disruptions.

To comply with the new guidelines, you have between January 29, 2026 and March 31, 2026 to complete the following:

Change the payment method name from iDEAL to iDEAL | Wero
Update the iDEAL logo to the iDEAL Wero co-branded logo. For instructions and the graphic files: https://ideal.nl/ideal-wero-branding

Integrate your own checkout directly with our API and allow your customers to make payments with iDEAL | Wero.

How does it work?

  1. The consumer opens your webshop, adds some items to the shopping basket, and proceeds to your checkout. Then they land on your own checkout and select iDEAL.
  2. You need to create an iDEAL transaction in which you need to provide a returnUrl to which the consumer eventually (when the payment is done in the consumers bank environment) will be send to. You have to store the id field from the response in your own system and redirect the consumer to the action.redirect.url. The payment now has the status of OPEN. This remains open until the consumer finishes the payment in their bank environment.
  3. The consumer will be redirected to Currence, select their bank and completes the payment process in their own bank environment. Then they will be redirected to the returnUrl you specified in the create iDEAL transaction (2). The payments status will be set to either SUCCESS, CANCELLED, EXPIRED or FAILURE.
  4. If you requested to be updated through webhook calls in the webhooks in the create iDEAL transaction request (2) you will receive a webhook call when the payment status has changed on the URL(s) specified in the create transaction call. If you didn't requested to be updated through webhooks, you can poll for the result through the get transaction endpoint .
  5. You need to fetch the latest status of your transaction and inform the consumer about this final status. This can be done after you received the webhook call or by polling.

📘

When using webhooks, be aware that they are only a "best effort" mechanism. Find more details here.

Refunds

An iDEAL payment can be refunded through the iDEAL refund endpoint. The refunds object returned in the response contains 2 fields. The refundedAmount field indicates the amount that is payed to the consumer. The refundedPendingAmount indicates the amount requested but not yet paid to the consumer. When multiple refunds are created, you will receive the sum of amounts in the response.

Statuses

The iDEAL payment can have multiple statuses which are important for you to act upon.

  • OPEN - The final result is not yet known. A subsequent request is required to obtain the final status. This is the status you will receive after creating an iDEAL transaction .
  • CANCELLED - The consumer has cancelled the payment. No payment has been made.
  • EXPIRED - The payment wasn't finished yet and the expiresAt date (send in during the creation of the transaction) has passed. No payment has been made.
  • FAILURE - Something else in the process went wrong. No payment has been made.
  • SUCCESS - Positive result. The payment is guaranteed.

All iDEAL transaction will transition from OPEN to one of the other statuses. Only the OPEN status is received in the create transaction response. All other statuses have to be fetched from the GET transaction endpoint .