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
Player -->initiate depositAPI-Gateway
API-Gateway --> PaymentService
PaymentService -->init POLiPOLi-API
PaymentService -->init PayIDPSP-API
PaymentService -->generate BPAYBillingService
POLi-API -->webhookPaymentService
PSP-API -->webhookPaymentService
BillingService -->polling / webhookPaymentService
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.

    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:
    • 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.

    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.