Integrazione di POLi nelle applicazioni mobili del casinò
1) Contesto e vincoli
Funzione POLi: solo depositi; output - attraverso altri metodi (banca-trasferimento/carta/portafoglio).
Giurisdizioni:
- Australia: operazioni POLi interrotte (settembre 2023); casinò/slot online per residenti AU sono vietati (IGA 2001).
- Nuova Zelanda: POLi è disponibile su siti autorizzati; l'integrazione mobile è rilevante.
- Conclusione: di seguito è indicato uno schema tecnico per i mercati in cui l'uso è consentito (NZ e altre giurisdizioni legali).
2) Opzioni di connettività architettoniche
A. Redirect/Hosted Payment Page (HPP) - standard base
Il cliente di cassa crea una sessione di pagamento di un readyrett alla banca (browser/banca-applicazione) che restituisce la restituzione'return _ url ', conferma tramite webhook/polling.
Vantaggi: requisiti PCI minimi, modello sostenibile, meno rischi.
Contro - Dipende dall'elaborazione corretta dell'app switch e del deeplink di ritorno.
B. Server-to-Server + redirect (ibrido)
Il server crea il pagamento dal provider POLi, il client mobile esegue solo il reading; Lo stato finale viene da un webhock.
I vantaggi sono la riconcolazione nitida, i retrai comodi, l'idampotenza sul backend.
Meno: più logica server.
💡L'API netta completa non è praticabile: l'autenticazione bancaria richiede il trasferimento in banca.
3) Flusso utente (mobile UX)
1. La cassa ha scelto POLi.
2. Immettere un importo → creare una sessione di pagamento (txn\_ id, state/nonce, durata).
3. App-switch: aprire una banca (o un browser con una banca online).
4. Login/2FA in banca per confermare il trasferimento.
5. Restituisce «return _ url »/deeplink all'applicazione la schermata del risultato.
6. Beckand ottiene un webhook e finalizza il deposito; il client richiede lo stato dì txn _ id "(conferma pull) in caso di ritardi del webhook.
4) Specifica iOS
Utilizzare un ASWebAuthenticationSession o un SFSafariViewController per la fase del browser. Il rettilineo è meno adatto a causa dei cookie/redirecti.
Universal Links для `return_url`; lavorazione in'scene (_: continua:) '.
I timeout della sessione sono di 10 minuti, la modalità di sottofondo non è obbligatoria, ma lo stato della cassa è obbligatorio.
Se la banca viene aperta come un'applicazione separata, fornire uno script back-to-app amichevole e riavvicinare lo stato al rimborso.
5) Particolare Android
Preferibilmente Custom Tabs per il flusso Web per le applicazioni di banca - intent filters e App Links collaudate per'return _ url '.
Elaborazione dei risultati attraverso l'attivazione deeplink; richiedere nuovamente lo stato a «onResume ()».
Non salvare lo stato del pagamento in Attivity; Utilizzare un repository o un repository che esegue modifiche alla configurazione.
Folback sul browser di sistema quando la banca/applicazione non è disponibile.
6) Sicurezza dell'integrazione
TLS ovunque, divieto di protocolli non protetti. iOS ATS/Android Network Security Config - abilitati.
Protezione CSRF/Replay: «state »/« nonce» usa e getta.
Idempotence: idempotency-key per la creazione del pagamento; riprogettare i webhoop è sicuro.
Web Hook: firma, IP in uscita fisso (se disponibile), retrai con pausa esponenziale, deduplicazione per event\_ id.
Login: non logifichi i login bancari/OTR; mascherare il PII; memorizzare: 'txn _ id', tempo di reading/ritorno, codici di stato.
I segnali Root/Jailbreak sono un avviso morbido e un blocco di operazioni ad alto rischio secondo le regole aziendali.
Protezione URL di ritorno: elenco bianco «return _ url» sul lato provider e applicazione.
7) Elaborazione degli stati e resistenza errata
Статусы: `processing` → `succeeded`/`failed`/`unknown`.
Se l'utente ha chiuso la banca/browser, mostrare la schermata Continua pagamento/Scegli un metodo diverso.
In caso dì unknown ", non bloccare il giocatore, tenere l'ordine in attesa, interrogare nuovamente il backend, aspettare il webhook.
Standardizzare i codici di errore (banca non disponibile, limite, autenticazione, annullamento, timeout).
Considerate le prove frazionarie (la banca ha cancellato, il merchant non è ancora stato aggiornato) - spiegatelo in UI.
8) Riconcolazione e finanza
Incrociatura giornaliera: i rapporti del provider POLi sono il tuo database (in «merchant _ ref», somma, valuta, tempo).
Coda separata per «rassincroni»; valigette manuali nel back office del tulling.
Per i bonus «deposito» - rimborsare dopo «succeeded»; per «processing »/« unknown», mettere hold.
9) La pratica UX della cassa (mobile-first)
Una visibile striscia di progresso e un timer, «La seduta della banca scadrà tra»...
«Vai in banca», «Conferma - Torna all'applicazione».
Valori/valuta chiari, convalida istantanea dei limiti fino a ridirect.
Salvataggio della bozza di deposito; riaprire la sessione durante il ripristino dell'applicazione.
Disponibilità: VoavaOver/TalkBack-label, contrasto sufficiente, Dynamic.
10) Limiti, KYC/AML, responsabilità
I limiti vengono impostati da una banca e da un operatore, non da POLi; Visualizzare l'intervallo disponibile prima dell'inizio del pagamento.
KYC/AML non dipendono dal metodo: i controlli di volume/frequenza funzionano allo stesso modo; rischi elevati - controllo manuale.
Politica di gioco responsabile: limiti di deposito/pausa disponibili anche per POLi; aggiungere collegamenti rapidi alla gestione dei limiti nella cassa.
11) Caratteristiche regionali e ficcoflagi
AU: disattiva POLi a livello di phicheflag/bild; Visualizza il display (il servizio non è disponibile; casinò online vietato).
NZ: consenti POLi; un elenco di banche/limiti da tracciare dalla configurazione (remote config).
Geofensing, localizzazione valute/formati, allow-lists server merchant per paese.
12) Test-matrice e QA
Banche: almeno una valigetta per banca di grandi dimensioni e per tipo 2FA (SMS, pass, token).
Piattaforme: iOS/Android, attuali versioni maggiori, tema scuro/chiaro, locali/lingue diverse.
Gli scenari di guasto sono: annullamento in banca, sessione interrotta, interruzione di rete, chiusura di webview, deeplink errato, ripetizione di webhook.
Ore di carico: orologi di punta, ritardi di webhoop, retrai di massa.
13) Monitoraggio e operazione
Metriche: conversione della cassa, CTR "Vai in banca", media "time-to-funds', quota" unknown ", frequenza dei retrai webhook, rifiuto della banca per motivi.
Il timeout dei webhook, l'aumento dì failed «su un barattolo, l'aumento dì unknown» su una soglia.
Runbook dell'incidente: cambiare la priorità dei metodi, informare gli utenti, forza-polling dello stato, post-mortem.
14) Cosa non fa l'integrazione
Non aggiunge alcun prelievo.
Non si aggirano i limiti della banca o dell'operatore.
Non sostituisce le procedure KYC/AML e il gioco responsabile.
Totale
L'integrazione di POLi nelle applicazioni mobili si basa su una redict/HPP sicura, con una app-switch corretta, un trattamento affidabile del deeplink di ritorno, la conferma tramite webhoop e la massima idoneità. La chiave di stabilità sono gli stati trasparenti, gli scenari di ripristino amichevoli e la riconcolazione completa. In Australia POLi non è disponibile e non è applicabile alle slot online; In Nuova Zelanda, il metodo rimane operativo e dà agli utenti depositi rapidi con una corretta configurazione tecnica e legale.