Integrarea POLi în aplicațiile mobile Casino
1) Context și limitări
Funcționalitate POLi: numai depozite; retragere - prin alte metode (transfer bancar/card/portofel).
Jurisdicții:
- Australia: operațiunile POLi au fost întrerupte (septembrie 2023); cazinouri online/AU sloturi rezidente sunt interzise (IGA 2001).
- Noua Zeelandă: POLi disponibil la locații licențiate; integrarea mobilă este relevantă.
- Concluzie: mai jos este o diagramă tehnică pentru piețele în care este permisă utilizarea (NZ și alte jurisdicții juridice).
2) Opțiuni de conectare arhitecturală
A. Redirect/Pagina de plată găzduită (HPP)
Clientul → casieria creează o sesiune de plată → redirecționează către bancă (browser/aplicație) → returnează prin 'return _ url' confirmarea → prin webhook/sondare.
Pro: cerințe PCI minime, model stabil, mai puține riscuri.
Contra: depinde de procesarea corectă a app-switch și return deeplink.
B. Server-to-Server + redirecționare (hibrid)
Serverul creează o plată de la furnizorul POLi, clientul mobil inițiază doar o redirecționare; statutul final vine cu un cârlig web.
Pro: reconceptie clara, retraiele confortabile, idempotenta pe backend.
Contra: mai multă logică a serverului.
💡Un „API pur” complet fără redirecționare este impracticabil: autentificarea băncii necesită trecerea la o bancă.
3) Fluxul de utilizator (UX mobil)
1. Casierie → selecţie POLi.
2. Introduceți o sumă → creați o sesiune de plată (txn\_ id, state/nonce, lifetime).
3. App-switch: deschideți o bancă (sau un browser cu o bancă de Internet).
4. Confirmarea transferului bancar login/2FA →.
5. Return 'return _ url'/deeplink către aplicația → ecranul rezultatului.
6. Backend-ul primește webhook-ul și finalizează depozitul; clientul solicită un statut de "txn _ id' (confirmare prin tragere) în cazul întârzierilor de cârlig web.
4) specificitatea iOS
Utilizați ASWebAuthenticationSession sau SFSafariViewController pentru pasul browserului; direct WKWebView este mai puțin potrivit datorită cookie-urilor/redirecționărilor.
Universal Links для 'return _ url'; procesarea în 'scene (_: continuare:)'.
Timpul de sesiune ≥ 10 minute, modul de fundal nu este necesar, dar este necesară salvarea stării caselor de marcat.
În cazul în care banca se deschide ca o aplicație separată, oferă un script prietenos back-to-app și re-obține statutul la întoarcere.
5) specificitatea Android
Taburi personalizate pentru streaming web este de preferat; pentru aplicații bancare - filtre de intenție și linkuri verificate App pentru 'return _ url'.
Prelucrarea rezultatelor - prin deeplink-activitate; requerying status at 'onCV ()'.
Nu stocați statutul de plată în „Activitate”; Utilizați ViewModel/depozit care suferă modificări de configurare.
Folback la browser-ul de sistem atunci când banca/aplicația nu este disponibilă.
6) Securitatea integrării
TLS este peste tot, interzicerea protocoalelor neprotejate. iOS ATS/Android Network Security Config - activat.
CSRF/Replay-protection: one-time 'state '/' nonce', reconciliere la retur.
Idempotența: cheia idempotenței pentru a crea plata; reprelucrarea cârligelor web este sigură.
Webhooks: semnătură, IP fix de ieșire (dacă este disponibil), Retray cu pauză exponențială, deduplicare după eveniment\_ id.
Jurnale: nu vă conectați/OTP; Mascați magazinul PII: 'txn _ id', timp de redirecționare/returnare, coduri de stare.
Root/Jailbreak semnale: un avertisment soft și un bloc de operațiuni cu risc ridicat în conformitate cu regulile de afaceri.
Protecția URL-urilor de returnare: lista albă "return _ url' pe partea furnizorului și a aplicației.
7) Prelucrarea stării și rezistența la erori
Статусы: 'procesare' → 'succes '/' eşec '/' necunoscut'.
Dacă utilizatorul a închis banca/browser-ul - afișați ecranul „Continuați plata/Alegeți o altă metodă”.
Când „necunoscut”: nu blocați jucătorul - păstrați comanda în așteptare, re-sondaj backend, așteptați pentru webhook.
Standardizați codurile de eroare (bancă indisponibilă, limită, autentificare, anulare utilizator, timeout).
Luați în considerare confirmările fracționare (banca a fost eliminată, comerciantul nu a fost încă actualizat) - explicați acest lucru în UI.
8) Reconciliere și finanțare
Reconciliere zilnică: POLi raportează ↔ baza de date (prin 'merchant _ ref', sumă, valută, timp).
O coadă separată pentru „desynchrony”; cutii manuale - în back office tilling.
Pentru bonusuri de „depunere” - acumulați după „succes”; pentru 'procesare '/' necunoscut' - set hold.
9) Practici de box office UX (mobile-first)
Bara de progres vizibilă și cronometrul „Sesiunea bancară va expira în”....
O copie clară a butoanelor: „Mergeți la bancă”, „Confirmat - reveniți la aplicație”.
Sume clare/valută, validarea imediată a limitelor înainte de redirecționare.
Salvarea proiectului de depozit; Redeschideți sesiunea atunci când aplicația este restaurată.
Disponibilitate: etichete VoiceOver/TalkBack, contrast suficient, tip dinamic/FontScale.
10) Limite, KYC/AML, Răspundere
Limitele sunt stabilite de bancă și operator, nu POLi; Arată intervalul disponibil înainte de a începe plata.
KYC/AML nu depinde de metoda - controalele de volum/frecvență funcționează la fel; riscuri ridicate - verificare manuală.
Politica de joc responsabil: limitele de depunere/pauză sunt de asemenea disponibile cu POLi; Adăugați link-uri rapide pentru a gestiona limitele la finalizarea comenzii.
11) Caracteristici regionale și phicheflags
AU: dezactivați POLi la nivelul phicheflag/build; arată disclaimer (serviciu indisponibil; cazinouri online sunt interzise).
NZ: permite POLi; Trageți lista băncilor/limitelor din configurație (configurare la distanță).
Geofencing, localizarea valutelor/formatelor, server permite-liste de comercianți din țară.
12) Matrice de testare și QA
Bănci: cel puțin un caz pentru fiecare bancă mare și de tipuri 2FA (SMS, push, token).
Platforme: iOS/Android, versiuni majore actuale, temă întunecată/ușoară, diferite locații/limbi.
Scenarii de eșec: anulare bancară, sesiune expirată, pauză de rețea, închidere webview, deeplink incorect, repetare webhook.
Încărcare: ore de vârf, întârzieri ale cârligelor web, retractări în masă.
13) Sistem de monitorizare și operare
Valori: conversie de numerar, CTR „Du-te la bancă”, medie „timp-la-fonduri”, cota de „necunoscut”, frecvența de retroys cârlig web, faliment bancar din motive.
Alerte: timeout-ul de tip webhook, supratensiunea „eșuată” pe rând, creșterea pragului „necunoscut”>.
Runbook incident: trecerea priorității metodelor, informarea utilizatorilor, forțarea votării statutelor, post-mortem.
14) Ceea ce integrarea nu face
Nu adaugă retrageri.
Nu ocolește limitele băncii sau ale operatorului.
Nu înlocuiește procedurile KYC/AML și jocul responsabil.
Rezultat
Integrarea POLi în aplicațiile mobile este construită în jurul redirecționării/HPP securizate cu comutator de aplicații corect, procesarea fiabilă a deeplink-ului de returnare, confirmarea prin intermediul cârligelor web și idempotența strictă. Cheia stabilității sunt statutele transparente, scenariile de redresare prietenoase și reconcilierea deplină. În Australia, POLi este indisponibil și nu se aplică sloturilor online; în Noua Zeelandă, metoda rămâne de lucru și oferă utilizatorilor depozite rapide cu setări tehnice și juridice corecte.