銀行決済および注文
顧客、チャネル、ステートメント、および調整コンテキストを使用して、アカウント決済および金融サービス注文を連携させてください。注文は、プロバイダー、再試行、ステータス、および操作全体で安定したビジネス参照を提供します。
DEUNAを使用して、デジタルバンキングの旅の中で決済体験を連携させ、金融商品と顧客のコンテキストをすべての試行に紐づけてください。注文は、プロバイダー、再試行、ステータス、および操作全体で安定したビジネス参照を提供します。
信頼できるサーバーフロー制御された銀行インフラストラクチャから、プライベートAPI資格情報を使用して注文を作成および処理してください。チャネルコンテキストモバイル、Web、店舗、またはアシストされた決済プロセスを、決済契約を変更せずに識別します。運用追跡銀行参照、DEUNA注文トークン、決済状態、および非同期更新を照合します。
完全な銀行決済ペイロード#
この例は、顧客が主導するクレジットカード決済をモデル化しています。 製品とアカウントの参照は、商社が定義するメタデータです。ペイロードには、生の秘密や完全なアカウント番号を配置しないでください。
完全な注文ペイロード
銀行
金融商品、マスク済み口座参照、顧客、チャネル、明細情報を口座支払いに含めます。
descriptionstatement_descriptorinitiator_typemetadataリクエスト本文JSON
{
"order_type": "DEUNA_CHECKOUT",
"order": {
"order_id": "bank-payment-883104",
"store_code": "digital-banking",
"currency": "USD",
"items_total_amount": 12500,
"sub_total": 12500,
"total_tax_amount": 0,
"total_amount": 12500,
"items": [
{
"id": "credit-account-payment",
"sku": "CARD-PAYMENT",
"name": "Credit account payment",
"description": "Customer-directed account payment",
"quantity": 1,
"category": "financial_services",
"type": "service",
"taxable": false,
"unit_price": {
"amount": 12500,
"currency": "USD",
"currency_symbol": "$"
},
"total_amount": {
"amount": 12500,
"original_amount": 12500,
"currency": "USD",
"currency_symbol": "$",
"total_discount": 0
},
"tax_amount": {
"amount": 0,
"currency": "USD",
"currency_symbol": "$"
}
}
],
"payer_info": {
"email": "alex@example.com",
"external_registration_date": "2022-08-14T10:30:00Z"
},
"description": "Payment to account ending in 8842",
"statement_descriptor": "BANK ACCOUNT PMT",
"initiator_type": "customer",
"channel_type": "mobile_app_android",
"metadata": {
"vertical": "banking",
"account_reference": "acct_••••8842",
"product": "credit_card",
"customer_segment": "premium"
},
"callback_urls": {
"on_success": "https://merchant.example.com/payments/success",
"on_pending": "https://merchant.example.com/payments/pending",
"on_reject": "https://merchant.example.com/payments/rejected",
"on_canceled": "https://merchant.example.com/payments/canceled",
"on_failed": "https://merchant.example.com/payments/failed"
}
}
}ビジネスのコンテキストを定義する#
| 要件 | 注文フィールド |
|---|---|
| 銀行取引参照 | 安定 order_id およびマスクされたまたはトークン化されたメタデータ参照 |
| 金融商品 | サービス項目 category, type、および名前空間 metadata.product |
| 顧客とチャネル | payer_info, initiator_type, および channel_type |
| 顧客ステートメント | description およびプロバイダとの互換性 statement_descriptor |
| 最終結果 | DEUNA order_token、決済ステータス、および検証されたWebhookイベント |
生産時のチェックリスト#
- どの銀行識別子が不変の商社となるかを定義します
order_id. - アカウント参照をマスクまたはトークン化し、メタデータから資格情報を除外します。
- すべてのビジネス試行に対して一貫性を適用し、タイムアウトを元の注文と比較します。
- 選択したプロバイダとの、ステートメント記述子とサポートされている決済方法を検証します。
- 認証、制限、保留、拒否、逆転、払い戻し、および重複送信のシナリオをテストします。
APIと顧客アクションのライフサイクルを実装するために、 認証とAPIキー, Idempotency, および Webhooks.