メインコンテンツまでスキップ

決済状態を照会する

加盟店サーバーから、保存済みの paymentIntentId で現在の状態を照会します。API 認証は不要です。

const response = await fetch(
`${process.env.STBL_PAY_BACKEND}/payment_status/${encodeURIComponent(paymentIntentId)}`,
);
if (!response.ok) throw new Error(`状態照会失敗: HTTP ${response.status}`);
const payment = await response.json();

自社の注文表示 API にはログインと注文の所有権確認が必要です。ブラウザが渡した任意の決済 ID ではなく、注文に保存した ID を使います。

応答の扱い​

応答のフィールドは REST リファレンスにまとめています。項目ごとの定義は、OpenAPI 仕様書の PaymentStatusView にあります。金額や手数料はこの応答に含まれません。照会失敗やタイムアウトを、決済の failed として扱わないでください。

状態注文側の処理
settled注文との対応を確認し、一度だけ支払い済みにする
canceled / expired / failed未提供の注文を業務ルールに沿って終了する
nonce_conflict結末を特定できないため、自動出荷・自動再請求を止め、決済 ID を添えて問い合わせ先へ調査を依頼する
それ以外の6状態決済途中として照会を継続する

Webhook を受けたときの確定照会と、通知を取りこぼした未確定注文の定期突合に使います。ブラウザが戻らなくても確認を続けてください。

完了判定と状態の意味も参照してください。