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:

  1. 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) ;
  2. 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) ;
  3. 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) ;

Standaard staat AfterPay niet aan voor uw account.
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:
  • eventType: soort gebeurtenis waarvoor de callback wordt uitgestuurd, mogelijke waarden zijn: invoiceCaptured, invoiceRejected
  • invoiceID: bestelnummer
  • invoiceKey: hash sleutel uniek aan de factuur
  • invoicePaymentReference: presentable betaalreferentie, e.g.: AFP-0000012345
  • rejectionReason: in geval van weigering, enkele regel reden
  • rejectionMessages: in geval van weigering, JSON-geëncodeerde array aan berichten
  • eventDateTime: YYYY-MM-DD H:i:S datumtijd van de gebeurtenis
Om te zekeren dat de status terugmelding van DigiWallet afkomt dient u altijd de Check API aan te roepen. 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
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

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.

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, exclusief BTW (zie onder), decimaal 10.00
taxCategory* Welke BTW waarde van toepassing is op dit product in de order, opties:
  • 1: Hoog (21%)
  • 2: Laag (6%)
  • 3: Nul (0%)
  • 4: Geen (-)
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