API REFERENCE
Token verkrijgen (directe integratie)
Van toepassing op: PCI DSS-gecertificeerde handelaren en instellingen
Gebruik deze API om een volledige betaling uit te voeren (3DS-verificatie is verplicht). YabandPay zet gevoelige kaarthoudergegevens om in een willekeurige tekenreeks (een Token), zodat de gegevens niet meer naar de kaarthouder te herleiden zijn. Het Token kan voor de volgende betalingen worden gebruikt:
- Klanten kunnen met één klik op de checkoutpagina betalen zonder creditcardgegevens in te voeren.
- Handelaren kunnen het Token gebruiken voor terugkerende betalingen, abonnementskosten en vergelijkbare doeleinden.
[!TIP|style:flat] Workflow
- Schakel Token-betalingen in. Neem contact op met uw accountmanager om de Token-betaalfunctie te activeren.
- Verkrijg toestemming van de gebruiker. Wanneer u expressbetalingen (Token-betalingen) voor consumenten inschakelt, moet u gebruikers duidelijk informeren en hun toestemming verkrijgen om mogelijke geschillen te voorkomen.
- Verkrijg een Token. Start eerst een standaardcreditcardtransactie. YabandPay retourneert een URL. Nadat de gebruiker via die URL de 3DS-verificatie heeft voltooid, retourneert YabandPay het Token in een asynchrone melding met de payment_token_object parameter.
- Start een Token-betaling. Neem het Token op in de payment_token_object variabele. Als de Token-validatie slaagt, verwerkt YabandPay de betaling. Als de validatie mislukt, retourneert YabandPay een fout. In dat geval raden we aan deze transactiestroom opnieuw te doorlopen om een Token te verkrijgen en vervolgens de betaling opnieuw te starten.
| Parameter | Type | Beschrijving | Verplicht |
|---|---|---|---|
| user | String | Kassiersaccount UID | Verplicht |
| sign | String | Signature | Verplicht |
| method | String | v3.CreateCardPayments | Verplicht |
| time | Long | Timestamp | Verplicht |
- Parameters
| Parameter | Type | Beschrijving | Verplicht |
|---|---|---|---|
| pay_method | String | online | Verplicht |
| sub_pay_method | String | Card | Verplicht |
| operation | String | 10.Create Token only; 11.Token for sales; 12.Token for authorisation | Verplicht |
| order_id | String | Merchant order ID | Verplicht |
| 3ds_initiate | String | 3ds settings. 01. 3ds verification must be enabled; | Verplicht |
| cardinfo | String | Card information | Treat the value of cardinfo as a string (fields within cardinfo do not need to be included in sorting) |
| cardinfo.card_holder | string | Naam van de kaarthouder | Verplicht |
| cardinfo.card_number | string | Kaartnummer | Verplicht |
| cardinfo.expiration_month | string | Vervalmaand van de kaart, MM | Verplicht |
| cardinfo.expiration_year | string | Vervaljaar van de kaart, YYYY | Verplicht |
| cardinfo.cvc | string | CVC (het opslaan van de CVC in welke vorm dan ook is in strijd met PCI DSS-vereisten) | Verplicht |
| amount | String | Numeric amount. For example, € 24.99 moet worden geschreven als 24.99. Als operation gelijk is aan 10, stel amount in op0 | Verplicht |
| currency | String | ISO 4217 currency code, bijvoorbeeld EUR of CHF | Verplicht |
| description | String | Bestelomschrijving | Verplicht |
| string | E-mailadres van de kaarthouder | Verplicht | |
| demo | String | Aangepast veld | Optioneel |
| timeout | String | Vervaltijd in minuten (0-1440) | Verplicht |
| redirect_url | String | Redirect URL after payment | Optioneel |
| notify_url | String | URL voor asynchrone melding na betaling | Verplicht |
| request_id | String | Unieke aanvraag-ID; aanbevolen wordt een combinatie van cijfers en letters van ten minste 24 characters is recommended | Verplicht |
Signature example:
Gesorteerde parameters aaneengevoegd tot een queryreeks in URL-stijl
"3ds_initiate=01&amount=0.1&cardinfo={"card_holder":"John Smith","email":"JohnSmith@gmail.com","card_number":"4356789012345670","expiration_month":"01","expiration_year":"2023","cvc":"123"}¤cy=EUR&description=test&method=v3.CreateCardPayments¬ify_url=https://www.yabandpay.com/notify&operation=11&order_id=1756878556&pay_method=online&redirect_url=https://www.yabandpay.com/redirect_url&request_id=a7z1lox4l6z6mdx1udgn5gtezasze1x0&sca_exemption=LowValue&sub_pay_method=Card&time=1756878556&timeout=0&user=YOUR_CASHIER_UID"
Sign stringA met secret_key
De resulterende handtekening is:
"YOUR_SIGNATURE"
Request example:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.CreateCardPayments",
"time": 1756878556,
"data": {
"description": "test",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "11",
"order_id": 1756878556,
"cardinfo": "{\"card_holder\":\"John Smith\",\"card_number\":\"4356789012345670\",\"expiration_month\":\"01\",\"expiration_year\":\"2023\",\"cvc\":\"123\"}",
"sca_exemption": "LowValue",
"amount": "0.1",
"currency": "EUR",
"email": "JohnSmith@gmail.com",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"
}
}
Response example:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "2b2aa1af-6e97-4c01-8c52-86200bf66c82",
"amount": "0.1",
"currency": "EUR",
"url": "https://pay.yabandpay.com/pay_method/Y3JlZGl0Y2FyZA==/MmIyYWExYWYtNmU5Ny00YzAxLThjNTItODYyMDBiZjY2Yzgy",
"state": "processing"
},
"message": "",
"response_id": "202409091749500451314672"
}
Aanvullende informatie:
MIT & CIT :
MIT = Merchant Initiated subsequent transactions. Token-betalingen die door de handelaar worden gestart.
CIT = Cardholder Initiated Subsequent transactions. Token-betalingen waarbij de klant betrokken is. Geef bij het activeren van betalingen aan of u MIT of CIT nodig hebt, zodat de juiste modus kan worden ingesteld.
Payment result:
-
Een geslaagde aanvraag retourneert "status": true.
-
Een mislukte aanvraag retourneert "status": false.
Stuur de klant door naar de geretourneerde url. Nadat de klant daar de kaartgegevens heeft ingevoerd en de betaling heeft voltooid, wordt deze doorgestuurd naar url, de klant wordt doorgestuurd naar redirect_url. We raden sterk aan zowel Query Order and Asynchronous Notifications te gebruiken om de betalingsstatussen actueel en nauwkeurig te houden.
Returned Token:
-
Nadat de klant toestemming heeft gegeven en de betaling is geslaagd, retourneert YabandPay payment_token_object via een asynchrone melding.
-
Als de klant geen toestemming geeft of de betaling niet voltooit, retourneert de asynchrone melding geen payment_token_object.
3DS low-value exemption:
Transacties tot de onderstaande limieten komen mogelijk in aanmerking als transactie met een laag bedrag. Als het bestelbedrag niet hoger is dan het toepasselijke bedrag hieronder, mag transactiecode 02 (vrijstelling voor lage bedragen) met goedkeuring worden gebruikt.
| # | Currency | Amount |
|---|---|---|
| 1 | EUR | 30 |
| 2 | DKK | 225 |
| 3 | GBP | 27 |
| 4 | SEK | 310 |
| 5 | ISK | 5000 |
| 6 | NOK | 325 |
| 7 | CHF | 32 |
| 8 | PLN | 135 |
| 9 | USD | 36 |
Response codes:
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -1000 | Internal error |
| false | -403 | The signature Error |
| false | -2001 | The user not exist |
| false | -3001 | Required field is missing |
| false | -4118 | Incorrect request ID |
| false | -4120 | No operational permissions |
