メインコンテンツへスキップ
バージョン: 最新版

チャージをキャプチャ

以前に承認されたチャージをキャプチャして決済を完了します。最初に承認(capture=false)して後でキャプチャする事前承認ワークフローで使用します。


リクエストパラメータ

必須 - 1項目必須パラメータ
`id`STRING(required)
キャプチャするチャージID。キャプチャされていない承認済みチャージ(status: successful、authorized: true、capture: false、capturable: true)である必要があります。
Example:"chrg_test_5xuy4w91xqz7d1w9u0t"
Constraints:chrg_で始まる必要があります, 有効なキャプチャされていないチャージ, キャプチャウィンドウ内(7日間)
追加 - 2項目追加パラメータ

レスポンス

200

キャプチャ成功

チャージが正常にキャプチャされました。決済が完了し、資金が振り替えられました。

キャプチャ後の主要フィールドの変更:
  • capture - falseからtrueに変更
  • paid - falseからtrueに変更
  • capturable - trueからfalseに変更
  • refundable - falseからtrueに変更
  • paid_at - 現在のタイムスタンプに設定

400

不正なリクエスト

無効なパラメータが提供されました。

一般的な原因:
  • 無効なcapture_amount(承認金額を超過)
  • 無効なチャージID形式

401

認証エラー

認証に失敗しました。無効または欠落したAPIキー。

一般的な原因:
  • Authorizationヘッダーの欠落
  • 無効なシークレットキー
  • シークレットキーの代わりにパブリックキーを使用

404

見つかりません

チャージIDが存在しません。

一般的な原因:
  • 不正なチャージID
  • 別のアカウントのチャージ
  • 本番チャージにテストキーを使用(またはその逆)

422

処理不可能なエンティティ

チャージをキャプチャできません。

一般的な原因:
  • チャージは既にキャプチャ済み
  • チャージがキャプチャ不可能(期限切れまたは取り消し済み)
  • キャプチャ金額が承認金額を超過
  • 承認が期限切れ(7日間を超過)

5xx

サーバーエラー

サーバー側でエラーが発生しました。まれですが、適切に処理してください。

対処方法:
  • 指数バックオフでリクエストを再試行
  • サービスインシデントについてはstatus.omise.coを確認
  • 詳細なガイダンスについてはエラー処理を参照

コードサンプル

curl https://api.omise.co/charges/chrg_test_5xuy4w91xqz7d1w9u0t/capture \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:

エラーと結果コード

一般的なエラーコード

コード説明解決方法
not_foundチャージIDが存在しないチャージIDが正しいか確認
already_capturedチャージは既にキャプチャ済みキャプチャ前にチャージステータスを確認
not_capturableチャージをキャプチャできないcapturableフィールドがtrueか確認
capture_amount_too_high金額が承認額を超過capture_amountを減らす
authorization_expired事前承認が期限切れ(7日超)新しいチャージを作成

キャプチャ後のチャージステータス

フィールドキャプチャ前キャプチャ後
capturefalsetrue
paidfalsetrue
capturabletruefalse
refundablefalsetrue
paid_atnullISO 8601タイムスタンプ

🔑API認証情報

試してみる

必須 - 1項目
追加 - 2項目
あなたのIP: ...読み込み中...