Płatności kartą
Na tej stronie przyjmiesz płatność kartą Visa lub Mastercard przez stronę płatności Paymentic: tworzysz transakcję, przekierowujesz klienta, a kartę wpisuje on już po stronie Paymentic. Twój serwer i Twoja strona nigdy nie widzą numeru karty, więc zostajesz w najprostszym zakresie PCI DSS. Zob. PCI DSS i dane kart.
Jeśli chcesz, żeby klient wpisywał kartę bez opuszczania Twojego checkoutu (własny formularz, Google Pay i Apple Pay jako przyciski u Ciebie), użyj Card SDK.
Jak to działa
- Tworzysz transakcję i dostajesz
redirectUrl. - Klient na stronie Paymentic wybiera kartę (albo trafia prosto do formularza karty, jeśli
podałeś
paymentMethod: CARD) i przechodzi autoryzację, zwykle z 3-D Secure. - Paymentic wysyła webhook ze statusem. Zamówienie realizujesz dopiero po
PAID.
Krok 1. Utwórz transakcję
Najprostszy wariant to standardowa transakcja bez wskazywania metody. Klient wybierze kartę na stronie Paymentic. Zob. Tworzenie transakcji.
Jeśli wybór metody masz we własnym checkoucie, podaj paymentMethod: CARD. Pola paymentChannel
nie podajesz: schemat karty (Visa, Mastercard) Paymentic rozpoznaje po numerze wpisanym przez
klienta. Klient trafia od razu do formularza karty, z pominięciem ekranu wyboru.
curl -X POST "https://api.sandbox.paymentic.com/v1_2/payment/points/{pointId}/transactions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": "149.00",
"currency": "PLN",
"title": "Zamówienie #12345",
"paymentMethod": "CARD",
"redirect": {
"success": "https://twojsklep.pl/platnosc/sukces",
"failure": "https://twojsklep.pl/platnosc/blad"
}
}'
{
"data": {
"id": "ABCD-123-XYZ-9876",
"redirectUrl": "https://pay.sandbox.paymentic.com/ABCD-123-XYZ-9876?token=...",
"whitelabel": null
}
}
Przekieruj klienta na data.redirectUrl. Dostępność kanału kartowego, jego waluty, limity kwot
i typ rozliczenia sprawdzisz w GET /v1_2/payment/points/{pointId}/channels. Zob.
Metody i kanały płatności.
Krok 2. Odbierz status
Utworzenie transakcji nie oznacza zapłaty. Po autoryzacji Paymentic wysyła webhook
PAYMENT.TRANSACTION_STATUS_CHANGED.
| Co się stało u klienta | Status transakcji |
|---|---|
| Karta zautoryzowana | PAID |
| Bank odrzucił płatność albo klient nie przeszedł 3-D Secure | FAILED |
| Klient porzucił formularz, minął czas na płatność | EXPIRED |
Tylko PAID oznacza otrzymanie środków. Zob. Statusy transakcji.
Nie polegaj na powrocie klienta na redirect.success: klient może zamknąć przeglądarkę po autoryzacji,
a webhook i tak przyjdzie.
3-D Secure
Płatność kartą zwykle wymaga dodatkowego uwierzytelnienia klienta u banku wydawcy (3-D Secure).
W odpowiedzi GET /channels kanał kartowy ma w authorization.type wartość MULTI_FACTOR.
Cały przepływ 3-D Secure prowadzi strona płatności Paymentic. Nie musisz nic implementować,
ale licz się z tym, że między utworzeniem transakcji a webhookiem mija czas potrzebny klientowi
na potwierdzenie w aplikacji banku.
Zwroty
Zwroty kartowe, pełne i częściowe, robisz tak samo jak dla innych metod: Zwroty. Zwrot trafia na kartę, z której zapłacono.
Co dalej
- Testowanie kart: karty testowe dla każdego scenariusza, kwoty wymuszające odrzucenie, 3-D Secure w sandboxie.
- Zmiana statusu transakcji (webhook)
- Card SDK, jeśli chcesz pole karty we własnym checkoucie.