iDEAL API

Met de HTTP API voor Betaling starten kunt u betalingen starten en de status ervan controleren. Gebruik de HTTP API wanneer u verzoeken wilt sturen naar DigiWallet vanuit uw shop of app en als de DigiWallet PHP SDK niet gebruikt kan worden.

Afrekenen in 2 stappen:

  1. Start de betaling bij DigiWallet door een URL aan te roepen met alle kenmerken van de betaling. DigiWallet geeft een link naar de bank en het transactienummer (Start API) ;
  2. De status van de betaling wordt doorgemeld en de bezoeker teruggestuurd naar uw site. U kunt met de "Check API" de status van de betaling controleren (Check API) ;

Bankenlijst opvragen

Tijdens het starten van de betaling kunt u de bank van de consument meegeven. Deze stap is optioneel. Als u de bank parameter weglaat uit de Start API aanroep, zal DigiWallet de consument een bankselectie scherm tonen.

In het geval u liever de bankselectie in u eigen website integreert, kunt u de consument hun bank laten selecteren uit een pulldown menu. Een dynamisch pulldown menu met bankenlijst kunt u als volgt opnemen:

<form name="bankselect"><select name=bank onChange="document.bankselect.submit();"><?php readfile("https://transaction.digiwallet.nl/ideal/getissuers?ver=4&format=html"); ?></select></form>

Voorbeeld

Mocht het dynamische pull down menu niet werken voor u, dan kunt u ook een XML opvragen met de bankenlijst :

https://transaction.digiwallet.nl/ideal/getissuers?ver=4&format=xml

Start API Betaling starten

Voor het starten van de betaling roept u de Start API aan. Van de Start API krijgt u de betaallink om uw klant door te verwijzen en het transactienummer (voor in uw database).

Roep de volgende URL aan met GET of POST:

https://transaction.digiwallet.nl/ideal/start

Met de volgende parameters (* = verplicht):

Variabele Toelichting Voorbeeld
ver* API versie, dit is versie 4 4
rtlo* Shop ID (ook wel subaccount of layoutcode) waarop de betaling geboekt moet worden 93393
bank Bank code: gekozen door de consument in de vorige stap
Merk op dat als deze parameter weggelaten wordt, DigiWallet de klant eerst haar eigen bankselectie scherm laat zien alvorens hen door te sturen naar de bank.
KNABNL2H
amount* Bedrag in eurocenten: Minimaal 84 , Maximaal 1000000 1000
description* Omschrijving van de transactie: dit wordt op het bankafschrift van de klant vermeld. Gebruik alleen letters of cijfers, max. 32 tekens Webshop order #1234
reporturl Report URL: wordt aangeroepen na betaling (van server naar server) door middel van een POST. Controleer hier of de betaling inderdaad is afgerond en verwerk de bestelling verder. Dit script wordt ook aangeroepen als de klant de browser per ongeluk zou sluiten. Als parameters worden meegestuurd:
  • trxid: bestelnummer
  • idealtrxid: iDEAL bestelnummer
  • rtlo: shop ID (layoutcode)
  • status: status-code van de betaling, zie Check API
  • cname: naam van de klant, mits de betaling gelukt is
  • cbank: IBAN nummer van klant, mits betaling gelukt is
Om te zekeren dat de status terugmelding van DigiWallet afkomt, dient u altijd de Check API . De output van de report URL zal niet zichtbaar zijn voor de klant. De klant wordt doorgestuurd naar de return- of cancel URL.
https://www.myshop.nl /reportOrder
returnurl* Return URL: naar deze pagina wordt uw klant verwezen na een (succesvolle) betaling. Aan deze URL wordt het transactienummer in de variabele trxid meegegeven.
Voorbeeld: https://www.myshop.nl/thankYouPage?trxid=30626804185492
https://www.myshop.nl /thankYouPage
cancelurl Cancel URL: de URL waar de bezoeker naar toe wordt gestuurd na het afbreken van de betaling. Als deze niet ingevuld is, dan wordt na een afgebroken betaling naar de return URL verwezen. https://www.myshop.nl /orderCancelled
userip IP adres van de klant. 213.76.8.33
test Of de test-modus moet worden gebruikt.
Merk op dat de test-modus nog steeds een transactie met echt geld betreft, maar deze hoeft niet succesvol afgerond te worden om een success melding te krijgen van de Check API.
"1" of "0"


U krijgt vervolgens een resultaat als volgt:

resultaatcode   transactienummer | bank-url

Voorbeeld

