支持POLi、PayID、银行转账和AUD

导言

澳大利亚玩家更喜欢本地支付方法:通过POLi,NPP下的PayID/Osko进行即时银行转账,以及AUD中的传统转账银行。对于操作员而言,重要的是实现无缝集成,即时处理,调节合规性和可靠体系结构。

1.付款方法概述

1.POLi Payments

通过银行界面对OAuth用户进行授权,没有卡片和其他短信代码。
即时存款,适合存款。

2.PayID/Osko (NPP)

通过ID(电子邮件,电话)进行翻译,NPP网络标准可以在几秒钟内进行计算。
需要与支持澳大利亚新付款平台的PSP集成。

3.银行转账(BPAY/直接转账)

BPAY:Biller Code和Customer Reference生成,付款由用户在Internet银行进行;入学时间长达24小时。
直接AUD-transfer: SWIFT/IBAN transfer,适用于大笔交易,处理时间为1-3个工作日。

4.AUD货币

AUD中的所有操作均为:corret映射,底座存储,四舍五入("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:验证、限制、路由到PaymentService。
PaymentService:所有AUD方法的统一点,存储"paymentId"、"method"、"status"、"metadata"。
BillingService:用于BPAY计数和状态计数的模块。
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 }
```

HMAC检查"X-Signature"。
"状态"更新:"pending" → "proved"/"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.调查状态:

`GET /api/payments/bpay/status?每15分钟一次billerCode=&customerRef='。
При `PAID` — update `approved`, credit funds.

3.直接银行转账:

在UI中显示帐户详细信息(SWIFT、BSB、Account)。
操作是通过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。
用于PSP调用的Circuit Breaker (Resilience4j),在error-rate> 5%时关闭方法。
在时间故障时具有指数反冲的返回逻辑。
Audit Trail:所有webhook事件和事务在监管下至少保留7年。

8.测试

Sandbox模式:

POLi: `poli.sandbox.带有"test_user"假令牌的域。
PSP:PayID提供商的测试信用。
E2E测试(Cypress):脚本:启动→模拟回调→测试平衡。
Load Testing (k6):使用POLi和PayID方法模拟1000个匹配存款。

二.结论

将POLi,PayID/Osko和传统银行转账集成到AUD需要单一PaymentService,可靠的webhook处理,格式本地化以及带有电路断路器和回程机制的故障转移体系结构。这种方法可确保快速存款,高CR和符合澳大利亚要求。