Pay with iDEAL

APMs v1
Last updated May 2022

Initiate a payment with iDEAL and instantly trigger the settlement process.

Take a sale

POST your request to the action:sale action link.

Sale example request


iDEAL sale request body:

  "transactionReference": "unique-transactionReference",
  "merchant": {
    "entity": "an-entity"
  "instruction": {
    "narrative": {
      "line1": "trading name"
    "paymentInstrument": {
      "bankCode": "ABN_AMRO",
      "type": "ideal"
    "value": {
      "currency": "EUR",
      "amount": 250
  "url": {
    "successUrl": "",
    "failureUrl": "",
    "cancelUrl": "",
    "pendingUrl": ""

Parameter descriptions

transactionReferenceThe unique transaction reference for this sale.
merchant.entityUsed to route the sale request in Access Worldpay, created as part of on-boarding.
instructionThe object that contains all the payment information related to the sale request.
instruction.narrative.line1The text that appears on your customer's statement. Used to identify the merchant.
Seenarrative formatfor more details and best practices.
instruction.paymentInstrumentAn object that contains bank account details.
paymentInstrument.bankCodeThe code of the customer's bank. For possible values see ourAvailable Banks section.
paymentInstrument.typeThe payment method. Value: ideal.
instruction.valueAn object that contains the value of the sale.
instruction.value.currencyAn identifier for the currency being used.
instruction.value.amountAn identifier for the amount being used.
urlThe Object that contains all the urls.
url.successUrlThe URL to redirect your customer to, when the payment is successfully completed. This is provided by you.
url.failureUrlThe URL to redirect your customer to, when the payment has failed. This is provided by you.
url.cancelUrlThe URL to redirect your customer to, to cancel a payment. This is provided by you.
url.pendingUrlThe URL to redirect your customer to, if a pending payment status is returned. This is provided by you.

Sale response

Successful payment

You receive:

  • an HTTP code 201
  • an "lastEvent": "pendingAuthorization"
  • Bank Redirect URL

Example response:

  "url": "",
  "outcome": "pendingAuthorization",
  "_links": {
    "action:query": {
      "href": "{transactionReference}&entity={entity}"
    "curies": [{
      "name": "action",
      "href": "{rels}",
      "templated": true

You receive an outcome of pendingAuthorization. This doesn't mean that the payment has been fully processed. The customer must now complete their payment within their banking environment.

Note: Settlement of this payment may take 20 minutes to reflect.

Find out the latest status of your payment by using our notification or query service described in ourmanage your paymentsection.

Next steps

Manage your payment