POLi, PayID, банктік аударым және AUD қолдау

Кіріспе

Австралиялық ойыншылар жергілікті төлем әдістерін таңдайды: POLi, PayID/Osko арқылы NPP және дәстүрлі трансфер-банк арқылы жылдам банктік аударымдар, барлығы AUD-да. Оператор үшін жіксіз интеграцияны, жедел өңдеуді, реттеулерге сәйкестікті және сенімді архитектураны қамтамасыз ету маңызды.

1. Төлем әдістеріне шолу

1. POLi Payments

OAuth-пайдаланушыны банк интерфейсі арқылы, картасыз және қосымша SMS-кодсыз авторизациялау.

Қаражатты дереу есепке алу депозиттер үшін жарамды.

2. PayID/Osko (NPP)

Идентификатор бойынша аудару (email, телефон), желілік NPP стандарты секундтар ішінде есептеуді қамтамасыз етеді.

Australia's New Payments Platform қолдайтын PSP-мен интеграцияны талап етеді.

3. Банктік аударым (BPAY/тікелей transfer)

BPAY: Biller Code және Customer Reference генерациясы, төлемді интернет-банкте пайдаланушы жүргізеді; 24 сағатқа дейін қабылдау

Тікелей AUD-transfer: SWIFT/IBAN аударымы, ірі сомалар үшін жарамды, өңдеу уақыты 1-3 жұмыс күні.

4. AUD валютасы

AUD-дағы барлық операциялар: корретті көрсету, базада сақтау, центке дейін дөңгелектеу ('DECIMAL (12,2)').

2. Интеграция архитектурасы

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: валидация, rate-limiting, PaymentService маршрутизациясы.

PaymentService: барлық AUD әдістері үшін біріздендірілген нүкте, 'paymentId', 'method', 'status', 'metadata' сақтайды.

BillingService: BPAY шоттары мен polling статусына арналған модуль.

TransactionService: ACID транзакциялары балансты жаңартады және операцияларды логиндейді.

AuditDB: сұраулар мен жауаптарды сақтау орны.

3. POLi іске асыру

1. Бастама:
http
POST /api/payments/poli/init
{
"amount": 100. 00,
"currency": "AUD",
"returnUrl": "https: //casino. com/poli/callback"
}

→ `{ paymentId, poliUrl }`

2. Ойыншыны қайта бағыттау:
  • Ойыншы 'poliUrl' -ке қайта бағытталады, банкке тіркеледі, төлемді растайды.
3. Webhook өңдеу:
http
POST /api/payments/poli/callback
Headers: X-Signature
Body: { paymentId, status, bankTransactionId }

'X-Signature' бойынша HMAC тексеру.

'status' жаңарту: 'pending' → 'approved '/' declined'.

'approved' кезінде 'TransactionService' іске қосылады. credit(playerId, amount)`.

4. PayID/Osko іске асыру

1. Бастама:
http
POST /api/payments/payid/init
{
"payId": "user@example. com",
"amount": 250. 00,
"currency": "AUD",
«Дескрипшен»: «Casino deposit»
}

→ `{ paymentId, transactionRef }`

2. Webhook хабарламасы:
  • PSP шлёт `POST /api/payments/payid/callback { paymentId, status }`.

Қолтаңбаны ұқсас тексеру.

Мәртебелер: 'pending', 'settled', 'failed'.

5. BPAY және банктік аударымды іске асыру

1. BPAY шотының генерациясы:
http
POST /api/payments/bpay/generate
{ "amount": 500. 00 }

→ `{ billerCode, customerRef, expiryDate }`

2. Polling күй- жайы:
  • `GET /api/payments/bpay/status? billerCode = & customerRef = 'әрбір 15 минут сайын.
  • При `PAID` — update `approved`, credit funds.
3. Тікелей банктік аударым:
  • UI-де шот деректемелерін (SWIFT, BSB, Account) көрсету.
  • Операциялар SFTP арқылы incoming bank statements арқылы қолмен немесе автоматты түрде салыстырылады.

6. Локализация және UX

Пішімдеу:
js
new Intl. NumberFormat('en-AU', { style: 'currency', currency: 'AUD' }). format(1000)
// "A$1,000. 00"
UI:
  • Депозиттегі әдісті таңдау: POLi, PayID, BPAY, Bank Transfer.
  • Әрбір әдіспен мерзімдер мен комиссиялардың сипаттамасы.
  • Бірінші енгізу алдында тексеру: KYC/AML.

7. Қауіпсіздік және істен шығуға төзімділік

TLS 1. 2 + барлық API және Webhook үшін.

PSP шақырулары үшін Circuit Breaker (Resilience4j), error-rate> 5% кезінде әдісті өшіру.

Уақытша ақаулықтар кезінде экспоненциалды backoff бар Retry-logic.

Audit Trail: барлық webhook-оқиғалар мен транзакциялар кем дегенде 7 жыл реттеулер бойынша сақталады.

8. Тестілеу

Sandbox режимдері:
  • POLi: `poli. sandbox. 'test _ user' жалған белгілерімен domain '.
  • PSP: PayID провайдерлерінің тест кредтері.
  • E2E-тесттер (Cypress): сценарийлер: бастау → эмуляция callback → балансты тексеру.
  • Load Testing (k6): POLi және PayID әдісімен 1000 concurrent депозиттерін имитациялау.

Қорытынды

POLi, PayID/Osko және AUD-дағы дәстүрлі банк аударымдарын біріктіру бірыңғай PaymentService, webhook-ты сенімді өңдеу, форматтарды оқшаулау және circuit breaker және retry-тетіктері бар істен шығуға төзімді архитектураны талап етеді. Мұндай тәсіл жылдам депозиттерді, жоғары CR және австралиялық талаптарға сәйкестікті қамтамасыз етеді.

Caswino Promo