Oferta - ustawienia zaawansowane
Zakładka Zaawansowane kontroluje checkout, odporność na błędy bramki, dunning subskrypcji, zbieranie danych, grupy ofert oraz strony wyniku. Ustawienia dotyczą wyłącznie tej oferty i obowiązują na /pay, w checkout session (embed) oraz w powiązanych flow grafiku.
Dozwolone metody płatności
Multi-select: blik, card, applePay, googlePay. Co najmniej jedna metoda. Dostępność:
- BLIK - aktywny operator BLIK w organizacji + waluta ≠ EUR.
- Karta - operator karty; EUR wymaga PayU EUR POS.
- Apple Pay / Google Pay - aktywny operator portfela; przy subskrypcji portfele pozostają sensowne głównie gdy operator to Stripe (inaczej opcje są blokowane).
Rezerwowe ścieżki przy błędzie (payment fallbacks)
Gdy pierwsza próba w bieżącym checkout kończy się terminalnym błędem bramki, reguły (max 12) są oceniane od góry; stosowana jest pierwsza pasująca. Nie dotyczą onboardingu merchanta, zwrotów ani automatycznych odnowień poza pierwszą płatnością checkoutu.
Warunki (UI)
any_payment_failure,blik_recurring_not_supported,bad_pin,user_declined,issuer_declined,insufficient_funds,limit_exceeded,blik_timeout,alias_declined,channel_unavailable,system_or_connection_error
W schemacie API istnieją dodatkowo (bez selecta UI): payment_failed, transaction_failed, unsupported_blik_token.
Akcje reguły
- Oferta - przejście na inny
qr_…tej samej organizacji; przenoszony jest kontekst UX wzfc, dodawanesfa=1; parametryref/ promo pierwotnego linku nie są kopiowane. - Adres URL - HTTPS max 2048; dołączane UTM/źródła (bez
sig,qrId,ref, id płatności/sesji) +zfc. - BLIK manualny - tylko przy subskrypcji; klient zostaje na tej samej ofercie z
blikManualFallback=1, płaci eBLIK 6-cyfrowy zamiast aliasu; kolejne odnowienia wymagają ponownego kodu / przypomnień.
Ekran przejścia i refuseNoPayId
- Ekran przejścia - opcjonalne odliczanie ~10 s na
/payment/redirectlub/checkout/redirectprzed kontynuacją. - Uruchom manualne płatności powtarzalne BLIK… - przełącznik UI jest odwrócony względem API: UI ON zapisuje
refuseNoPayId: false(pozwól na manual, gdy bank nie wspiera aliasu). Domyślne API bez pola = refuse true.
Ponawianie i odnowienia manualne
- maxAttempts retry 1-10 (domyślnie 3), intervalDays 1-14 (domyślnie 1) - dla automatycznych ponowień przy recurring.
- Pola manual renewal (przypomnienia dayOffset −29…14, max 8 unikalnych; cancelAfterDaysUnpaid 1-30, domyślnie 2) pojawiają się tylko gdy skonfigurowano ścieżkę manual BLIK (przełącznik refuse lub reguła
blik_manual).
Checkout - kraj i zbieranie danych
- Wybór kraju zakupu + domyślny ISO2.
- Dane firmy - required / extended (NIP + adres na fakturę).
- Regulamin - override HTML (≤10000), checkbox enabled/required.
- Dodatkowe zgody - max 20;
id^[a-zA-Z0-9:_-]{1,64}$(bez zarezerwowanychterms:zevio,terms:custom,zevio:terms);labelHtml1-10000; enabled/required.
Zasady subskrypcji
- Wiele subskrypcji na klienta -
allowMultipleSubscriptions. - Pauza -
allowPause(merchant/customer pause tylko gdy włączone). - Blokada anulowania - minCancellationPeriod jako
NPlub token DWMY; opcja „w każdej rekurencji”. - Powiadomienie o rezygnacji -
renewalNotice.beforeNextPaymentmusi być krótsze niż frequency oferty.
Grupa ofert i oferta retencyjna
- Grupa: max 3 oferty łącznie (do 2 peerów), ta sama waluta, bez zagnieżdżania grup.
switchingEnabled(checkout) domyślnie true;subscriptionSwitchingEnableddomyślnie false.- Retention (anti-churn) - wymaga recurring +
targetQrId; klient może dostać ofertę retencyjną przy anulacji (endpoint retention jest customer-only).
Strony wyniku
Dla sukcesu i błędu niezależnie:
- default - ekran Zevio.
- external - HTTPS
successUrl/cancelUrl. - custom - tytuł ≤120, opis ≤500; na błędzie opcjonalnie retry; opcjonalny przycisk (label ≤100, url ≤2048).
W embed postMessage: CHECKOUT_STARTED, CHECKOUT_SUCCESS, CHECKOUT_FAILED - niezależnie od własnych URL.
Metadane i Stripe report
- Metadane: max 50 kluczy, klucz ≤255; trafiają do integracji/webhooków kontekstowych.
stripeReport- tylko przy aktywnej integracji Stripe / Express.