Suporte POLI, PayID, transferência bancária e AUD
Introdução
Os jogadores australianos preferem os métodos locais de pagamento, como transferências bancárias instantâneas via POLI, PayID/Osko no NPP e o tradicional banco de transferência, tudo para AUD. Para o operador, é importante garantir integração, processamento instantâneo, conformidade regulatória e arquitetura segura.
1. Revisão de métodos de pagamento
1. POLi Payments
A autorização do usuário OAUTH através da interface do banco, sem cartões e mais códigos SMS.
Depósito instantâneo, adequado para depósitos.
2. PayID/Osko (NPP)
Tradução por email, NPP fornece o cálculo em segundos.
Requer integração com o PSP que suporta o Australian's New Payments Platford.
3. Transferência bancária (BPAY/transferência direta)
BPAY: Geração de Código Biller e Reference Customer, pagamento feito pelo usuário no banco de Internet; inscrição até 24 h.
AUD-transfer direto: SWIFT/IBAN transferência, adequado para grandes quantias, tempo de processamento de 1 a 3 dias úteis.
4. Moeda AUD
Todas as operações na AUD: exibição correta, armazenamento em base, arredondamento em centavos ('DECIMAL (12,2)').
2. Arquitetura de integração
```mermaid
flowchart LR
API-Gateway: validação, rate-limiting, rotação para PaymentService.
PaymentService: ponto unificado para todos os métodos AUD, armazena «paymentId», «method», «status», «metadata».
BillingService: plug-in para contas BPAY e poling states.
TransactionService: transações ACID atualizam o balanço e logam as transações.
AuditDB: Armazenamento imutável de logs de solicitação e resposta.
3. Implementação do POLI
1. Iniciação:
→ `{ paymentId, poliUrl }`
2. Redirecionar o jogador:
3. Processamento Webhook:
Verificação do HMAC por 'X-Sinais'.
Atualizar 'status': 'pending' → 'approved '/' declined'.
Em 'approved' - iniciar 'TransactionService. credit(playerId, amount)`.
4. Implementação de PayID/Osko
1. Iniciação:
→ `{ paymentId, transactionRef }`
2. Notificação Webhook:
Verificação de assinatura semelhante.
Estados: 'pending', 'massled', 'failed'.
5. Implementação de BPAY e transferência bancária
1. Geração de conta BPAY:
→ `{ billerCode, customerRef, expiryDate }`
2. Polling de estatais:
3. Transferência bancária direta:
6. Localização e UX
Formatação:
Os jogadores australianos preferem os métodos locais de pagamento, como transferências bancárias instantâneas via POLI, PayID/Osko no NPP e o tradicional banco de transferência, tudo para AUD. Para o operador, é importante garantir integração, processamento instantâneo, conformidade regulatória e arquitetura segura.
1. Revisão de métodos de pagamento
1. POLi Payments
A autorização do usuário OAUTH através da interface do banco, sem cartões e mais códigos SMS.
Depósito instantâneo, adequado para depósitos.
2. PayID/Osko (NPP)
Tradução por email, NPP fornece o cálculo em segundos.
Requer integração com o PSP que suporta o Australian's New Payments Platford.
3. Transferência bancária (BPAY/transferência direta)
BPAY: Geração de Código Biller e Reference Customer, pagamento feito pelo usuário no banco de Internet; inscrição até 24 h.
AUD-transfer direto: SWIFT/IBAN transferência, adequado para grandes quantias, tempo de processamento de 1 a 3 dias úteis.
4. Moeda AUD
Todas as operações na AUD: exibição correta, armazenamento em base, arredondamento em centavos ('DECIMAL (12,2)').
2. Arquitetura de integração
```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: validação, rate-limiting, rotação para PaymentService.
PaymentService: ponto unificado para todos os métodos AUD, armazena «paymentId», «method», «status», «metadata».
BillingService: plug-in para contas BPAY e poling states.
TransactionService: transações ACID atualizam o balanço e logam as transações.
AuditDB: Armazenamento imutável de logs de solicitação e resposta.
3. Implementação do POLI
1. Iniciação:
- ```http
- POST /api/payments/poli/init
- {
- "amount": 100. 00,
- "currency": "AUD",
- "returnUrl": "https: //casino. com/poli/callback"
- }
- ```
→ `{ paymentId, poliUrl }`
2. Redirecionar o jogador:
- O jogador é redirecionado para 'poliUrl', autorizado no banco, confirmado o pagamento.
3. Processamento Webhook:
- ```http
- POST /api/payments/poli/callback
- Headers: X-Signature
- Body: { paymentId, status, bankTransactionId }
- ```
Verificação do HMAC por 'X-Sinais'.
Atualizar 'status': 'pending' → 'approved '/' declined'.
Em 'approved' - iniciar 'TransactionService. credit(playerId, amount)`.
4. Implementação de PayID/Osko
1. Iniciação:
- ```http
- POST /api/payments/payid/init
- {
- "payId": "user@example. com",
- "amount": 250. 00,
- "currency": "AUD",
- Descripty: Casino deposit
- }
- ```
→ `{ paymentId, transactionRef }`
2. Notificação Webhook:
- PSP шлёт `POST /api/payments/payid/callback { paymentId, status }`.
Verificação de assinatura semelhante.
Estados: 'pending', 'massled', 'failed'.
5. Implementação de BPAY e transferência bancária
1. Geração de conta BPAY:
- ```http
- POST /api/payments/bpay/generate
- { "amount": 500. 00 }
- ```
→ `{ billerCode, customerRef, expiryDate }`
2. Polling de estatais:
- `GET /api/payments/bpay/status? "a cada 15 minutos.
- При `PAID` — update `approved`, credit funds.
3. Transferência bancária direta:
- Exibe os adereços da conta (SWIFT, BSB, Account) na UI.
- As transações são cortadas manualmente ou automaticamente por incoming bank statents através do SFTP.
6. Localização e UX
Formatação:
- ```js
- new Intl. NumberFormat('en-AU', { style: 'currency', currency: 'AUD' }). format(1000)
- // "A$1,000. 00"
- ``` UI:
- Escolha o método no depósito: ícone POLI, PayID, BPAY, Bank Transfer.
- Descrição de prazos e comissões sob cada método.
- A verificação antes da primeira digitação é KYC/AML.
- POLi: `poli. sandbox. domain 'com tocadores falsos' teste _ user '.
- PSP: Créditos de teste dos provedores de PayID.
- E2E (Cypress): cenários: iniciar → emular callback → verificar o equilíbrio.
- Load Testing (k6): Simulação de depósitos 1000 concurrent com POLI e PayID.
7. Segurança e resistência a falhas
TLS 1. 2 + para todas as APIs e Webhook.
Circuito Breaker (Resilience4j) para chamadas PSP, desativar o método com erro-rate> 5%.
Retry-logic com backoff exponencial em falhas temporárias.
Check Trail: Todos os eventos e transações webhook estão armazenados há 7 anos, no mínimo, em regulações.
8. Testes
Modos Sandbox:
Conclusão
A integração de POLI, PayID/Osko e transferências bancárias tradicionais para a AUD requer PaymentService unificada, processamento de webhook confiável, localização de formatos e arquitetura resistente a falhas com circuitos breaker e retry. Esta abordagem garante depósitos rápidos, alta CR e conformidade com os requisitos australianos.