チャージを期限切れにする
まだ承認されていない保留中のチャージを手動で期限切れにします。リダイレクトベースのフローを持つ特定の決済方法にのみ適用されます。
リクエストパラメータ
必須 - 1項目必須パラメータ
`id`STRING(required)
期限切れにするチャージID。まだ承認されていない保留中のチャージである必要があります。サポートされている決済ソース(Alipay CN/HK、DANA、GCash、KakaoPay、PayPay、Touch 'n Go)でのみ機能します。
レスポンス
200
期限切れ成功チャージが期限切れとしてマークされました。顧客は決済を完了できなくなりました。
期限切れ後の主要フィールドの変更:
status- pendingからexpiredに変更expired- falseからtrueに変更expired_at- 現在のタイムスタンプに設定
400
不正なリクエストリクエストの検証に失敗しました。
一般的な原因:
- 無効なチャージID形式
- チャージが期限切れの対象外
401
認証エラー認証に失敗しました。無効または欠落したAPIキー。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
404
見つかりませんチャージIDが存在しません。
一般的な原因:
- 不正なチャージID
- 別のアカウントのチャージ
- 本番チャージにテストキーを使用(またはその逆)
422
処理不可能なエンティティチャージを期限切れにできません。
一般的な原因:
- チャージがpendingではない(既にsuccessful、failed、またはexpired)
- チャージは既に承認済み
- 決済方法が手動期限切れをサポートしていない
- チャージがサポートされているソースではなくカードで作成された
5xx
サーバーエラーサーバー側でエラーが発生しました。まれですが、適切に処理してください。
対処方法:
- 指数バックオフでリクエストを再試行
- サービスインシデントについてはstatus.omise.coを確認
- 詳細なガイダンスについてはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/charges/chrg_test_5xuy4w91xqz7d1w9u0t/expire \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = Omise::Charge.expire('chrg_test_5xuy4w91xqz7d1w9u0t')
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = omise.Charge.expire('chrg_test_5xuy4w91xqz7d1w9u0t')
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const charge = await omise.charges.expire('chrg_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$charge = OmiseCharge::retrieve('chrg_test_5xuy4w91xqz7d1w9u0t');
$charge->expire();
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Charge charge = client.charges().expire("chrg_test_5xuy4w91xqz7d1w9u0t")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var charge = await client.Charges.Expire("chrg_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
charge, _ := client.ExpireCharge("chrg_test_5xuy4w91xqz7d1w9u0t", nil)
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
not_found | チャージIDが存在しない | チャージIDが正しいか確認 |
not_pending | チャージがpendingではない | pendingのチャージのみ期限切れ可能 |
already_expired | チャージは既に期限切れ | アクション不要 |
not_expirable | 決済方法がサポートされていない | サポートされているソースを確認 |
already_authorized | チャージは既に承認済み | 承認済みチャージは期限切れにできません |
サポートされている決済方法
| 決済方法 | サポート | 備考 |
|---|---|---|
| Alipay CN | はい | 保留中のチャージを期限切れ可能 |
| Alipay HK | はい | 保留中のチャージを期限切れ可能 |
| DANA | はい | 保留中のチャージを期限切れ可能 |
| GCash | はい | 保留中のチャージを期限切れ可能 |
| KakaoPay | はい | 保留中のチャージを期限切れ可能 |
| PayPay | はい | 保留中のチャージを期限切れ可能 |
| Touch 'n Go | はい | 保留中のチャージを期限切れ可能 |
| クレジットカード | いいえ | カードは異なるフロー |
| PromptPay | いいえ | PromptPayは自動的に期限切れ |
API認証情報
試してみる
必須 - 1項目
あなたのIP:
...読み込み中...