Przejdź do głównej zawartości

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

  1. Tworzysz transakcję i dostajesz redirectUrl.
  2. 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.
  3. 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 klientaStatus transakcji
Karta zautoryzowanaPAID
Bank odrzucił płatność albo klient nie przeszedł 3-D SecureFAILED
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