Unterstützt POLi, PayID, Banküberweisung und AUD
Einleitung
Australische Spieler bevorzugen lokale Zahlungsmethoden: sofortige Banküberweisungen über POLi, PayID/Osko innerhalb des NPP und eine traditionelle Transferbank, alles in AUD. Für den Betreiber ist es wichtig, eine nahtlose Integration, sofortige Verarbeitung, Einhaltung der Vorschriften und eine zuverlässige Architektur zu gewährleisten.
1. Übersicht über Zahlungsmethoden
1. POLi Payments
OAuth-Autorisierung des Benutzers über die Bankschnittstelle, ohne Karten und zusätzliche SMS-Codes.
Sofortige Gutschrift, geeignet für Einzahlungen.
2. PayID/Osko (NPP)
Übersetzung nach ID (E-Mail, Telefon), der Netzwerkstandard NPP bietet eine Berechnung innerhalb von Sekunden.
Erfordert die Integration mit einer PSP, die Australiens New Payments Platform unterstützt.
3. Banküberweisung (BPAY/Direktüberweisung)
BPAY: Generierung von Biller Code und Kundenreferenz, die Zahlung erfolgt durch den Benutzer in der Online-Bank; Einschreibung bis 24 Stunden.
Direkte AUD-Übertragung: SWIFT/IBAN-Übertragung, geeignet für große Beträge, Bearbeitungszeit 1-3 Werktage.
4. Währung AUD
Alle Operationen in AUD: Korretanzeige, Speicherung in der Basis, Rundung auf Cent ('DECIMAL (12,2)').
2. Architektur der Integration
```mermaid
flowchart LR
API-Gateway: Validierung, Rate-Limiting, Routing zum PaymentService.
PaymentService: einheitlicher Punkt für alle AUD-Methoden, speichert 'paymentId', 'method', 'status', 'metadata'.
BillingService: Modul für BPAY-Abrechnungen und Polling-Status.
TransactionService: ACID-Transaktionen aktualisieren den Saldo und protokollieren die Transaktionen.
AuditDB: Unveränderlicher Speicher für Anforderungs- und Antwortprotokolle.
3. Implementierung von POLi
1. Einleitung:
→ `{ paymentId, poliUrl }`
2. Umleitung des Spielers:
3. Webhook-Verarbeitung:
HMAC-Prüfung durch 'X-Signatur'.
Update' status': 'pending' → 'approved '/' declined'.
Wenn 'genehmigt' - startet 'TransactionService. credit(playerId, amount)`.
4. Implementierung von PayID/Osko
1. Einleitung:
→ `{ paymentId, transactionRef }`
2. Webhook-Benachrichtigung:
Eine ähnliche Überprüfung der Unterschrift.
Status: 'pending', 'settled', 'failed'.
5. Implementierung von BPAY und Banküberweisung
1. BPAY-Kontoerstellung:
→ `{ billerCode, customerRef, expiryDate }`
2. Polling Status:
3. Direkte Banküberweisung:
6. Lokalisierung und UX
Formatierung:
Australische Spieler bevorzugen lokale Zahlungsmethoden: sofortige Banküberweisungen über POLi, PayID/Osko innerhalb des NPP und eine traditionelle Transferbank, alles in AUD. Für den Betreiber ist es wichtig, eine nahtlose Integration, sofortige Verarbeitung, Einhaltung der Vorschriften und eine zuverlässige Architektur zu gewährleisten.
1. Übersicht über Zahlungsmethoden
1. POLi Payments
OAuth-Autorisierung des Benutzers über die Bankschnittstelle, ohne Karten und zusätzliche SMS-Codes.
Sofortige Gutschrift, geeignet für Einzahlungen.
2. PayID/Osko (NPP)
Übersetzung nach ID (E-Mail, Telefon), der Netzwerkstandard NPP bietet eine Berechnung innerhalb von Sekunden.
Erfordert die Integration mit einer PSP, die Australiens New Payments Platform unterstützt.
3. Banküberweisung (BPAY/Direktüberweisung)
BPAY: Generierung von Biller Code und Kundenreferenz, die Zahlung erfolgt durch den Benutzer in der Online-Bank; Einschreibung bis 24 Stunden.
Direkte AUD-Übertragung: SWIFT/IBAN-Übertragung, geeignet für große Beträge, Bearbeitungszeit 1-3 Werktage.
4. Währung AUD
Alle Operationen in AUD: Korretanzeige, Speicherung in der Basis, Rundung auf Cent ('DECIMAL (12,2)').
2. Architektur der Integration
```mermaid
flowchart LR
Player --> | initiate deposit | API-Gateway |
---|---|---|
API-Gateway --> PaymentService | ||
PaymentService --> | init POLi | POLi-API |
PaymentService --> | init PayID | PSP-API |
PaymentService --> | generate BPAY | BillingService |
POLi-API --> | webhook | PaymentService |
PSP-API --> | webhook | PaymentService |
BillingService --> | polling / webhook | PaymentService |
PaymentService --> TransactionService | ||
TransactionService --> AuditDB | ||
``` |
API-Gateway: Validierung, Rate-Limiting, Routing zum PaymentService.
PaymentService: einheitlicher Punkt für alle AUD-Methoden, speichert 'paymentId', 'method', 'status', 'metadata'.
BillingService: Modul für BPAY-Abrechnungen und Polling-Status.
TransactionService: ACID-Transaktionen aktualisieren den Saldo und protokollieren die Transaktionen.
AuditDB: Unveränderlicher Speicher für Anforderungs- und Antwortprotokolle.
3. Implementierung von POLi
1. Einleitung:
- ```http
- POST /api/payments/poli/init
- {
- "amount": 100. 00,
- "currency": "AUD",
- "returnUrl": "https: //casino. com/poli/callback"
- }
- ```
→ `{ paymentId, poliUrl }`
2. Umleitung des Spielers:
- Der Spieler wird auf die' poliUrl 'umgeleitet, meldet sich bei der Bank an, bestätigt die Zahlung.
3. Webhook-Verarbeitung:
- ```http
- POST /api/payments/poli/callback
- Headers: X-Signature
- Body: { paymentId, status, bankTransactionId }
- ```
HMAC-Prüfung durch 'X-Signatur'.
Update' status': 'pending' → 'approved '/' declined'.
Wenn 'genehmigt' - startet 'TransactionService. credit(playerId, amount)`.
4. Implementierung von PayID/Osko
1. Einleitung:
- ```http
- POST /api/payments/payid/init
- {
- "payId": "user@example. com",
- "amount": 250. 00,
- "currency": "AUD",
- „Deskription“: „Casino-Einzahlung“
- }
- ```
→ `{ paymentId, transactionRef }`
2. Webhook-Benachrichtigung:
- PSP шлёт `POST /api/payments/payid/callback { paymentId, status }`.
Eine ähnliche Überprüfung der Unterschrift.
Status: 'pending', 'settled', 'failed'.
5. Implementierung von BPAY und Banküberweisung
1. BPAY-Kontoerstellung:
- ```http
- POST /api/payments/bpay/generate
- { "amount": 500. 00 }
- ```
→ `{ billerCode, customerRef, expiryDate }`
2. Polling Status:
- `GET /api/payments/bpay/status? billerCode = & customerRef = 'alle 15 Minuten.
- При `PAID` — update `approved`, credit funds.
3. Direkte Banküberweisung:
- Anzeige der Kontodaten (SWIFT, BSB, Account) in der Benutzeroberfläche.
- Die Transaktionen werden manuell oder automatisch über incoming bank statements via SFTP abgeglichen.
6. Lokalisierung und UX
Formatierung:
- ```js
- new Intl. NumberFormat('en-AU', { style: 'currency', currency: 'AUD' }). format(1000)
- // "A$1,000. 00"
- ``` UI:
- Wahl der Methode in der Einzahlung: Symbole POLi, PayID, BPAY, Bank Transfer.
- Beschreibung der Fristen und Gebühren unter jeder Methode.
- Verifizierung vor der ersten Eingabe: KYC/AML.
- POLi: `poli. sandbox. domain 'mit gefälschten Token' test _ user'.
- PSP: Testcredits bei PayID-Anbietern.
- E2E-Tests (Cypress): Szenarien: Initiieren → emulieren Sie einen Callback → überprüfen Sie das Gleichgewicht.
- Load Testing (k6): Simuliert 1000 konkrete Einzahlungen mit POLi und PayID.
7. Sicherheit und Fehlertoleranz
TLS 1. 2 + für alle APIs und Webhooks.
Circuit Breaker (Resilience4j) für PSP-Aufrufe, Deaktivierung der Methode bei Fehlerrate> 5%.
Retry-Logik mit exponentiellem Backoff bei temporären Ausfällen.
Audit Trail: Alle Webhook-Ereignisse und -Transaktionen werden mindestens 7 Jahre lang per Verordnung gespeichert.
8. Prüfung
Sandbox-Modi:
Schluss
Die Integration von POLi, PayID/Osko und traditionellen Banküberweisungen in AUD erfordert einen einheitlichen PaymentService, eine zuverlässige Webhook-Verarbeitung, Formatlokalisierung und eine ausfallsichere Architektur mit Circuit Breaker und Retry-Mechanismen. Dieser Ansatz ermöglicht schnelle Einzahlungen, hohe CR und die Einhaltung der australischen Anforderungen.