POLi、 PayID、銀行振込、AUDのサポート

イントロダクション

オーストラリアのプレイヤーは現地の支払い方法を好みます。POLi、 PayID/OskoによるNPPおよび伝統的な送金銀行、すべてAUDです。オペレータは、シームレスな統合、即時処理、規制の遵守、信頼性の高いアーキテクチャを確保することが重要です。

1.決済方法の概要

1.POLi支払い

OAuth-user認可は、銀行インターフェイスを介して、カードなしで、さらにSMSコード。
沈殿物のために適した即刻の沈殿物。

2.PayID/Osko (NPP)

識別子(電子メール、電話)による翻訳は、NPPネットワーク標準は数秒以内に計算を提供します。
オーストラリアのNew Payments PlatformをサポートするPSPとの統合が必要です。

3.銀行振込(BPAY/直接振込)

BPAY: Biller CodeとCustomer Referenceの生成、支払いはインターネットバンクのユーザーによって行われます。24時間までの登録。
直接AUD転送:SWIFT/IBAN転送、大量に適し、処理時間1-3営業日。

4.AUD通貨

AUDのすべての操作:正しい表示、データベース内のストレージ、セント('DECIMAL (12。2)').

2.統合アーキテクチャ

「マーメイド」
フローチャートLR
プレイヤー-->initiate depositAPI-Gateway
APIゲートウェイ-->PaymentService
PaymentService-->init POLiPOLi-API
PaymentService-->init PayIDPSP-API
PaymentService-->generate BPAYBillingService
POLi-API-->webhookPaymentService
PSP-API-->webhookPaymentService
BillingService-->polling/ webhookPaymentService
PaymentService-->トランザクションサービス
TransactionService:監査DB
```

API-Gateway:検証、レート制限、PaymentServiceへのルーティング。
PaymentService:すべてのAUDメソッドの統一ポイント、'paymentId'、 'method'、' status'、'metadata'を格納します。
BillingService: BPAYアカウントとポーリングステータスのモジュール。
TransactionService: ACIDトランザクションは残高とログ操作を更新します。
AuditDB:リクエストとレスポンスログの不変ストア。

3.POLiの実装

1.イニシエーション:

"'HTTP
POST/api/payments/poli/init
{
「量」:100。00,
「currency」: 「AUD」、
"returnUrl": "https ://casino。com/poli/callback"
}
```

→'{paymentId、 poliUrl}'

2.プレーヤーリダイレクト:
プレイヤーは「poliUrl」にリダイレクトされ、銀行にログインし、支払いを確認します。

3.Webhook処理:

"'HTTP
POST/api/payments/poli/コールバック
ヘッダー:X署名
Body: {paymentId、 status、 bankTransactionId}
```

「X-Signature」でHMACをチェックします。
更新'ステータス':'保留中'→'承認'/'拒否'。
'approved'-'TransactionServiceを起動します。クレジット(playerId、金額)'。

4.PayID/Oskoの実装

1.イニシエーション:

"'HTTP
POST/api/payment/payid/init
{
"payId": "user@example。com"、
「量」:250。00,
「currency」: 「AUD」、
「説明」:「カジノの預金」
}
```

→'{paymentId、 transactionRef}'

2.Webhook通知:
PSP шлёт 'POST/api/payment/payid/callback {paymentId、 status}'です。

同様の署名検証。
ステータス:'保留中'、'決済'、'失敗しました'。

5.BPAYと銀行振込の実施

1.BPAYアカウントの生成:

"'HTTP
POST/api/payment/bpay/generate
{「量」:500。00 }
```

→'{billerCode、 customerRef、 expiryDate}'

2.ポーリングのステータス:

'GET/api/payments/bpay/status?billerCode=&customerRef='15分ごと。
「支払われた」-更新「承認」、クレジットファンド。

3.直接銀行振込:

アカウント詳細(SWIFT、 BSB、 Account)をUIでマッピングします。
トランザクションは、SFTPを介して着信銀行明細書によって手動または自動的に調整されます。

6.ローカライズとUX

書式設定:

「'js」
新しいIntl。NumberFormat ('en-AU'、 {style: 'currency'、 currency: 'AUD'})。フォーマット(1000)
//"1,000ドル。00"
```
UI:

入金方法の選択:POLi、 PayID、 BPAY、銀行振込アイコン。
各方法の用語と手数料の説明。
最初の入力前の検証:KYC/AML。

7.セキュリティとフォールトトレランス

TLS 1。すべてのAPIとWebhookの2+。
PSP呼び出しのCircuit Breaker (Resilience4j)、エラーレートが>5%のときにメソッドを無効にします。
一時的な障害の場合に指数関数的なバックオフを持つ再試行ロジック。
Audit Trail:すべてのWebhookイベントとトランザクションは、規制に従って少なくとも7年間保存されます。

8.テスト

サンドボックスモード:

POLi: 'poli。サンドボックスだ。偽の'test_user'トークンを持つdomain'。
PSP: PayIDプロバイダからのテストクレジット。
E2E tests (Cypress): scripts: initiate→emulate callback→check balance。
負荷テスト(k6): POLiとPayIDによる1000同時預金のシミュレーション。

おわりに

POLi、 PayID/Osko、および従来の銀行振込をAUDに統合するには、1つのPaymentService、信頼性の高いWebhook処理、フォーマットのローカライズ、およびサーキットブレーカと再試行メカニズムを備えたフォールトトレラントアーキテクチャが必要です。このアプローチにより、迅速な預金、高いCR、オーストラリアのコンプライアンスが保証されます。