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

Chargeをキャプチャ

事前に承認されたChargeをキャプチャして支払いを完了します。最初に承認(capture=falseで)してから後でキャプチャする事前承認ワークフローで使用します。


🔑API認証情報

リクエストパラメータ

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

レスポンス

200

キャプチャ成功

Chargeが正常にキャプチャされました。支払いが完了し、資金が転送されました。

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

400

不正なリクエスト

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

一般的な原因:
  • 無効なcapture_amount(承認金額を超えています)
  • 無効なCharge ID形式

401

認証されていません

認証に失敗しました。無効または欠落しているAPI keyです。

一般的な原因:
  • Authorizationヘッダーが欠落しています
  • 無効なsecret key
  • secret keyの代わりにpublic keyを使用しています

404

見つかりません

Charge IDが存在しません。

一般的な原因:
  • 誤ったCharge ID
  • 異なるアカウントのCharge
  • 本番Chargeにテストkeyを使用している(またはその逆)

422

処理できないエンティティ

Chargeをキャプチャできません。

一般的な原因:
  • Chargeは既にキャプチャされています
  • Chargeはキャプチャできません(期限切れまたは取り消し済み)
  • キャプチャ金額が承認金額を超えています
  • 承認の有効期限が切れています(7日間のウィンドウを超えています)

コードサンプル

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

エラーと結果コード

一般的なエラーコード

CodeDescriptionResolution
not_foundCharge IDが存在しませんCharge IDが正しいことを確認してください
already_capturedChargeは既にキャプチャされていますキャプチャ前にChargeのstatusを確認してください
not_capturableChargeをキャプチャできませんcapturableフィールドがtrueであることを確認してください
capture_amount_too_high金額が承認額を超えていますcapture_amountを減らしてください
authorization_expired事前承認の有効期限が切れています(7日以上)新しいChargeを作成してください

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

Fieldキャプチャ前キャプチャ後
capturefalsetrue
paidfalsetrue
capturabletruefalse
refundablefalsetrue
paid_atnullISO 8601 timestamp

試してみる

必須 - 1項目
追加 - 1項目