000000 30626804185492|https://ideal-et.abnamro.nl/nl/ideal/identification.do?randomizedstring=1684152718&trxid=30626804185492
U kunt vervolgens het transactienummer opslaan in uw database en de bezoeker doorsturen naar de bank-url door middel van een redirect.


Mogelijke resultaatcodes:

Resultaatcode Omschrijving
000000 Betaling is klaargezet
DW_SE_0001 No layoutcode Geen layoutcode meegegeven
DW_SE_0002 Amount too low Bedrag is te laag
DW_SE_0003 Amount too high Bedrag is te hoog
DW_SE_0004 No or invalid return URL Geen of ongeldige return URL meegegeven
DW_SE_0005 Invalid bank ID Geen bank ID meegegeven
DW_SE_0006 No or invalid description Geen omschrijving meegegeven
DW_SE_0007 Your service to this payment method is (temporarily) blocked by the administrator Account geblokkeerd wegens vermeend misbruik
DW_SE_0008 Your approval for this payment method is still in progress Het account is nog niet goedgekeurd voor iDEAL. Vul de gegevens van uw account aan
DW_SE_0009 Invalid layoutcode Het shop ID (rtlo) is onjuist of bestaat niet
DW_SE_0010 Invalid reporturl De reporturl is geen geldige URL
DW_SE_0011 Invalid userip Het userip is geen geldig IP adres
DW_SE_0012 Userip cannot be a local IP address Lokale IP addressen zijn niet toegestaan, dit moet publiek zijn
DW_SE_0013 Invalid cancelurl De cancelurl is geen geldige URL
DW_IE_0001 Unknown internal error Onbekende interne foutmelding. Mail naar techsupport@targetmedia.eu voor ondersteuning
DW_IE_0002 Maximum retries at acquirer bank exceeded for primary and fallback Er zijn teveel pogingen gedaan om de transactie te starten bij de bank, de betaling kan niet gestart worden
DW_IE_0003 Failed to create transaction De bank geeft geen transactienummer terug
DW_IE_0004 Organization not found Kon geen organisatiegegevens vinden op basis van de layoutcode

Controleer in geval van fouten of de parameters goed zijn overgenomen uit de documentatie. Als dit het geval lijkt te zijn, neem dan contact op met DigiWallet. Vermeldt de aanroep en de foutmelding.

Check API Status van een betaling opvragen


Aan de hand van het transactienummer kunt u controleren of de betaling daadwerkelijk is gedaan. Na de betaling wordt de report URL onder water aangeroepen door de DigiWallet server. Hierbij wordt ook de betaalstatus vermeld, maar we adviseren om veiligheidsredenen altijd zelf de status nog op te vragen bij DigiWallet.

Roep de volgende URL aan met een GET of POST:

https://transaction.digiwallet.nl/ideal/check

Met de volgende parameters (* = verplicht):

Variabele Toelichting Voorbeeld
rtlo* Shop ID (layoutcode) 93393
trxid* transactienummer 30626804185492
once* Als u 1 invult, dan zal slechts eenmaal een OK status teruggegeven worden. Als de bovenstaande URL nog een keer wordt aangeroepen voor dezelfde transactie, dan volgt een melding DW_SE_0028 Transaction already checked. Als u voor once '0' invult, dan zal steeds een 000000 OK status terug blijven komen. 0


Als de betaling met succes afgerond is, ontvangt u als antwoord :

000000 OK


Als de betaling nog niet is afgerond of de transactie is niet bekend :

Foutcode Omschrijving
DW_SE_0020 Transaction has not been completed, try again later Transactie is nog niet afgerond, probeer het later opnieuw
DW_SE_0021 Transaction has been cancelled Transactie is geannuleerd
DW_SE_0022 Transaction has expired Transactie is verlopen (max. 10 minuten)
DW_SE_0023 Transaction could not be processed De transactie kon niet verwerkt worden
DW_SE_0024 Transaction already checked Reeds ingewisseld
DW_SE_0025 Test mode success Standard response when running in test mode
DW_SE_0001 No layoutcode Geen layoutcode opgegeven
DW_SE_0018 No valid identifiers Geen transactie-id opgegeven
DW_SE_0016 Transaction not found Geen transactie met dit ID gevonden
DW_SE_0019 Layoutcode does not match transaction Layoutcode hoort niet bij deze transactie
DW_IE_0001 Unknown internal error Onbekende interne foutmelding. Mail naar techsupport@targetmedia.eu voor ondersteuning