Compatibilidad con POLi, PayID, transferencia bancaria y AUD
Introducción
Los jugadores australianos prefieren los métodos de pago locales: transferencias bancarias instantáneas a través de POLi, PayID/Osko como parte del NPP y el banco de transferencia tradicional, todo en AUD. Para el operador, es importante garantizar la integración perfecta, el procesamiento instantáneo, el cumplimiento regulatorio y una arquitectura confiable.
1. Descripción general de los métodos de pago
1. POLi Payments
Autorización OAuth del usuario a través de la interfaz del banco, sin tarjetas y códigos SMS adicionales.
Depósito instantáneo de fondos, adecuado para depósitos.
2. PayID/Osko (NPP)
Traducción por ID (email, teléfono), NPP Network Standard asegura el cálculo en segundos.
Requiere la integración con PSP que soporta Australia's New Payments Platform.
3. Transferencia bancaria (BPAY/transferencia directa)
BPAY: generación de Biller Code y Referencia al Cliente, el pago lo realiza el usuario en el banco de Internet; Inscripción hasta las 24 horas
Transferencia AUD directa: transferencia SWIFT/IBAN, adecuada para grandes cantidades, tiempo de procesamiento de 1-3 días hábiles.
4. Moneda AUD
Todas las operaciones en AUD: visualización de corretaje, almacenamiento en base, redondeo a centavos ('DECIMAL (12,2)').
2. Arquitectura de integración
```mermaid
flowchart LR
API-Gateway: validación, rate-limiting, enrutamiento a PaymentService.
PaymentService: punto unificado para todos los métodos AUD, almacena 'paymentId', 'method', 'status', 'metadata'.
BillingService: módulo para cuentas BPAY y estados polling.
TransactionService: las transacciones ACID actualizan el balance y la lógica de las operaciones.
AuditDB: almacén inmutable de registros de consultas y respuestas.
3. Implementación de POLi
1. Iniciación:
→ `{ paymentId, poliUrl }`
2. Redireccionamiento del jugador:
3. Procesamiento de webhook:
Verificación de HMAC por 'X-Signature'.
Actualización 'status': 'pending' → 'approved '/' declined'.
Con 'approved', se inicia 'TransactionService. credit(playerId, amount)`.
4. Implementación de PayID/Osko
1. Iniciación:
→ `{ paymentId, transactionRef }`
2. Notificación de webhook:
Comprobación de firma similar.
Estados: 'pending', 'settled', 'failed'.
5. Implementación de BPAY y transferencia bancaria
1. Generación de cuentas BPAY:
→ `{ billerCode, customerRef, expiryDate }`
2. Estados Polling:
3. Transferencia bancaria directa:
6. Localización y UX
Formato:
Los jugadores australianos prefieren los métodos de pago locales: transferencias bancarias instantáneas a través de POLi, PayID/Osko como parte del NPP y el banco de transferencia tradicional, todo en AUD. Para el operador, es importante garantizar la integración perfecta, el procesamiento instantáneo, el cumplimiento regulatorio y una arquitectura confiable.
1. Descripción general de los métodos de pago
1. POLi Payments
Autorización OAuth del usuario a través de la interfaz del banco, sin tarjetas y códigos SMS adicionales.
Depósito instantáneo de fondos, adecuado para depósitos.
2. PayID/Osko (NPP)
Traducción por ID (email, teléfono), NPP Network Standard asegura el cálculo en segundos.
Requiere la integración con PSP que soporta Australia's New Payments Platform.
3. Transferencia bancaria (BPAY/transferencia directa)
BPAY: generación de Biller Code y Referencia al Cliente, el pago lo realiza el usuario en el banco de Internet; Inscripción hasta las 24 horas
Transferencia AUD directa: transferencia SWIFT/IBAN, adecuada para grandes cantidades, tiempo de procesamiento de 1-3 días hábiles.
4. Moneda AUD
Todas las operaciones en AUD: visualización de corretaje, almacenamiento en base, redondeo a centavos ('DECIMAL (12,2)').
2. Arquitectura de integración
```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: validación, rate-limiting, enrutamiento a PaymentService.
PaymentService: punto unificado para todos los métodos AUD, almacena 'paymentId', 'method', 'status', 'metadata'.
BillingService: módulo para cuentas BPAY y estados polling.
TransactionService: las transacciones ACID actualizan el balance y la lógica de las operaciones.
AuditDB: almacén inmutable de registros de consultas y respuestas.
3. Implementación de POLi
1. Iniciación:
- ```http
- POST /api/payments/poli/init
- {
- "amount": 100. 00,
- "currency": "AUD",
- "returnUrl": "https: //casino. com/poli/callback"
- }
- ```
→ `{ paymentId, poliUrl }`
2. Redireccionamiento del jugador:
- El jugador es redirigido a 'poliUrl', autorizado en el banco, confirma el pago.
3. Procesamiento de webhook:
- ```http
- POST /api/payments/poli/callback
- Headers: X-Signature
- Body: { paymentId, status, bankTransactionId }
- ```
Verificación de HMAC por 'X-Signature'.
Actualización 'status': 'pending' → 'approved '/' declined'.
Con 'approved', se inicia 'TransactionService. credit(playerId, amount)`.
4. Implementación de PayID/Osko
1. Iniciación:
- ```http
- POST /api/payments/payid/init
- {
- "payId": "user@example. com",
- "amount": 250. 00,
- "currency": "AUD",
- «Description»: «Depósito de Casino»
- }
- ```
→ `{ paymentId, transactionRef }`
2. Notificación de webhook:
- PSP шлёт `POST /api/payments/payid/callback { paymentId, status }`.
Comprobación de firma similar.
Estados: 'pending', 'settled', 'failed'.
5. Implementación de BPAY y transferencia bancaria
1. Generación de cuentas BPAY:
- ```http
- POST /api/payments/bpay/generate
- { "amount": 500. 00 }
- ```
→ `{ billerCode, customerRef, expiryDate }`
2. Estados Polling:
- `GET /api/payments/bpay/status? billerCode = & customerRef = 'cada 15 minutos.
- При `PAID` — update `approved`, credit funds.
3. Transferencia bancaria directa:
- Muestra los datos de la cuenta (SWIFT, BSB, Account) en UI.
- Las operaciones se comprueban manualmente o automáticamente a través de los estados bancarios incoming a través de SFTP.
6. Localización y UX
Formato:
- ```js
- new Intl. NumberFormat('en-AU', { style: 'currency', currency: 'AUD' }). format(1000)
- // "A$1,000. 00"
- ``` UI:
- Selección del método en el depósito: iconos POLi, PayID, BPAY, Transferencia bancaria.
- Descripción de los plazos y comisiones bajo cada método.
- Verificación antes de la primera entrada: KYC/AML.
- POLi: `poli. sandbox. domain 'con fichas falsas' test _ user '.
- PSP: créditos de prueba de proveedores de PayID.
- Pruebas E2E (Cypress): scripts: iniciar → emular callback → comprobar el balance.
- Prueba de carga (k6): simula 1000 depósitos concurrentes mediante POLi y PayID.
7. Seguridad y tolerancia a fallas
TLS 1. 2 + para todas las API y Webhook.
Circuit Breaker (Resilience4j) para llamadas PSP, deshabilitar el método con error-rate> 5%.
Retry-logic con retroceso exponencial en fallas temporales.
Audit Trail: todos los eventos y transacciones de webhook se guardan durante 7 años como mínimo por regulaciones.
8. Pruebas
Modos Sandbox:
Conclusión
La integración de POLi, PayID/Osko y las transferencias bancarias tradicionales en AUD requiere un único servicio de pago, un manejo fiable de webhook, la localización de formatos y una arquitectura tolerante a fallas con circuit breaker y mecanismos retry. Este enfoque proporciona depósitos rápidos, un alto RC y el cumplimiento de los requisitos australianos.