POLi, PayID, bank o’tkazmalari va AUDni qo’llab-quvvatlash

Kirish

Avstraliyalik futbolchilar mahalliy to’lov usullarini afzal ko’rishadi: POLi, PayID/Osko orqali NPP va an’anaviy transfer banki orqali tezkor bank o’tkazmalari, hammasi AUDda. Operator uchun cheksiz integratsiya, tezkor ishlov berish, tartibga solish va ishonchli arxitekturani taʼminlash muhim ahamiyatga ega.

1. Toʻlov usullarini koʻrib chiqish

1. POLi Payments

OAuth-bank interfeysi orqali foydalanuvchini avtorizatsiya qilish, kartasiz va qo’shimcha SMS-kodlarsiz.
Mablag’larni bir zumda o’tkazish, depozitlar uchun mos keladi.

2. PayID/Osko (NPP)

Identifikator (email, telefon) boʻyicha tarjima qilish, NPP tarmoq standarti hisoblashni bir soniya ichida taʼminlaydi.
Australia’s New Payments Platformni qoʻllab-quvvatlovchi PSP bilan integratsiyani talab qiladi.

3. Bank o’tkazmasi (BPAY/to’g «ridan to’g» ri transfer)

BPAY: Biller Code va Customer Reference generatsiyasi, to’lovni foydalanuvchi internet-bankda amalga oshiradi; 24 soatgacha o’tkazish
To’g «ridan-to’g» ri AUD-transfer: SWIFT/IBAN o’tkazmasi, katta mablag’lar uchun mos, qayta ishlash vaqti 1-3 ish kuni.

4. AUD valyutasi

AUDdagi barcha operatsiyalar: korret ko’rsatish, bazada saqlash, tsentgacha yaxlitlash (’DECIMAL (12,2)’).

2. Integratsiya arxitekturasi

```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: validatsiya, rate-limiting, PaymentService’ga yoʻnaltirish.
PaymentService: barcha AUD usullari uchun birlashtirilgan nuqta,’paymentId’,’method’,’status’,’metadata’ni saqlaydi.
BillingService: BPAY hisoblari va polling holatlari uchun modul.
TransactionService: ACID tranzaksiyalari balansni yangilaydi va operatsiyalarni logotip qiladi.
AuditDB: soʻrovlar va javoblar daftarining oʻzgarmas saqlovi.

3. POLi ni amalga oshirish

1. Boshlash:
  • ```http
  • POST /api/payments/poli/init
  • {
  • "amount": 100. 00,
  • "currency": "AUD",
  • "returnUrl": "https: //casino. com/poli/callback"
  • }
  • ```

→ `{ paymentId, poliUrl }`

2. Oʻyinchini qayta yoʻnaltirish:
  • O’yinchi’poliUrl’ga yo’naltiriladi, bankda avtorizatsiyadan o’tadi, to’lovni tasdiqlaydi.

3. Webhook qayta ishlash:
  • ```http
  • POST /api/payments/poli/callback
  • Headers: X-Signature
  • Body: { paymentId, status, bankTransactionId }
  • ```

’X-Signature’ bo’yicha HMACni tekshirish.
Yangilanish’status’:’pending’→’approved ’/’ declined’.
’approved’ bilan’TransactionService’ni ishga tushiring. credit(playerId, amount)`.

4. PayID/Osko

1. Boshlash:
  • ```http
  • POST /api/payments/payid/init
  • {
  • "payId": "user@example. com",
  • "amount": 250. 00,
  • "currency": "AUD",
  • «Deskripshen»: «Casino deposit»
  • }
  • ```

→ `{ paymentId, transactionRef }`

2. Webhook xabarnomasi:
  • PSP шлёт `POST /api/payments/payid/callback { paymentId, status }`.

Imzoni shunga oʻxshash tekshirish.
Maqomi:’pending’,’settled’,’failed’.

5. BPAY va bank o’tkazmasini amalga oshirish

1. BPAY hisobi:
  • ```http
  • POST /api/payments/bpay/generate
  • { "amount": 500. 00 }
  • ```

→ `{ billerCode, customerRef, expiryDate }`

2. Polling maqomi:
  • `GET /api/payments/bpay/status? billerCode = & customerRef =’har 15 daqiqada.
  • При `PAID` — update `approved`, credit funds.

3. To’g «ridan to’g» ri bank o’tkazmasi:
  • Hisob rekvizitlarini (SWIFT, BSB, Account) UIda koʻrsatish.
  • Operatsiyalar qo’lda yoki avtomatik ravishda incoming bank statements orqali SFTP orqali tekshiriladi.

6. Lokalizatsiya va UX

Formatlash:
  • ```js
  • new Intl. NumberFormat('en-AU', { style: 'currency', currency: 'AUD' }). format(1000)
  • // "A$1,000. 00"
  • ```
  • UI:
    • Depozitdagi usulni tanlash: POLi, PayID, BPAY, Bank Transfer ikonalari.
    • Har bir usul bo’yicha muddatlar va komissiyalar tavsifi.
    • Birinchi kiritishdan oldin tasdiqlash: KYC/AML.

    7. Xavfsizlik va nosozlikka chidamlilik

    TLS 1. Barcha API va Webhook uchun 2 +.
    PSP chaqiruvlari uchun Circuit Breaker (Resilience4j), error-rate> 5% da usulni oʻchirish.
    Vaqtinchalik nosozliklarda eksponensial backoff bilan retry-logic.
    Audit Trail: Barcha webhook-hodisalar va tranzaksiyalar kamida 7 yil davomida tartibga solinadi.

    8. Test oʻtkazish

    Sandbox rejimlari:
    • POLi: `poli. sandbox. domain’soxta tokenlar bilan’test _ user’.
    • PSP: PayID provayderlarining test kreddlari.
    • E2E testlari (Cypress): stsenariylar: boshlash → emulatsiya callback → balansni tekshirish.
    • Load Testing (k6): POLi va PayID usulida 1000 concurrent depozitlarni taqlid qilish.

    Xulosa

    POLi, PayID/Osko va an’anaviy bank o’tkazmalarining AUDga integratsiyalashuvi yagona PaymentService, webhook-ni ishonchli qayta ishlash, formatlarni mahalliylashtirish va circuit breaker va retry-mexanizmlar bilan uzluksiz arxitekturani talab qiladi. Bunday yondashuv tezkor depozitlar, yuqori CR va Avstraliya talablariga muvofiqlikni taʼminlaydi.