Documentation/Référence API

API REFERENCE

Obtenir un Token (intégration directe)

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

Obtenir un Token (intégration directe)

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

Request parameters14

Required fields first

获取Token(Card)

pay_methodRequiredstringdata.pay_methodonline
sub_pay_methodRequiredstringdata.sub_pay_methodCard
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 3
cardinfoOptionalstringdata.cardinfo卡信息
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.

Paramètres

ParameterTypeDescriptionObligatoire
data.pay_methodstringonline✓
data.sub_pay_methodstringCard✓
data.operationstring10.Create Token only; 11.Token for sales; 12.Token for authorisation✓
data.order_idinteger商户的订单ID✓
data.cardinfostring卡信息—
data.amountstring金额数字。例如 € 24.99 应该写成24.99。如果operation为10,请设置amount=0✓
data.currencystring货币代码,ISO 4217,例如EUR,CHF✓
data.descriptionstring订单描述✓
data.emailstring持卡人email✓
data.demostring自定义字段—
data.timeoutstring过期时间单位分钟(0-1440)✓
data.redirect_urlstring支付完成后跳转地址—
data.notify_urlstring支付完成后异步通知地址✓
data.request_idstring请求id需保持唯一,建议24以上位数字+字母✓
data.3ds_initiatestring3ds设置。 01. 必须开启3ds验证;✓
data.sca_exemptionstringSCA 豁免类型;样例中的该字段受 3DS 模式约束。✓

S’applique aux marchands et établissements certifiés PCI DSS

Utilisez cette API pour effectuer un paiement de bout en bout (la vérification 3DS est obligatoire). YabandPay convertit les données sensibles du titulaire de la carte en une chaîne aléatoire (un Token) afin de supprimer les informations permettant de l’identifier. Le Token peut être utilisé pour les paiements suivants :

  1. Les utilisateurs peuvent payer en un clic sur la page de paiement, sans saisir les coordonnées de leur carte.
  2. Les marchands peuvent utiliser ce Token pour les paiements récurrents, les abonnements et des usages similaires.

[!TIP|style:flat] Workflow

  1. Activez les paiements par Token. Contactez votre chargé de compte pour activer cette fonctionnalité.
  1. Obtenez le consentement de l’utilisateur. Lors de l’activation des paiements express (paiements par Token), vous devez informer clairement les consommateurs et obtenir leur consentement afin d’éviter tout litige.
  1. Obtenez un Token. Commencez par initier une transaction standard par carte de crédit. YabandPay renvoie a url. After the user completes 3DS verification through that url, YabandPay renvoie the Token in an asynchronous notification using the payment_token_object parameter.
  1. Initiez un paiement par Token. Incluez le Token dans la payment_token_object variable. Si la validation du Token réussit, YabandPay traite le paiement. Dans le cas contraire, YabandPay renvoie une erreur. In that case, we recommend repeating this transaction flow to obtain a Token and then initiating payment again.
ParamètreTypeDescriptionObligatoire
userStringCashier account UIDObligatoire
signStringSignatureObligatoire
methodStringv3.CreateCardPaymentsObligatoire
timeLongTimestampObligatoire
  • Parameters
ParamètreTypeDescriptionObligatoire
pay_methodStringonlineObligatoire
sub_pay_methodStringCardObligatoire
operationString10.Create Token only; 11.Token for sales; 12.Token for authorisationObligatoire
order_idStringMerchant order IDObligatoire
3ds_initiateString3ds settings. 01. 3ds verification must be enabled;Obligatoire
cardinfoStringCard informationTreat the value of cardinfo as a string (fields within cardinfo do not need to be included in sorting)
cardinfo.card_holderstringCardholder nameObligatoire
cardinfo.card_numberstringCard numberObligatoire
cardinfo.expiration_monthstringCard expiration month, MMObligatoire
cardinfo.expiration_yearstringCard expiration year, YYYYObligatoire
cardinfo.cvcstringCVC (storing the CVC in any form violates PCI DSS requirements)Obligatoire
amountStringNumeric amount. For example, € 24.99 must be written as 24.99. If operation is 10, set amount=0Obligatoire
currencyStringISO 4217 currency code, for example EUR or CHFObligatoire
descriptionStringOrder descriptionObligatoire
emailstringCardholder emailObligatoire
demoStringCustom fieldFacultatif
timeoutStringExpiration time in minutes (0-1440)Obligatoire
redirect_urlStringRedirect URL after paymentFacultatif
notify_urlStringAsynchronous notification URL after paymentObligatoire
request_idStringUnique request ID; a combination of digits and letters at least 24 characters is recommendedObligatoire

Signature example:

Sorted parameters concatenated into a URL-style query string

"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"}&currency=EUR&description=test&method=v3.CreateCardPayments&notify_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 using secret_key

Le champ resulting signature is:

"YOUR_SIGNATURE"

Exemple de requête:

{
	"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"
	}
}

Exemple de réponse:

{
    "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"
}

Informations complémentaires:

MIT & CIT :

MIT = Merchant Initiated subsequent transactions. Token payments initiated by the merchant.

CIT = Cardholder Initiated Subsequent transactions. Token payments involving the customer. When activating payments, specify whether you need MIT or CIT so the appropriate mode can be configured.

Résultat du paiement:
  1. Une requête réussie renvoie "status": true.

  2. Une requête échouée renvoie "status": false.

Redirect the customer to the returned url. After entering card details and completing payment at this url, the customer is redirected to redirect_url. Nous recommandons vivement d’utiliser à la fois Query Order and Asynchronous Notifications afin de maintenir les statuts de paiement exacts et à jour.

Token renvoyé:
  1. After the customer grants authorization and the payment succeeds, YabandPay renvoie payment_token_object through an asynchronous notification.

  2. If the customer does not grant authorization or does not complete payment, the asynchronous notification does not return payment_token_object.

3DS low-value exemption:

Les transactions respectant les limites suivantes peuvent être considérées comme des transactions de faible montant. Si le montant de la commande est inférieur ou égal au plafond applicable ci-dessous, le code de transaction 02 (low-value exemption) peut être utilisé sous réserve d’approbation.

#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