Refund API
Met de REST API voor Refunds kunt u automatisch een transactie terugstorten aan de consument.
Het Refund proces in het kort:
- Maak een refund aan voor een bestaande, succesvolle transactie. (Aanmaak Methode)
- 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.
- Bevestigde refunds worden op verschillende momenten in de week aan consumenten teruggestort.
- 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 |
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
|
Voorbeeld rauwe respons
{"status":1,"message":"Validation failed","errors":{"transactionID":["Transaction not found."],"description":["Description cannot be blank."]}}
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
|
Voorbeeld rauwe respons
{"status":1,"message":"Validation failed","errors":{"transactionID":["This refund has already moved to invoicing and can no longer be deleted."]}}