Carduri (Visa și Mastercard)
Acceptați plăți cu carduri de credit și debit
Prezentare generală
Acceptați plăți cu carduri de credit și debit prin API-ul Cost+ folosind metoda de plată credit-card.
{
"transactions": [
{
"payment_method": "credit-card"
}
]
}Branduri de carduri suportate
| Brand | Tip |
|---|---|
| Amex | Credit |
| Mastercard | Credit / Debit |
| Maestro | Debit |
| Visa | Credit / Debit |
| V Pay | Debit |
Opțiuni de configurare
Descriptor dinamic
Folosiți câmpul dynamic_descriptor pentru a seta un text personalizat care apare pe extrasul bancar sau de card al clientului.
{
"transactions": [
{
"payment_method": "credit-card",
"payment_method_details": {
"dynamic_descriptor": "My Store Order 123"
}
}
]
}Utilizarea numelui clientului ca nume de titular de card
Setați use_customer_name_as_cardholder_name la true pentru a utiliza automat numele clientului din comandă ca nume de titular de card.
{
"transactions": [
{
"payment_method": "credit-card",
"payment_method_details": {
"use_customer_name_as_cardholder_name": true
}
}
]
}Formular personalizat de introducere a cardului
Dacă doriți să construiți propriul formular de introducere a cardului în loc să folosiți pagina de plată găzduită, urmați acești patru pași.
Pasul 1: Creați o comandă cu un token de configurare
Creați o comandă și includeți setup_token: true în payment_method_details al tranzacției. Aceasta îi spune lui Cost+ să genereze un token de configurare pe care îl puteți folosi pentru a tokeniza în siguranță detaliile cardului.
curl -X POST https://api.costplus.online/v1/orders \
-u your-api-key: \
-H "Content-Type: application/json" \
-d '{
"currency": "EUR",
"amount": 5000,
"merchant_order_id": "order-001",
"transactions": [
{
"payment_method": "credit-card",
"payment_method_details": {
"setup_token": true
}
}
],
"return_url": "https://example.com/return",
"webhook_url": "https://example.com/webhook"
}'Răspunsul va include o valoare setup_token în payment_method_details al tranzacției:
{
"id": "order-uuid",
"transactions": [
{
"id": "txn-uuid",
"payment_method": "credit-card",
"payment_method_details": {
"setup_token": "st_abc123..."
}
}
]
}Pasul 2: Tokenizați detaliile cardului
Trimiteți PAN-ul cardului, data de expirare și tokenul de configurare la endpoint-ul de tokenizare. Aceasta stochează în siguranță cardul și returnează un vault_token.
curl -X POST https://api.costplus.online/v1/tokens/ \
-H "Content-Type: application/json" \
-d '{
"pan": "4111111111111111",
"expiry_date": "1228",
"setup_token": "st_abc123..."
}'Răspuns:
{
"vault_token": "vt_xyz789..."
}Pasul 3: Autentificați tranzacția
Trimiteți vault_token și cvc la endpoint-ul de autentificare. Dacă 3D Secure este necesar, veți primi un redirect_url pentru a redirecționa clientul către pagina de autentificare a băncii.
curl -X POST https://api.costplus.online/v1/orders/{order_id}/transactions/{transaction_id}/authenticate/ \
-u your-api-key: \
-H "Content-Type: application/json" \
-d '{
"vault_token": "vt_xyz789...",
"cvc": "123"
}'Răspuns:
{
"redirect_url": "https://3ds.bank.example.com/auth?id=..."
}Redirecționați clientul la redirect_url pentru a finaliza autentificarea 3D Secure. După ce clientul finalizează (sau anulează) autentificarea, va fi redirecționat înapoi la return_url.
Pasul 4: Verificați statusul comenzii
După ce clientul revine de la 3D Secure, verificați comanda pentru a afla statusul final.
curl -X GET https://api.costplus.online/v1/orders/{order_id} \
-u your-api-key:Statusul comenzii va trece la una dintre:
| Status | Semnificație |
|---|---|
completed | Plata a fost efectuată cu succes |
cancelled | Clientul a anulat sau autentificarea a eșuat |
error | A apărut o eroare în timpul procesării |
expired | Comanda a expirat înainte de finalizare |
Pentru fluxuri de autorizare și captură manuală cu plăți prin card, consultați ghidul Autorizare / Captură / Anulare.