Documentatie

Er zijn twee manieren om een reservering te laten betalen via de API. Welke je kunt gebruiken, hangt af van de betaalprovider van de omgeving. Deze pagina beschrijft beide routes, de toegestane waarden voor method, en wat de foutmeldingen betekenen.

Route 1: de betaallink (werkt met elke provider)

Een geslaagde booking/add geeft naast het reserveringsnummer een veld payment_link terug, zodra de betaalmodule actief is:

https://<jouw-omgeving>/front?mod=payments&booknumber=1234

Stuur de bezoeker naar die link. Hij komt dan op de betaalpagina van i-Reserve, kiest daar zijn betaalwijze en wordt doorgestuurd naar de provider. Dit werkt met iedere betaalprovider die in de omgeving is ingericht, en je hoeft zelf geen betaalformulier te bouwen. Voor de meeste integraties is dit de route.

Route 2: de checkout-aanroep (beperkt beschikbaar)

Wil je het betaalformulier zelf bouwen, dan kun je de velden van de provider opvragen:

POST api/rest/payment/booking
{
  "booking_id": 1234,
  "method": "BUCKAROO"
}

In versie 2 van de API staat het reserveringsnummer in het pad: POST api/rest/v2/payment/booking/1234/checkout, met alleen {"method": "BUCKAROO"} in de body. Voor een factuur werkt payment/invoice op dezelfde manier.

Let op: deze aanroep is niet voor alle providers geïmplementeerd — zie de kolom Implemented in de tabel hieronder. Providers zonder implementatie antwoorden met {"message": "Not implemented"}. Krijg je dat terug, dan is de aanroep niet fout: die provider heeft simpelweg geen checkout via de API. Gebruik dan route 1. Omdat Ingenico en Ogone worden uitgefaseerd, is Buckaroo in de praktijk de provider die je voor deze route kiest.

Toegestane waarden voor method

De waarde is de naam van de betaalprovider, niet van een betaalwijze als iDEAL of Bancontact. Welke betaalwijzen de klant te zien krijgt, bepaalt de provider in zijn eigen checkout. De waarde is niet hoofdlettergevoelig.

methodBetaalproviderImplementedOpmerking
INGENICOIngenico (Worldline)JaWordt uitgefaseerd
OGONEAlias voor Ingenico, de oude naam OgoneJaWordt uitgefaseerd
BUCKAROOBuckarooJa 
MOLLIEMollieNeeGebruik de betaallink (route 1)
CARDGATECardGateNeeGebruik de betaallink (route 1)
STRIPEStripeNeeGebruik de betaallink (route 1)
PAYDOTPay. (voorheen Pay.nl)NeeGebruik de betaallink (route 1)

Let op dat Pay. wordt aangeroepen als PAYDOT. De schrijfwijzen PAYNL en PAY.NL herkent i-Reserve niet.

Betaalwijzen die i-Reserve zelf administreert — contant, pin, PayPal, knipkaart en betalen op rekening — hebben geen online checkout en start je dus niet met deze aanroep.

method of pay_id

  • method — gebruik dit normaal gesproken. i-Reserve zoekt zelf de eerste actieve betaalinstelling van die provider, binnen de licentie waar de reservering onder valt.
  • pay_id — het nummer van één specifieke betaalinstelling, te vinden onder Configuratie > Modules > Betaalinstellingen. Gebruik dit alleen als je meerdere instellingen van dezelfde provider hebt en precies weet welke checkout je wilt.

Staat er een pay_id groter dan 0 in het verzoek, dan wordt method genegeerd. Laat pay_id dus weg, of op 0, zolang je met method werkt.

Foutmeldingen

CodeMeldingBetekenis
200{"message": "Not implemented"}Deze provider kent geen checkout via de API. Gebruik de betaallink uit booking/add.
412No valid method could be foundDe opgegeven method staat niet in de tabel hierboven. Controleer de schrijfwijze.
404Cannot find payment config for method [X]De method is geldig, maar er staat in deze omgeving geen betaalinstelling voor die provider. Is de instelling er wel maar onvolledig ingevuld, dan krijg je deze melding niet.
412No valid booking_id could be foundEr staat geen reserveringsnummer in het verzoek.
404Booking id supplied but not foundHet opgegeven reserveringsnummer bestaat niet.
412The invoice is not finalAlleen een definitieve factuur kan betaald worden.