iDEAL 2.0
Introduction
iDEAL is one of the most used online payment methods in the Netherlands, allowing consumers to pay with their online banking account.
Sale Transaction Request
In the first step you need to submit an ApmSaleTransaction
request including shipping and IDEAL
as payment method type.
The following JSON document represents an example of an initial request and the related response with the transactionStatus
"WAITING". In the API response you receive the ipgTransactionId
what you must use in the inquiry request to confirm the transaction processing status.
{
"requestType": "ApmSaleTransaction",
"transactionAmount": {
"total": "20.85",
"currency": "EUR",
"components":{
"shipping": 0.85,
"subtotal": 15,
"vatAmount": 4
}
},
"paymentMethod": {
"type": "IDEAL"
},
"storeId": "541xxxxx1806",
"order": {
"shipping": {
"name": "John Doe",
"address": {
"company": "Test Company",
"address1": "House No: 2, street -5",
"address2": "Weberstr",
"city": "BONN",
"postalCode": "53113",
"region": "Nordrhein-Westfalen",
"country": "Germany"
}
},
"basket": {
"items": [
{
"id": "item-1",
"description": "World cup",
"quantity": 1,
"subTotal": 9,
"valueAddedTax": 1,
"deliveryAmount": 0,
"chargeTotal": 10,
"currency": "EUR"
},
{
"id": "item-2",
"description": "cup",
"quantity": 1,
"subTotal": 2,
"valueAddedTax": 3,
"deliveryAmount": 0,
"chargeTotal": 5,
"currency": "EUR"
}
]
}
},
"transactionOrigin": "ECOM",
"integrationData": [
{
"item": "RETURN_URL",
"value": "https://www.fiserv.com"
},
{
"item": "FAILURE_RETURN_URL",
"value": "https://www.fiserv.com"
}
]
}
{
"type": "transactionResponse",
"clientRequestId": "e80efc8c-5acc-42bc-a8d0-16fe8748e83f",
"apiTraceId": "Zz88J0nxtg1r7LXuIOl6JAAAA8o",
"ipgTransactionId": "85024575497",
"orderId": "R-cb02f20c-d198-4d6a-a6f3-7a1bfb4a4acb",
"paymentToken": {
"reusable": true,
"declineDuplicates": false
},
"transactionTime": 1732197415,
"transactionAmount": {
"total": 13.00,
"currency": "EUR",
"components": {}
},
"transactionStatus": "WAITING",
"approvalCode": "?:waiting IDEAL",
"processor": {
"referenceNumber": "7030579722094781",
"responseCode": "Open",
"responseMessage": "IDEAL",
"taxRefundData": {}
},
"requiredActions": {
"requiredRedirectionData": {
"target": "https://ext.pay.ideal.nl/transactions/https%3A%2F%2Fext.tx.ideal.nl%2F2%2FACZHNXF5EIBB2O7HGVQFWJKWCXQ?sig=BGBCQEIAO3LPBEDPDQKC3MZ2CDUCTV5GPVQSWML5NIAIRXQJZ4C7CZ2RRBQBCCAGXEZOX3EAKRAE7N4J7W7WVZPC2Z2MHYIVLPSACZLOZGUPVQA6A7I",
"method": "GET"
}
}
}
Inquiry Request with Response
In the next step you need to submit an inquiry request using the ipgTransactionId
you have received in the first API response from the Gateway to check the transaction status.
GET .../payments/{ipgTransactionID}
If the transaction status has not been updated within 60 minutes, the request times-out and the transaction is cancelled.
The following JSON document represents an example of an inquiry request with APPROVED transactionResult
in the response:
{
"type": "transactionResponse",
"clientRequestId": "10c6ecfa-6c59-42b8-bc75-ed136492c26a",
"apiTraceId": "Zz9Aufqjr2GPBO-Uwqtc1gAAAbc",
"ipgTransactionId": "85024575497",
"orderId": "R-cb02f20c-d198-4d6a-a6f3-7a1bfb4a4acb",
"paymentToken": {
"reusable": true,
"declineDuplicates": false
},
"paymentMethodDetails": {
"paymentCard": {
"number": "NL44RABO0123456789",
"cardholderName": "Pino Thebird"
},
"paymentMethodBrand": "IDEAL"
},
"transactionTime": 1732197415,
"approvedAmount": {
"total": 13,
"currency": "EUR",
"components": {
"subtotal": 13
}
},
"transactionAmount": {
"total": 13,
"currency": "EUR",
"components": {
"subtotal": 13
}
},
"transactionResult": "APPROVED",
"approvalCode": "Y:000000:5024575497:PP X:7030579722094781",
"transactionState": "CAPTURED",
"processor": {
"referenceNumber": "7030579722094781",
"responseCode": "SettlementCompleted",
"responseMessage": "IDEAL",
"taxRefundData": {}
}
}
"transactionOrigin": "ECOM",
"integrationData": [
{
"item": "RETURN_URL",
"value": "https://www.fiserv.com"
},
{
"item": "FAILURE_RETURN_URL",
"value": "https://www.fiserv.com"
}
]
}
Updated 3 days ago