Karty (Visa i Mastercard)
Przyjmowanie płatności kartami kredytowymi i debetowymi
Przegląd
Przyjmuj płatności kartami kredytowymi i debetowymi przez API Cost+ przy użyciu metody płatności credit-card.
{
"transactions": [
{
"payment_method": "credit-card"
}
]
}Obsługiwane marki kart
| Marka | Typ |
|---|---|
| Amex | Kredytowa |
| Mastercard | Kredytowa / Debetowa |
| Maestro | Debetowa |
| Visa | Kredytowa / Debetowa |
| V Pay | Debetowa |
Opcje konfiguracji
Dynamiczny deskryptor
Użyj pola dynamic_descriptor, aby ustawić niestandardowy tekst wyciągu, który pojawi się na wyciągu bankowym lub kartowym klienta.
{
"transactions": [
{
"payment_method": "credit-card",
"payment_method_details": {
"dynamic_descriptor": "My Store Order 123"
}
}
]
}Użycie nazwy klienta jako imienia posiadacza karty
Ustaw use_customer_name_as_cardholder_name na true, aby automatycznie użyć nazwy klienta z zamówienia jako imienia posiadacza karty.
{
"transactions": [
{
"payment_method": "credit-card",
"payment_method_details": {
"use_customer_name_as_cardholder_name": true
}
}
]
}Niestandardowy formularz wprowadzania danych karty
Jeśli chcesz zbudować własny formularz wprowadzania danych karty zamiast korzystać z hostowanej strony płatności, wykonaj następujące cztery kroki.
Krok 1: Utwórz zamówienie z tokenem konfiguracyjnym
Utwórz zamówienie i dołącz setup_token: true w payment_method_details transakcji. To informuje Cost+, aby wygenerował token konfiguracyjny, którego możesz użyć do bezpiecznej tokenizacji danych karty.
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"
}'Odpowiedź będzie zawierać wartość setup_token w payment_method_details transakcji:
{
"id": "order-uuid",
"transactions": [
{
"id": "txn-uuid",
"payment_method": "credit-card",
"payment_method_details": {
"setup_token": "st_abc123..."
}
}
]
}Krok 2: Tokenizuj dane karty
Wyślij numer PAN karty, datę ważności i token konfiguracyjny do punktu końcowego tokenizacji. To bezpiecznie zapisuje kartę i zwraca 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..."
}'Odpowiedź:
{
"vault_token": "vt_xyz789..."
}Krok 3: Uwierzytelnij transakcję
Prześlij vault_token i cvc do punktu końcowego uwierzytelniania. Jeśli wymagane jest 3D Secure, otrzymasz redirect_url do przekierowania klienta na stronę uwierzytelniania jego banku.
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"
}'Odpowiedź:
{
"redirect_url": "https://3ds.bank.example.com/auth?id=..."
}Przekieruj klienta na redirect_url, aby ukończył uwierzytelnianie 3D Secure. Po zakończeniu (lub anulowaniu) uwierzytelniania klient zostanie przekierowany z powrotem na Twój return_url.
Krok 4: Odpytuj status zamówienia
Po powrocie klienta z 3D Secure odpytaj zamówienie, aby sprawdzić końcowy status.
curl -X GET https://api.costplus.online/v1/orders/{order_id} \
-u your-api-key:Status zamówienia zmieni się na jeden z:
| Status | Znaczenie |
|---|---|
completed | Płatność zakończyła się sukcesem |
cancelled | Klient anulował lub uwierzytelnianie nie powiodło się |
error | Wystąpił błąd podczas przetwarzania |
expired | Zamówienie wygasło przed zakończeniem |
Aby dowiedzieć się więcej o ręcznej autoryzacji i przechwytywaniu płatności kartą, zobacz przewodnik Autoryzacja / Przechwycenie / Anulowanie.