Refund API

Met de REST API voor Refunds kunt u automatisch een transactie terugstorten aan de consument.

Het Refund proces in het kort:

  1. Maak een refund aan voor een bestaande, succesvolle transactie. (Aanmaak Methode)
  2. DigiWallet controleert elke nacht of uw Virtuele Bankrekening tegoed hoog genoeg is om de refund te betalen. Heeft u genoeg uitstaand tegoed? Dan wordt de refund bevestigd. Zo niet, dan krijgt u een melding per email. Als uw tegoed niet hoog genoeg is kunt u altijd een handmatige storting doen via de DigiWallet Backoffice.
  3. Bevestigde refunds worden op verschillende momenten in de week aan consumenten teruggestort.
  4. Een nieuwe refund kan verwijderd worden zolang hij nog niet bevestigd is. (Verwijder Methode)

HTTP Bearer Authenticatie

Deze API vereist HTTP Bearer authenticatie. (Lees meer...) Dit betekent dat uw verzoeken aan deze API een extra HTTP header met uw organisatie's API sleutel nodig hebben om geaccepteerd te worden.

U kunt uw organisatie's API sleutel vinden in uw Organisatie Dashboard.

Een voorbeeld van de HTTP header is als volgt:

Authorization: Bearer 12a34bc5de67f8g9012345678

RESTful API

Dit is een RESTful API. Dit betekent dat de API het RESTful formaat voor webservices volgt (Lees meer...)

Het respons formaat van deze API's is in (JSON). Een typische respons is een JSON-geëncodeerde array met een status integer om aan te geven of de aanroep gelukt is of niet, en een message string met een beschrijving van wat er is gebeurd.

Naast deze standaard elementen kan een API natuurlijk API-specifieke informatie teruggeven. e.g. transactionID integer voor het maken van een transactie. Of een nested errors array waarin gedetailleerde validatiefouten staan.

De HTTP response codes van de RESTful API's volgen de onderstaande logica:

HTTP Status Code Gebruikt in reactie op
200 (Success) Een succesvol verwerkt verzoek dat ook informatie teruggeeft
201 (Created) Een succesvol verwerkt aanmaak verzoek
202 (Accepted) Een succesvol geaccepteerd job verzoek
400 (Bad Request) Foutieve input parameters / validatiefouten
401 (Unauthorized) Foutieve inloggegevens
404 (Not Found) Object kon niet gevonden worden
405 (Method Not Allowed) Methode is niet ondersteund in deze API
500 (Internal Server Error) Er is een probleem opgetereden in DigiWallet's servers

Aanmaak Methode Maak nieuwe refund

Om een nieuwe refund te maken, roep de onderstaande API aan via HTTP POST.

https://api.digiwallet.nl/refund

Met de volgende parameters (* = verplicht):

Variabele Toelichting Voorbeeld
paymethodID* Aanduidingscode van de betaalmethode van de oorspronkelijke transactie. Op het moment zijn iDEAL en Bancontact ondersteund. Gebruik de waarden hieronder:
  • IDE: iDEAL
  • MRC: Bancontact
IDE
transactionID* Het transactienummer van de oorspronkelijke transaction. 12345678
amount* Het bedrag om te refunden in eurocenten. Merk op dat dit bedrag niet hoger kan zijn dan het bedrag in de oorspronkelijke transactie, plus 25,00 euro. 5000
description* Beschrijving voor op de consument's bankafschrift. Order 12345 niet leverbaar
internalNote Interne notitie voor in de DigiWallet Backoffice. Terrugestort door Jantien

U krijgt dan een JSON-geëncodeerde array terug met de volgende inhoud:

Key Waarde
status 0
message Refund successfully created
refundID ID van de gemaakte refund

Voorbeeld rauwe respons

{"status":0,"message":"Refund successfully created","refundID":12345}


In het geval van één of meer fouten krijgt u een JSON-geëncodeerde array respons met de volgende inhoud:

Key Waarde
status 1
message Validation failed
errors Nested JSON-geëncodeerde array met validatiefouten

Voorbeeld

Key Waarde
transactionID Transaction not found.
description Description cannot be blank.

Voorbeeld rauwe respons

{"status":1,"message":"Validation failed","errors":{"transactionID":["Transaction not found."],"description":["Description cannot be blank."]}}

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.

Verwijder Methode Verwijder onverwerkte refund

Om een nog niet bevestigde refund te verwijderen, roep de volgende API aan via HTTP DELETE.

https://api.digiwallet.nl/refund/<paymethodID>/<transactionID>

De query string parameters kunt u invullen als volgt (* = vereist):

Variabele Toelichting Voorbeeld
paymethodID* Aanduidingscode van de betaalmethode gebruikt bij het maken van de refund. IDE
transactionID* Het transactienummer van de oorspronkelijke transactie gebruikt bij het maken van de refund. 12345678

U krijgt dan een JSON-geëncodeerde array terug met de volgende inhoud:

Key Waarde
status 0
message Refund successfully deleted

Voorbeeld rauwe respons

{"status":0,"message":"Refund successfully deleted"}


In het geval van één of meer fouten krijgt u een JSON-geëncodeerde array respons met de volgende inhoud:

Key Waarde
status 1
message Validation failed
errors Nested JSON-geëncodeerde array met validatiefouten

Voorbeeld

Key Waarde
transactionID This refund has already moved to invoicing and can no longer be deleted.

Voorbeeld rauwe respons

{"status":1,"message":"Validation failed","errors":{"transactionID":["This refund has already moved to invoicing and can no longer be deleted."]}}

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.