Developers API & Widget
JA

決済

ステータス、定期的なステータス協議および調整

銀行の結論が得られるまで、バックエンドから決済状態を確認してください。 callback、 SCA からの戻り、ウィジェットの閉鎖は財務確認とはみなされません。

バックエンドからのクエリ

: "${WR_API_KEY:?Defina WR_API_KEY en el entorno seguro de su backend}"

curl --request POST 'https://api.wealthreader.com/payments/?action=status' \
  --header 'Content-Type: application/json' \
  --header "X-API-Key: ${WR_API_KEY}" \
  --data '{
    "payment_intent_id": "11111111-1111-4111-8111-111111111111",
    "refresh": true
  }'

refresh はオプションであり、デフォルトで true です。 Wealth Reader 外部クエリは意図によって制限されます。バックエンドにもバックオフを適用し、結果が曖昧な限りは別の意図を作成しないでください。

三つの異なる次元

フィールド コアバリュー 答えるもの
state readyauthorization_requiredprocessingreconciliation_required、端末 耐久性のあるフロー状態。
interaction_status not_startedauthorization_requiredprocessingcompletedfinished 技術的なやり取りが終わったのか、続くのか。
payment_status not_initiatedpendingunknownsettledrejectedcancelledexpiredfailed 正常化された財務結果。

唯一の肯定的な確認は payment_status: settledであり、これは資金決済完了を明示する銀行の状態から導かれます。技術的な結果 DONEinteraction_status: completedpayment_status: pending は資金決済の完了を意味することはありません。

曖昧な結果

スタート後に認識されないネットワークの切断、タイムアウト、または応答は、 reconciliation_required の意図を変え、 payment_status: unknownを露出させます。スタートは自動的に繰り返されません。

現在のプロバイダーは、応答が失われたイニシエーションを再構築するクエリを提供していません。その状態クエリは、同じイニシエーションによって返される不透明なコンテキストを必要とします。したがって、そのケースは手動で照合する必要があります。自動状態の定期的なクエリや callbackIDの検索では取得できません。

その場合:

  1. 冪等性キーと識別子を保持し、
  2. 他の意図を作成したり、再び許可したりしない;
  3. Wealth Readerの認証済みステータスを確認し、安全な照合リファレンスを保持してください。
  4. 技術サポートに連絡してください; automatic_recoveryfalse中はステータス確認を続けないでください。

手動で照合が必要な意図の場合、サーバー間クエリには以下が含まれます:

{
  "payment_status": "unknown",
  "reconciliation_required": true,
  "reconciliation": {
    "automatic_recovery": false,
    "reference": "wrp_recon_0123456789abcdef0123",
    "request_id": "11111111-1111-4111-8111-111111111111",
    "correlation_id": "22222222-2222-4222-8222-222222222222",
    "reason": "initiation_rejected"
  }
}

これらの識別子は機密情報を除去したサポート用参照です。ウィジェットに提供されるものではなく、顧客がプロバイダーの内部状態を問い合わせたり再構築したりすることはできません。

reason は Wealth Readerコードであり、サプライヤーのテキストではありません。 initiation_rejected はサプライヤーが開始の明確な拒否で応答したことを示します。 initiation_response_unavailable、認識可能な回答がなかったことを示します。いずれの場合も開始通知はすでに送信されているため、繰り返されません:参照を保持し、技術サポートに連絡してください。

コールバックとリプレイ

返還 SCA は排他的な支払い callback に到達します。 Wealth Reader 相関を検証し、銀行のパラメータをそのまま提供者に転送します(予期せぬ名前は記録され、すでに許可された返還は拒否されません)、戻りのリクエストは一度だけ処理され、暗号化されたセンシティブ状態を保持します。繰り返しは HTTP 409のみ応答します。それは本文内の内部コードに依存しません。

認証には複数のリダイレクトが必要になることがあります。検証された各 REDIRECT は同じ SCA ウィンドウ内で続き、新しい callbackチェックポイントを開きます。新しいイニシエーションは作成しません。結果 DECOUPLED は意図を保持し、ウィジェットがステータスを問い合わせるための意図を processing 保持します。明示的な RETRY は、すでに準備済みの完了のみを繰り返し、待ち時間と試行回数に制限があります。 ERRORPASSWORDMORE_INFOSELECT_OPTION、未知の結果やそれらの制限の尽きは照合が必要な状態になり、新しいイニシエーションにはなりません。

マーチャントはその callbackを公開したり処理したりする必要はありません。このリリースはマーチャントにウェブフックを送信しません。公開された決済確認の仕組みはサーバー間の状態を定期的に問い合わせるものです。

ウィジェットの閉じる

flow_closed は、目に見えるやり取りが終了したことを伝えます。フロントエンドはモーダルを閉じることができますが、そのイベントに対して「支払済み」と表示されてはなりません。バックエンドは決済確認や照合の責任を保持します。

次のステップ

リストを完成させる セキュリティとテスト.

最終更新