rest api
Kassakoppelings mogelijkheden via API van Pin Vandaag voor de volgende terminals,
Pax A77
Pax A920
Verifone V400m
Verifone P400
Verifone Vx680 (Enkel de WIFI versie)
Worldline Yomani
Worldline Yoximo
Kassakoppelings mogelijkheden via API van Pin Vandaag voor de volgende terminals,
Pax A77
Pax A920
Verifone V400m
Verifone P400
Verifone Vx680 (Enkel de WIFI versie)
Worldline Yomani
Worldline Yoximo
De rest-API heeft koppelingen met zowel CCV en WorldLine om de service te bieden. Omdat dit 2 verschillende koppelingen zijn die ook nog eens anders werken kan het voorkomen dat een functie bij WorldLine wel werkt en niet bij CCV. Voordat u begint bekijk de documentatie over de verschillende methodes goed en houd hier ook rekening mee. Als er een methode niet werkt bij een van de 2 soorten pin apparaten dan wordt dit ook aangegeven. Ook kan het voorkomen dat er iets andere gegevens terug worden gestuurd.
De API heeft de onderstaande methodes beschikbaar die aangeroepen kunnen worden.
LET OP! Niet alle methodes werken voor alle verschillende merken terminals.
Middels deze methode kunt u een transactie aanmaken.
Let op! wanneer u de paymentUrl wilt gebruiken dan is het ook verstandig om de returnUrl mee te geven aan de API. Anders wordt u steeds naar dezelfde pagina verwezen.
CURL voorbeeld:
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/transactions/create' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"' \
--form 'amount="AMOUNT"'
{
"transactionId": "2405102",
"status": "started",
"amount": 1,
"terminal": "50303253",
"createdAt": "2022-06-25 17:10:36",
"callbackUrl": null,
"ownReference": null
}
Middels deze functie kunt u de status van de transactie ophalen.
CURL voorbeeld:
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/transactions/status' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"' \
--form 'transactionId="TRANSACTION_ID"'
{
"transactionId": "TL220611120248997CB8FB114.1",
"status": "success",
"amount": 0,
"terminal": "706249441",
"createdAt": "2022-06-11 12:01:29",
"callbackUrl": null,
"paymentUrl": null,
"errorMsg": null,
"ownReference": null,
"receipt": "[\" Kopie Kaarthouder\",\" \",\"Terminal: CT695868 Merchant: 21830001 \",\"Periode: 2162 Transactie: 00000026\",\"Token: 1009216201031965010 \",\"Contactloze betaling\",\" (A0000000043060)\",\"Kaart: 673703xxxxxxxxx5008\",\"Kaartnr: 03 \",\" \",\"BETALING\",\"11/06/2022 12:03 Auth. code: D4O226\",\" \",\"Totaal: 0,01 EUR\",\" \",\" AKKOORD\"]",
"journalReceipt": "[\" JOURNAAL\",\" \",\"Terminal: CT695868 Merchant: 21830001 \",\"Periode: 2162 Transactie: 00000026\",\"Token: 1009216201031965010 \",\" (A0000000043060)\",\"Kaart: 673703xxxxxxxxx5008\",\"Kaartnr: 03 \",\" \",\"BETALING\",\"11/06/2022 12:03 Auth. code: D4O226\",\" \",\"Totaal: 0,01 EUR\",\" AKKOORD\",\"ACQUIRER ID: 52800002\",\"TRANSACTION TREATMENT RES. 0000\",\" ================\"]"
}
{
"transactionId": "2340636",
"status": "success",
"amount": 1,
"terminal": "50303253",
"createdAt": "2022-06-18 16:23:45",
"callbackUrl": null,
"incidentCode": null,
"errorMsg": null,
"ownReference": null,
"receipt": "[[0,\"POI: 50303253\\r\"],[0,\"KLANTTICKET\\r\"],[0,\"--------------------------------------\\r\"],[0,\"Terminal: CT695867\\r\"],[0,\"Merchant: 21830001\\r\"],[0,\"Periode: 2169\\r\"],[0,\"Transactie: 00000006\\r\"],[0,\"Token: 1009216902435162019\\r\"],[0,\"\\r\"],[0,\"\\r\"],[0,\"Maestro\\r\"],[0,\"(A0000000043060)\\r\"],[0,\"Kaart: 673703xxxxxxxxx5008\\r\"],[0,\"Kaartserienummer: 3\\r\"],[0,\"\\r\"],[0,\"BETALING\\r\"],[0,\"Datum: 18\\/06\\/2022 16:24\\r\"],[0,\"Autorisatiecode: E3G3A8\\r\"],[0,\"\\r\"],[0,\"\\r\"],[0,\"Totaal: 0,01 EUR\\r\"],[0,\"\\r\"],[0,\"Contactless\\r\"],[0,\"Leesmethode: CHIP\\r\"],[0,\"\"]]"
}
{
"transactionId": "TL220618175406586CB893D27.2",
"status": "failed",
"amount": 1,
"terminal": "706249441",
"createdAt": "2022-06-18 17:53:46",
"callbackUrl": null,
"receipt": null,
"paymentUrl": "https://redirect.jforce.be/terminal/poll?reference=TL220618175406586CB893D27.2",
"errorMsg": "processing_error",
"ownReference": null
}
{
"transactionId": "2340627",
"status": "failed",
"amount": 1,
"terminal": "50303253",
"createdAt": "2022-06-18 16:22:39",
"callbackUrl": null,
"receipt": null,
"incidentCode": "2628",
"errorMsg": "External Equipment Cancellation",
"ownReference": null
}
Middels deze functie kunt u een transactie annuleren die bezig is op de terminal. Deze functie annuleert alleen transacties die op de terminal bezig zijn.
CURL voorbeeld:
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/terminal/cancel' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"'
{
"status": "success",
"message": "transaction has been cancelled"
}
Middels deze functie kunt u een bon meesturen naar de klant. Deze functie werkt alleen met geslaagde transacties.
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/transactions/mailreceipt' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"' \
--form 'transactionId="TRANSACTION_ID"' \
--form 'recipientEmail="RECIPIENT_EMAIL"'
{
"status": "success",
"message": "mail sent to recipient@mail.nl"
}
Middels deze functie kunt u een terugbetaling starten op het pinapparaat.
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/transactions/refund' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"' \
--form 'amount="AMOUNT"'
{
"transactionId": "1234567",
"status": "started",
"amount": 1,
"terminal": "12345678",
"createdAt": "2022-06-25 18:17:42",
"callbackUrl": null
}
Middels deze functie kunt u een ctmp request richting een WorldLine terminal sturen.
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/terminal/ctmp' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"'
Success Response:
{
"status": "success",
"message": "CTMP request has been send"
}
Middels deze functie kunt u transacties ophalen tussen 2 aangegeven tijden. De API levert deze per honderd transacties terug.
curl --location --request POST 'https://rest-api.pinvandaag.com/V1/instore/transactions/date' \
--form 'terminalId="TERMINAL_ID"' \
--form 'key="API_KEY"' \
--form 'from="2022-02-01"' \
--form 'to="2022-07-13"' \
--form 'page="1"'
De webhook wordt pas aangeroepen wanneer er een verandering is van de status van een transactie. Om deze webhook te laten werken is het nodig om het veld “callbackUrl” mee te geven naar de API wanneer de methode “create” wordt aangeroepen, anders weet de API namelijk niet waar deze naartoe moet verstuurd worden.
De webhook stuurt voor nu helaas 1x de gegevens van de transactie op. Er wordt hier nog aan gewerkt om dit te verbeteren zodat wanneer er een webhook niet goed is afgeleverd dat deze ook na een tijdje opnieuw wordt aangeroepen.
{
"transactionId": "1234567",
"status": "failed",
"amount": 1,
"terminal": "12345678",
"createdAt": "2022-07-08 18:21:03",
"callbackUrl": "https://webhook.site/634112c8-a767-40c0-871a-80a507fe0a31",
"paymentUrl": null,
"receipt": null,
"ownReference": test
}