AfterPay 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 3 stappen:
- Start de betaling via DigiWallet door het aanroepen van een URL met de details van de betaling. Als alle consumenteninformatie direct voorzien is, geeft DigiWallet u een transactienummer terug en verwerkt meteen de factuur bij AfterPay. Zo niet, dan geeft DigiWallet het transactienummer en een link naar het verrijkingsscherm terug. (Start API) ;
- Als niet alle informatie meegegeven is in de eerste aanroep, dan kan de consument doorgestuurd worden naar de DigiWallet omgeving om de ontbrekende informatie aan te vullen. (Verrijking) ;
- 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) ;
Voor meer informatie en voorwaarden neem contact op met sales@targetmedia.eu.
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/afterpay/start
Met de volgende parameters (* = verplicht):
Variabele | Toelichting | Voorbeeld |
---|---|---|
ver* | API versie, dit is versie 1 | 1 |
rtlo* | Shop ID (ook wel subaccount of layoutcode) waarop de betaling geboekt moet worden | 93393 |
amount* | Bedrag in eurocenten: Minimaal 500 , Maximaal 1000000 | 1000 |
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:
|
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. |
https://www.myshop.nl /orderCancelled |
userip* | IP adres van de klant. | 213.76.8.33 |
invoicelines* | JSON-encoded array van de verschillende factuurregels van deze factuur. | Zie Factuurregels |
billingstreet | Consument factuur straat adres | Dorpsstraat |
billinghousenumber | Consument factuur huisnummer | 1 A2 |
billingpostalcode | Consument factuur postcode | 1234AB |
billingcity | Consument factuur woonplaats | Dorpstad |
billingpersonemail | Consument factuur persoonlijk emailadres | jan.klaas.modaal@voorbeeld.nl |
billingpersoninitials | Consument factuur initialen | J.K. |
billingpersongender | Consument factuur geslacht | "M" of "F" |
billingpersonsurname | Consumer factuur achternaam | Modaal |
billingcountrycode |
Consument factuur landcode volgens ISO 639-1 |
NLD |
billingpersonlanguagecode |
Consument factuur taalcode volgens ISO 639-1 |
NLD |
billingpersonbirthdate | Consument factuur geboortedatum in YYYY-MM-DD formaat | 1992-11-01 |
billingpersonphonenumber | Consument factuur telefoonnummer | 31612345678 |
shippingstreet | Consument bezorging straat adres | Dorpsstraat |
shippinghousenumber | Consument bezorging huisnummer | 1 A2 |
shippingpostalcode | Consument bezorging postcode | 1234AB |
shippingcity | Consument bezorging woonplaats | Dorpstad |
shippingpersonemail | Consument bezorging persoonlijk emailadres | jan.klaas.modaal@voorbeeld.nl |
shippingpersoninitials | Consument bezorging initialen | J.K. |
shippingpersongender | Consument bezorging geslacht | "M" of "F" |
shippingpersonsurname | Consumer bezorging achternaam | Modaal |
shippingcountrycode |
Consument bezorging landcode volgens ISO 639-1 |
NLD |
shippingpersonlanguagecode |
Consument bezorging taalcode volgens ISO 639-1 |
NLD |
shippingpersonbirthdate | Consument bezorging geboortedatum in YYYY-MM-DD formaat | 1992-11-01 |
shippingpersonphonenumber | Consument bezorging telefoonnummer | 31612345678 |
test | De test verbinding gebruiken of niet. | "1" of "0" |
Als u alle consumenteninformatie hebt meegegeven in de Start API aanroep, dan zal de factuur direct verwerkt worden door AfterPay. Het resultaat hiervan is een "Captured" of een "Rejected" factuur. In geval de factuur "Captured" is krijgt u het volgende antwoord:
resultaatcode
transactienumber
|status
Voorbeeld
000000 12345|Captured
U kunt vervolgens het transactienumber
opslaan in uw database.
In geval van een "Rejected" factuur krijgt u het volgende antwoord:
resultaatcode
transactienumber
|status
|reason
Voorbeeld
000000 12345|Rejected|Leeftijd is onder de 18 jaar
Als u niet alle consumenteninformatie meegegeven hebt, krijgt u het volgende antwoord:
resultaatcode
transactienumber
|status
|enrichment-url
Voorbeeld
000000 12345|Incomplete|https://pay.digiwallet.nl/consumer/afterpay/enrich/79895d484eac22asd32d83323089f4723347645728d41282de03ff34ffc27574
U kunt vervolgens het transactienumber
opslaan in uw database en de bezoeker doorsturen naar de enrichment-url
door middel van een redirect.
Mogelijke resultaatcodes:
Resultaatcode | Omschrijving |
---|---|
000000 | Betaling is klaargezet |
DW_XE_0003 Validation failed, details: JSON-encoded array
|
Één of meer velden konden niet gevalideerd worden. U kunt de JSON array decoderen voor een gedetailleerde analyse. |
DW_IE_0001 Unknown internal error | Onbekende interne foutmelding. Mail naar techsupport@targetmedia.eu voor ondersteuning |
Factuurregels Orderspecificatie
Voor AfterPay is het vereist om elk object in een consumentenorder door te geven. De invoicelines
parameter ondersteunt dit concept. Het moet doorgevoerd worden als een JSON-encoded array bestaande uit de volgende array structuur (pseudocode):
[
0 => [
'productCode' => '0001-TEST',
'productDescription' => 'Test Object 1',
'quantity' => 1,
'price' => 10.00,
'taxCategory' => 1,
],
1 => [
'productCode' => '0002-TEST',
'productDescription' => 'Test Object 2',
'quantity' => 2,
'price' => 15.00,
'taxCategory' => 1,
],
]
Zoals hierboven te zien representeert elk element van de array een object in de order; hoeveelheden zijn aangegeven via de quantity key.
Toelichting van de invoicelines keys:
Key | Toelichting | Voorbeeld |
---|---|---|
productCode* | Webshop interne productcode, vrije text invoer | 0001-TEST |
productDescription* | Beschrijving van het product, vrije text invoer | Test Object 1 |
quantity* | Hoeveelheid van dit product in de order, integer | 1 |
price* | (Totale, na hoeveelheid) prijs van dit product in de order, inclusief BTW (zie onder), decimaal | 10.00 |
taxCategory* |
Welke BTW waarde van toepassing is op dit product in de order, opties:
|
1 |
Verrijking Consumenteninformatie
De verrijkingspagina is een formulier op DigiWallet waar de consument de order kan controleren en de ontbrekende informatie kan aanvullen. De consument kan geen informatie aanpassen die al voorzien is in de Start API aanroep, alleen de ontbrekende velden worden getoond.
Zodra het formulier volledig is ingevuld, zal de complete factuur direct aangeboden worden bij AfterPay. De consument krijgt daarna een scherm te zien met het resultaat; de factuur verwerkt is of afgewezen. In het geval de factuur is afgewezen, krijgt de consument de reden waarom te zien. Hierna wordt de consument teruggeleid naar de returnurl
.
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/afterpay/check
Met de volgende parameters (* = verplicht):
Variabele | Toelichting | Voorbeeld |
---|---|---|
rtlo* | Shop ID (layoutcode) | 93393 |
trxid* | transactienummer | 30626804185492 |
Als de factuur succesvol verwerkt is, ontvangt u als antwoord :
000000
invoiceKey
|invoicePaymentReference
|status
Voorbeeld
000000
8f33ac0f15ab7793b273708ae408c8fb7e2asda58fd12f891ac2b4b7a6c915013
|AFP-0000012345
|Captured
Als de factuur nog consumenteninformatie mist, ontvangt u als antwoord :
000000
invoiceKey
|invoicePaymentReference
|status
|enrichmentURL
Voorbeeld
000000
8f33ac0f15ab7793b273708ae408c8fb7e2asda58fd12f891ac2b4b7a6c915013
|AFP-0000012345
|Incomplete
|https://pay.digiwallet.nl/consumer/afterpay/enrich/8f33ac0f15ab7793b273708ae408c8fb7e2asda58fd12f891ac2b4b7a6c915013
Als de factuur is afgewezen door AfterPay, ontvangt u als antwoord :
000000
invoiceKey
|invoicePaymentReference
|status
|rejectionReason
|rejectionMessages
Voorbeeld
000000
8f33ac0f15ab7793b273708ae408c8fb7e2asda58fd12f891ac2b4b7a6c915013
|AFP-0000012345
|Rejected
|Leeftijd is onder de 18 jaar
|[{"message":"De consument is onder 18 jaar oud","description":"Het spijt ons u te moeten mededelen dat uw aanvraag om uw bestelling achteraf \n te betalen niet door AfterPay wordt geaccepteerd. This is because your age is under 18. If you \n want to use the AfterPay Open Invoice service, your age has to be 18 years or older.\n Voor vragen over uw afwijzing kunt u contact opnemen met de Klantenservice van AfterPay. Of \n kijk op de website van AfterPay.\n Wij adviseren u voor een andere betaalmethode te kiezen om alsnog de betaling van uw bestelling \n af te ronden."}]
Als de aanroep naar de Check API mislukt is :
Foutcode | Omschrijving |
---|---|
DW_XE_0003 Validation failed, details: JSON-encoded array
|
Één of meer velden konden niet gevalideerd worden. U kunt de JSON array decoderen voor een gedetailleerde analyse. |
DW_IE_0001 Unknown internal error | Onbekende interne foutmelding. Mail naar techsupport@targetmedia.eu voor ondersteuning |
Beschikbaar in plugins
This paymethod is supported in the following plugins: