Płatność z pominięciem bramki Paymentic
Domyślny scenariusz integracji to taki, w którym po utworzeniu transakcji przekierowujesz klienta
na redirectUrl — stronę płatności Paymentic, gdzie klient sam wybiera metodę płatności (BLIK,
bank do przelewu online, kartę itd.).
W niektórych przypadkach wolisz jednak przeprowadzić wybór metody płatności po swojej stronie i od razu przekierować klienta prosto do jego banku lub operatora karty, z pominięciem ekranu wyboru Paymentic. Ta strona opisuje właśnie taki przepływ.
Kiedy warto tego użyć?
- Masz własny ekran wyboru metody płatności w checkoucie i nie chcesz pokazywać kolejnego ekranu wyboru.
- Chcesz wyświetlić klientowi listę banków z logotypami i od razu przekierować do wybranego.
- Integrujesz płatność w aplikacji mobilnej lub natywnym kliencie, gdzie dodatkowy ekran wyboru psuje UX.
Jak to działa w skrócie
Krok 1. Pobierz listę dostępnych kanałów
Lista metod i kanałów jest dynamiczna — zależy od umowy, waluty, kwoty i może się zmieniać. Pobieraj
ją z endpointu GET /v1_2/payment/points/{pointId}/channels, a nie trzymaj na sztywno po swojej
stronie.
curl -X GET "https://api.sandbox.paymentic.com/v1_2/payment/points/{pointId}/channels" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Przykład fragmentu odpowiedzi:
{
"data": [
{
"id": "mbank",
"available": true,
"method": "PBL",
"name": "mBank",
"image": {
"default": "https://static.paymentic.com/channels/mbank.png"
},
"currencies": [
"PLN"
],
"amount": {
"minimum": "1.00",
"maximum": "100000.00"
}
},
{
"id": "blik-level0",
"available": true,
"method": "BLIK",
"name": "BLIK",
"currencies": [
"PLN"
],
"amount": {
"minimum": "1.00",
"maximum": "100000.00"
}
}
]
}
Z tej odpowiedzi interesują Cię głównie dwa pola:
method— wartość, którą podasz wpaymentMethodprzy tworzeniu transakcji.id— wartość, którą podasz wpaymentChannelprzy tworzeniu transakcji.
Pole available: false oznacza, że dany kanał jest chwilowo niedostępny (np. serwis techniczny banku).
Nie pokazuj takich kanałów klientowi lub wyszarz je w interfejsie.
Dostępne metody płatności (paymentMethod)
| Wartość | Opis |
|---|---|
BLIK | Płatność BLIK (kod 6-cyfrowy lub płatność w aplikacji banku) |
PBL | Pay-by-link — przelew online, klient loguje się do banku |
CARD | Karta płatnicza (Visa, Mastercard) |
BNPL | Płatność odroczona (buy-now-pay-later) |
MW | Portfele mobilne (Apple Pay, Google Pay itd.) |
PAYSAFE | Płatności z grupy Paysafe (PaysafeCard, Skrill) |
Krok 2. Utwórz transakcję z wybraną metodą i kanałem
Do standardowego requesta dodajesz dwa pola: paymentMethod i paymentChannel. Dzięki nim
Paymentic wie, że klient wybór ma już za sobą i może pominąć stronę wyboru.
{
"amount": "149.00",
"currency": "PLN",
"title": "Zamówienie #12345",
"paymentMethod": "PBL",
"paymentChannel": "mbank"
}
W odpowiedzi dostajesz standardowy obiekt z redirectUrl — tyle że tym razem prowadzi on
bezpośrednio do strony logowania banku (mBanku w tym przykładzie), a nie do ekranu wyboru Paymentic:
{
"data": {
"id": "ABCD-123-XYZ-9876",
"redirectUrl": "https://pay.sandbox.paymentic.com/ABCD-123-XYZ-9876?token=...",
"whitelabel": null
}
}
Krok 3. Przekieruj klienta na redirectUrl
Dalszy przebieg jest identyczny jak w standardowym scenariuszu — przekierowujesz klienta
na data.redirectUrl, Paymentic prowadzi go przez resztę procesu, a zmiany statusu dostajesz
webhookiem.
Ważne uwagi
paymentChannelbezpaymentMethodnie zadziała. Oba pola musisz podać razem — kanał zawsze jest podrzędny wobec metody.- Kanał musi być zgodny z metodą. Np. dla
paymentMethod: "BLIK"jedynym sensownympaymentChanneljestblik-level0. - Niektóre metody wymagają dodatkowych pól. BLIK Level 0 wymaga danych klienta (
customer.name,customer.email,customer.ip,customer.userAgent) — zobacz BLIK Level 0 po szczegóły. - Cache'uj listę kanałów krótko. Raz na kilka minut wystarczy — pole
availablemoże się zmieniać dynamicznie (np. gdy bank wchodzi w okno serwisowe). - Nie ukrywaj nieobsługiwanych walut. Jeśli kanał nie obsługuje waluty transakcji (
currenciesw odpowiedzi), API zwróci błąd przy tworzeniu transakcji.
Co dalej?
- BLIK Level 0 — najbardziej "bezpośredni" wariant, z wprowadzeniem kodu BLIK bez przekierowania.
- Statusy transakcji — jak śledzić cykl życia transakcji.
- API Reference → Channels — pełna specyfikacja endpointu
channels.