POLi, PayID, банктык которууларды жана AUD колдоо

Киришүү

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

1. Төлөм ыкмаларын карап чыгуу

1. POLi Payments

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

2. PayID/Osko (NPP)

ID (email, телефон) боюнча которуу, NPP тармак стандарты секунданын ичинде эсептөөнү камсыз кылат.
Ал Australia's New Payments Platform колдогон PSP менен интеграцияны талап кылат.

3. Банктык которуу (BPAY/түз которуу)

BPAY: Biller Code жана Customer Reference генерациясы, төлөм интернет-банкта колдонуучу тарабынан жүргүзүлөт; 24 саатка чейин кабыл алуу
Түздөн-түз AUD-өткөрүп берүү: SWIFT/IBAN которуу, ири суммалар үчүн жарактуу, иштетүү убактысы 1-3 жумушчу күн.

4. AUD валютасы

AUD Бардык операциялар: коррет көрсөтүү, базада сактоо, центке тегеректөө ('DECIMAL (12,2)').

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

```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: validation, 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. Тике банктык которуу:
  • Эсеп реквизиттерин көрсөтүү (SWIFT, BSB, Account) UI.
  • Операциялар кол менен же автоматтык түрдө incoming bank statements аркылуу SFTP аркылуу текшерилет.

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 үчүн.
    Circuit Breaker (Resilience4j) PSP чалуулар үчүн, методду өчүрүү error-rate> 5%.
    Retry-логикалык экспоненциалдык backoff менен убактылуу мүчүлүштүктөр.
    Audit Trail: бардык webhook-окуялар жана бүтүмдөр жөнгө салуу боюнча жок дегенде 7 жыл сакталат.

    8. Тестирлөө

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

    Корутунду

    POLi, PayID/Osko жана AUDга салттуу банктык которуулардын интеграциясы бирдиктүү PaymentService, webhook ишенимдүү иштетүүнү, circuit breaker жана retry-механизмдери менен форматтарды локалдаштырууну жана иштен чыгууга туруктуу архитектураны талап кылат. Бул ыкма тез депозиттер, жогорку CR жана Американский талаптарга жооп берет.