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
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:
→ `{ paymentId, poliUrl }`
2. Oʻyinchini qayta yoʻnaltirish:
3. Webhook qayta ishlash:
’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:
→ `{ paymentId, transactionRef }`
2. Webhook xabarnomasi:
Imzoni shunga oʻxshash tekshirish.
Maqomi:’pending’,’settled’,’failed’.
5. BPAY va bank o’tkazmasini amalga oshirish
1. BPAY hisobi:
→ `{ billerCode, customerRef, expiryDate }`
2. Polling maqomi:
3. To’g «ridan to’g» ri bank o’tkazmasi:
6. Lokalizatsiya va UX
Formatlash:
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 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: 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.
- 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.
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:
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.