Documentatie/API-referentie

API REFERENCE

Token verkrijgen

POSThttps://mapi.yabandpay.com/Payments
Live API
API PLAYGROUND · Live API

Token verkrijgen

POSThttps://mapi.yabandpay.com/Payments
Automatically signed with your credentials

Request parameters15

Required fields first

获取Token(HPP)

pay_methodRequiredstringdata.pay_methodonline
sub_pay_methodRequiredstringdata.sub_pay_methodCards HPP
operationRequiredstringdata.operation10.Create Token only; 11.Token for sales; 12.Token for authorisation
amountRequiredstringdata.amount金额数字。例如 € 24.99 应该写成24.99。如果operation为10,请设置amount=0
currencyRequiredstringdata.currency货币代码,ISO 4217,例如EUR,CHF
descriptionRequiredstringdata.description订单描述
emailRequiredstringdata.email持卡人email
timeoutRequiredstringdata.timeout过期时间单位分钟(0-1440)
notify_urlRequiredstringdata.notify_url支付完成后异步通知地址
request_idRequiredstringdata.request_id请求id需保持唯一,建议24以上位数字+字母
Optional parameters 4
cardinfoOptionalstringdata.cardinfo卡信息
form_typeOptionalstringdata.form_type返回的url类型,默认01。 01.completed, 02.iframe
demoOptionalstringdata.demo自定义字段
redirect_urlOptionalstringdata.redirect_url支付完成后跳转地址

请求参数

3ds_initiateRequiredstringdata.3ds_initiate3ds设置。 01. 必须开启3ds验证;

Credentials stay on this page. Your secret key is never stored or sent to the documentation server.

Van toepassing op: een Token verkrijgen via de gehoste betaalpagina van YabandPay

De Hosted Payment Page (HPP) van YabandPay is een gebruiksklare betaalpagina die volledig door YabandPay wordt beheerd. Handelaren kunnen betalingen veilig accepteren doordat gevoelige PCI-gegevens op het systeem van YabandPay worden gehost. Het formulier kan als iframe of omleidingspagina in de checkout van de handelaar worden opgenomen.

Nadat de betaler een standaardcreditcardtransactie op de gehoste betaalpagina van YabandPay heeft voltooid en toestemming heeft gegeven, zet YabandPay de 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:

  1. Klanten kunnen met één klik op de checkoutpagina betalen zonder creditcardgegevens in te voeren.
  2. Handelaren kunnen het Token gebruiken voor terugkerende betalingen, abonnementskosten en vergelijkbare doeleinden.

[!TIP|style:flat] Workflow

  1. Schakel Token-betalingen in. Neem contact op met uw accountmanager om de Token-betaalfunctie te activeren.
  1. 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.
  1. Verkrijg een Token. Start eerst een standaardcreditcardtransactie. YabandPay retourneert een betaal-URL. Nadat de gebruiker via die URL heeft betaald en toestemming heeft gegeven, retourneert YabandPay het Token in een asynchrone melding met de payment_token_object parameter.
  1. 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 opnieuw een standaardcreditcardtransactie te starten om een Token te verkrijgen en daarna de betaling opnieuw te starten.
ParameterTypeBeschrijvingVerplicht
userStringKassiersaccount UIDVerplicht
signStringSignatureVerplicht
methodStringv3.CreateCardPaymentsVerplicht
timeLongTimestampVerplicht
  • Parameters
ParameterTypeBeschrijvingVerplicht
pay_methodStringonlineVerplicht
sub_pay_methodStringCards HPPVerplicht
operationString10.Create Token only; 11.Token for sales; 12.Token for authorisationVerplicht
order_idStringMerchant order IDVerplicht
3ds_initiateString3ds settings. 01. 3ds verification must be enabled;Verplicht
cardinfoStringCard informationTreat the value of cardinfo as a string (fields within cardinfo do not need to be included in sorting)
cardinfo.card_holderstringNaam van de kaarthouderVerplicht
cardinfo.card_numberstringKaartnummerVerplicht
cardinfo.expiration_monthstringVervalmaand van de kaart, MMVerplicht
cardinfo.expiration_yearstringVervaljaar van de kaart, YYYYVerplicht
cardinfo.cvcstringCVC (het opslaan van de CVC in welke vorm dan ook is in strijd met PCI DSS-vereisten)Verplicht
amountStringNumeric amount. For example, € 24.99 moet worden geschreven als 24.99. Als operation gelijk is aan 10, stel amount in op0Verplicht
currencyStringISO 4217 currency code, bijvoorbeeld EUR of CHFVerplicht
descriptionStringBestelomschrijvingVerplicht
form_typeStringType of the returned url. Default: 01. 01.completed, 02.iframeOptioneel
demoStringAangepast veldOptioneel
emailstringE-mailadres van de kaarthouderVerplicht
timeoutStringVervaltijd in minuten (0-1440)Verplicht
redirect_urlStringRedirect URL after paymentOptioneel
notify_urlStringURL voor asynchrone melding na betalingVerplicht
request_idStringUnieke aanvraag-ID; aanbevolen wordt een combinatie van cijfers en letters van ten minste 24 characters is recommendedVerplicht

Signature example:

Gesorteerde parameters aaneengevoegd tot een queryreeks in URL-stijl

"3ds_initiate=01&amount=0.1&currency=EUR&description=test&email=JohnSmith@gmail.com&form_type=01&method=v3.CreateCardPayments&notify_url=https://www.yabandpay.com/notify&operation=11&order_id=1725875388&pay_method=online&request_id=dxktqiedfpkswnripi631ppg6fl2uoym&sub_pay_method=Cards HPP&time=1725875388&timeout=30&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": 1725875388,
    "data": {
        "3ds_initiate": "01",
        "description": "test",
        "timeout": "30",
        "pay_method": "online",
        "sub_pay_method": "Cards HPP",
        "operation": "11",
        "form_type": "01",
        "order_id": 1725875388,
        "amount": "0.1",
        "currency": "EUR",
        "email": "JohnSmith@gmail.com",
        "notify_url": "https://www.yabandpay.com/notify",
        "request_id": "dxktqiedfpkswnripi631ppg6fl2uoym"
    }
}

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:
  1. Een geslaagde aanvraag retourneert "status": true.

  2. 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:
  1. Nadat de klant toestemming heeft gegeven en de betaling is geslaagd, retourneert YabandPay payment_token_object via een asynchrone melding.

  2. 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.

#CurrencyAmount
1EUR30
2DKK225
3GBP27
4SEK310
5ISK5000
6NOK325
7CHF32
8PLN135
9USD36
Response codes:
StatusCodeMessage
true200
false-1000Internal error
false-403The signature Error
false-2001The user not exist
false-3001Required field is missing
false-4118Incorrect request ID
false-4120No operational permissions