Chargeをリバース
事前認証されたChargeをリバースし、支払いをキャプチャせずに顧客の資金の保留を解除します。capture=falseで作成されたchargeのみ機能します。
API認証情報
リクエストパラメータ
必須 - 1項目必須パラメータ
`id`STRING(required)
リバースするcharge ID。キャプチャされていない事前認証charge(status: successful、capture: false、reversible: true)である必要があります。
レスポンス
200
リバース成功事前認証がキャンセルされました。資金が顧客に返還されます。
リバース後の主なフィールドの変更:
status- successfulからreversedに変更されますreversed- falseからtrueに変更されますreversed_at- 現在のタイムスタンプに設定されますreversible- trueからfalseに変更されますcapturable- trueからfalseに変更されます
400
不正なリクエストパラメータが無効、またはchargeをリバースできません。
一般 的な原因:
- Chargeが既にキャプチャ済み(代わりにrefundを使用してください)
- 無効なcharge IDフォーマット
- Chargeが事前認証ではない
401
認証されていません認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なsecret key
- secret keyの代わりにpublic keyを使用
404
見つかりませんCharge IDが存在しません。
一般的な原因:
- 誤ったcharge ID
- 別アカウントのcharge
- 本番chargeにテストkeyを使用(またはその逆)
422
処理できないエンティティChargeをリバースできません。
一般的な原因:
- Chargeが既にリバース済み
- Chargeが既にキャプチャ済み(キャプチャ済みchargeはリバースできません)
- Chargeがreversibleではない(期限切れまたは誤ったステータス)
- 認証が期限切れ(7日間の期間を超過)
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/charges/chrg_test_5xuy4w91xqz7d1w9u0t/reverse \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = Omise::Charge.reverse('chrg_test_5xuy4w91xqz7d1w9u0t')
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = omise.Charge.reverse('chrg_test_5xuy4w91xqz7d1w9u0t')
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const charge = await omise.charges.reverse('chrg_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$charge = OmiseCharge::retrieve('chrg_test_5xuy4w91xqz7d1w9u0t');
$charge->reverse();
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Charge charge = client.charges().reverse("chrg_test_5xuy4w91xqz7d1w9u0t")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var charge = await client.Charges.Reverse("chrg_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
charge, _ := client.ReverseCharge("chrg_test_5xuy4w91xqz7d1w9u0t", nil)
エラーコードと結果コード
一般的なエラーコード
| Code | Description | Resolution |
|---|---|---|
not_found | Charge IDが存在しません | Charge IDが正しいか確認してください |
already_reversed | Chargeは既にリバース済みです | アクションは不要です |
already_captured | Chargeはキャプチャ済みです(refundを使用してください) | キャプチャ済みchargeはリバースできません |
not_reversible | Chargeをリバースできません | reversibleフィールドがtrueか確認してください |
authorization_expired | 事前認証が期限切れです(7日超過) | 期限切れの認証はリバースできません |
リバースの要件
| Field | Required Value | Description |
|---|---|---|
status | successful | 認証済みである必要があります |
capture | false | 事前認証である必要があります |
reversible | true | リバース可能である必要があります |
reversed | false | まだリバースされていない必要があります |
| Age | < 7 days | 認証期間内である必要があります |
試してみる
必須 - 1項目