Integration von POLi in mobile Casino-Apps


1) Kontext und Einschränkungen

POLi-Funktionalität: nur Einzahlungen; Rückzug - durch andere Methoden (Bank-Transfer/Karte/Geldbörse).
Gerichtsbarkeiten:
  • Australien: POLi-Betrieb eingestellt (September 2023); Online Casinos/AU Residents Slots sind verboten (IGA 2001).
  • Neuseeland: POLi ist an lizenzierten Standorten verfügbar; Mobile Integration ist relevant.
  • Fazit: Nachfolgend ein technisches Schema für Märkte, in denen die Nutzung erlaubt ist (NZ und andere Rechtsordnungen).

2) Architektonische Anschlussmöglichkeiten

A. Redirect/Hosted Payment Page (HPP) - Basisstandard

Der Kunde → der Kasse erstellt eine Zahlungssitzung → eine Umleitung an die Bank (Browser/Bank-App) → eine Rückgabe über „return _ url“ → eine Bestätigung über Webhook/Polling.
Vorteile: minimale PCI-Anforderungen, nachhaltiges Modell, weniger Risiken.
Nachteile: abhängig von der korrekten Handhabung des App-Switches und des Return Deeplink.

B. Server-to-Server + Umleitung (Hybrid)

Der Server erstellt eine Zahlung beim POLi-Anbieter, der mobile Client initiiert nur eine Umleitung; Der endgültige Status kommt vom Webhook.
Pluspunkte: klare Requisition, komfortable Retrays, Idempotenz am Backend.
Nachteile: mehr Serverlogik.

💡Eine vollständige „saubere API“ ohne Weiterleitung ist nicht praktikabel: Die Bankauthentifizierung erfordert den Wechsel zu einer Bank.

3) Benutzerdefinierter Stream (mobile UX)

1. Die Kasse → die Wahl von POLi.
2. Eingabe des Betrags → Erstellen einer Zahlungssitzung (txn\_ id, state/nonce, lifetime).
3. App-Schalter: Wir öffnen eine Bank (oder einen Browser mit einer Internetbank).
4. Login/2FA in der Bank → Bestätigung der Überweisung.
5. Rückkehr durch 'return _ url '/deeplink in die Anwendung → Ergebnisbildschirm.
6. Das Backend erhält den Webhook und finalisiert die Einzahlung; Der Client fragt den Status nach 'txn _ id' (Pull-Bestätigung) für den Fall von Webhook-Verzögerungen ab.

4) iOS-Spezifität

Verwenden Sie ASWebAuthenticationSession oder SFSafariViewController für den Browserschritt; direct WKWebView ist aufgrund von Cookies/Weiterleitungen seltener geeignet.
Universal Links для `return_url`; Verarbeitung in 'Szene (_: weiter:)'.
Session-Timeouts ≥ 10 Minuten, der Hintergrundmodus ist nicht erforderlich, aber die Erhaltung des Kassenstatus ist obligatorisch.
Wenn sich die Bank als eigenständige App öffnet - sorgen Sie für ein freundliches Back-to-App-Szenario und den erneuten Erhalt des Status bei der Rückgabe.

5) Android-Spezifität

Vorzugsweise Custom Tabs für den Web-Stream; für Bank-Anwendungen - Intent-Filter und verifizierte App-Links für 'return _ url'.
Verarbeitung des Ergebnisses - durch deeplink-activity; erneute Abfrage des Status bei 'onResume ()'.
Speichern Sie den Zahlungsstatus nicht in 'Aktivität'; Verwenden Sie ViewModel/Repository, das Konfigurationsänderungen durchläuft.
Folback auf den Systembrowser, wenn die Bank/App nicht verfügbar ist.

6) Integrationssicherheit

TLS ist überall, Verbot ungeschützter Protokolle. iOS ATS/Android Network Security Config - aktiviert.
CSRF/Replay-Schutz: einmalig 'state '/' nonce', Abgleich auf Retouren.
Idempotency: idempotency-key für die Erstellung von Zahlungen; Die Weiterverarbeitung von Webhooks ist sicher.
Webhooks: Signatur, feste ausgehende IPs (falls verfügbar), Retrays mit exponentieller Pause, Deduplizierung durch event\_ id.
Logs: Loggen Sie keine Bank-Logins/OTRs; PII maskieren; speichern: 'txn _ id', Umleitungs-/Rückgabezeiten, Statuscodes.
Root/Jailbreak-Signale: weiche Warnung und Block von hochriskanten Operationen nach Geschäftsregeln.
Schutz von Return-URLs: Whitelist 'return _ url' auf der Anbieter- und App-Seite.

7) Statusverarbeitung und Fehlertoleranz

