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
API-Gateway: валидация, rate-limiting, PaymentService маршрутизациясы.
PaymentService: барлық AUD әдістері үшін біріздендірілген нүкте, 'paymentId', 'method', 'status', 'metadata' сақтайды.
BillingService: BPAY шоттары мен polling статусына арналған модуль.
TransactionService: ACID транзакциялары балансты жаңартады және операцияларды логиндейді.
AuditDB: сұраулар мен жауаптарды сақтау орны.
3. POLi іске асыру
1. Бастама:
→ `{ paymentId, poliUrl }`
2. Ойыншыны қайта бағыттау:
3. Webhook өңдеу:
'X-Signature' бойынша HMAC тексеру.
'status' жаңарту: 'pending' → 'approved '/' declined'.
'approved' кезінде 'TransactionService' іске қосылады. credit(playerId, amount)`.
4. PayID/Osko іске асыру
1. Бастама:
→ `{ paymentId, transactionRef }`
2. Webhook хабарламасы:
Қолтаңбаны ұқсас тексеру.
Мәртебелер: 'pending', 'settled', 'failed'.
5. BPAY және банктік аударымды іске асыру
1. BPAY шотының генерациясы:
→ `{ billerCode, customerRef, expiryDate }`
2. Polling күй- жайы:
3. Тікелей банктік аударым:
6. Локализация және UX
Пішімдеу:
Австралиялық ойыншылар жергілікті төлем әдістерін таңдайды: 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.
- POLi: `poli. sandbox. 'test _ user' жалған белгілерімен domain '.
- PSP: PayID провайдерлерінің тест кредтері.
- E2E-тесттер (Cypress): сценарийлер: бастау → эмуляция callback → балансты тексеру.
- Load Testing (k6): POLi және PayID әдісімен 1000 concurrent депозиттерін имитациялау.
7. Қауіпсіздік және істен шығуға төзімділік
TLS 1. 2 + барлық API және Webhook үшін.
PSP шақырулары үшін Circuit Breaker (Resilience4j), error-rate> 5% кезінде әдісті өшіру.
Уақытша ақаулықтар кезінде экспоненциалды backoff бар Retry-logic.
Audit Trail: барлық webhook-оқиғалар мен транзакциялар кем дегенде 7 жыл реттеулер бойынша сақталады.
8. Тестілеу
Sandbox режимдері:
Қорытынды
POLi, PayID/Osko және AUD-дағы дәстүрлі банк аударымдарын біріктіру бірыңғай PaymentService, webhook-ты сенімді өңдеу, форматтарды оқшаулау және circuit breaker және retry-тетіктері бар істен шығуға төзімді архитектураны талап етеді. Мұндай тәсіл жылдам депозиттерді, жоғары CR және австралиялық талаптарға сәйкестікті қамтамасыз етеді.