Статусы: `processing` → `succeeded`/`failed`/`unknown`.
Wenn der Benutzer die Bank/den Browser geschlossen hat, zeigen Sie den Bildschirm „Zahlung fortsetzen/Andere Methode auswählen“.
Mit 'unknown': Blockieren Sie den Spieler nicht - halten Sie die Bestellung in „Erwartung“, befragen Sie das Backend erneut, warten Sie auf das Webhook.
Standardisieren Sie die Fehlercodes (Bank nicht verfügbar, Limit, Authentifizierung, Benutzer stornieren, Timeout).
Berücksichtigen Sie gebrochene Bestätigungen (die Bank hat abgeschrieben, der Merchant wurde noch nicht aktualisiert) - erklären Sie dies in der Benutzeroberfläche.

8) Reconciliation und Finanzen

Täglicher Abgleich: Berichte des POLi-Anbieters ↔ Ihre Datenbank (nach „merchant _ ref“, Betrag, Währung, Zeit).
Separate Warteschlange für „Secynchron“; Handkoffer - im Backbüro tullinge.
Für Boni „auf Einzahlung“ - nach „succeeded“ aufladen; für 'processing '/' unknown' - hold setzen.

9) UX-Praktiken der Kasse (mobile-first)

Sichtbarer Fortschrittsbalken und Timer „Die Banksitzung läuft durch“....
Eine klare Kopie auf den Buttons: „Zur Bank gehen“, „Bestätigt - zurück zur App“.
Klare Beträge/Währung, sofortige Validierung der Limits vor der Umleitung.
Speichern des Entwurfs der Einzahlung; Wiedereröffnung der Sitzung beim Wiederherstellen der Anwendung.
Verfügbarkeit: VoiceOver/TalkBack-Labels, ausreichend Kontrast, Dynamic Type/FontScale.

10) Grenzen, KYC/AML, Haftung

Die Limits werden von der Bank und dem Betreiber festgelegt, nicht von POLi; Zeigen Sie den verfügbaren Bereich an, bevor Sie mit der Zahlung beginnen.
KYC/AML sind unabhängig von der Methode - Volumen-/Frequenzprüfungen werden auf die gleiche Weise ausgelöst; hohe Risiken - manuelle Verifizierung.
Verantwortungsbewusstes Spielen: Einzahlungs-/Pausenlimits sind auch bei POLi verfügbar; Fügen Sie Schnelllinks zur Limitverwaltung an der Kasse hinzu.

11) Regionale Besonderheiten und Ficheflagen

AU: POLi auf Ficheflag/Bild-Ebene deaktivieren; Disclaimer anzeigen (Service nicht verfügbar; Online Casinos sind verboten).
NZ: POLi zulassen; Liste der Banken/Limits aus der Konfiguration herausziehen (remote config).
Geofensing, Lokalisierung von Währungen/Formaten, Server-Allow-Listen von Händlern im ganzen Land.

12) Testmatrix und QS

Banken: mindestens ein Fall für jede große Bank und nach 2FA-Typen (SMS, Push, Token).
Plattformen: iOS/Android, aktuelle Major-Versionen, dunkles/helles Thema, verschiedene Locales/Sprachen.
Absturzszenarien: Bankabbruch, abgelaufene Sitzung, Netzwerkabbruch, Webview-Schließung, falscher Deeplink, Webhook-Wiederholung.
Last: Spitzenstunden, Webhook-Verzögerungen, Massen-Retrays.

13) Überwachung und Betrieb

Metriken: Kassenumstellung, CTR „Gehe zur Bank“, Durchschnitt 'Zeit-zu-Fonds', Anteil 'unbekannt', Häufigkeit von Webhook-Retrays, Ausfall der Bank aus Gründen.
Alertas: Webhook-Timeout, ein Anstieg von 'failed' auf einer Bank, ein Anstieg von 'unknown'> Schwelle.
Ranbook Incident: Wechseln Sie die Priorität der Methoden, informieren Sie die Benutzer, höhere Polling-Status, Post-Mortem.

14) Was Integration nicht tut

Fügt keine Auszahlung hinzu.
Die Grenzen der Bank oder des Betreibers werden nicht überschritten.
Ersetzt nicht KYC/AML-Verfahren und verantwortungsvolles Spielen.

Ergebnis

Die Integration von POLi in mobile Apps basiert auf einer sicheren Umleitung/HPP mit korrektem App-Switch, zuverlässiger Verarbeitung von Return-Deeplink, Bestätigung durch Webhooks und strikter Idempotenz. Der Schlüssel zur Stabilität sind transparente Zustände, freundliche Wiederherstellungsszenarien und eine vollständige Rekonstruktion. In Australien ist POLi nicht verfügbar und gilt nicht für Online-Slots; in Neuseeland bleibt die Methode in Betrieb und bietet den Nutzern schnelle Einzahlungen bei korrekter technischer und rechtlicher Einrichtung.