Disputeの作成
特定のchargeに対して新しいdisputeを作成 します。これにより、関連する取引のchargebackプロセスが開始されます。
リクエストパラメータ
必須 - 1項目必須パラメータ
`id`STRING(required)
disputeを作成するcharge ID(パスパラメータ)。chargeはdispute可能な状態である必要があります。形式:chrg_test_ または chrg_live_ に続く英数字文字列。
レスポンス
200
作成成功新しく作成されたdisputeオブジェクトを返します。初期ステータスは「open」に設定されています。
レスポンスに含まれる項目:
id- Dispute ID (dspt_test_ または dspt_live_ プレフィックス)object- "dispute"livemode- 本番モードのdisputeかどうかstatus- 初期ステータス (open)amount- 最小通貨単位での紛争金額currency- 3文字のISO通貨コードreason_code- disputeの理由コードreason_message- 人間が読める理由の説明charge- 関連するcharge IDmessage- レスポンスメッセージ(初期はnull)documents- 証拠ドキュメントのリスト(初期は空)created_at- disputeの作成日時closed_at- disputeのクローズ日時(openのdisputeはnull)
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
よくある原因:
- charge IDの形式が無効
- 必須パラメータが不足
- リクエストボディの形式が不正
401
認証エラー認証に失敗しました。APIキーが無効または不足しています。
よくある原因:
- Authorizationヘッダーがありません
- 無効なsecret key
- secret keyの代わりにpublic keyを使用している
- HTTP Basic Authの形式が正しくない
404
見つかりませんChargeが見つかりません。
よくある原因:
- charge IDが正しくない
- chargeが別のアカウントに属している
- IDの入力ミスまたはフォーマットエラー
422
処理不能なエンティティこのchargeに対してdisputeを作成できません。
よくある原因:
- chargeには既にdisputeが存在します
- chargeがdispute可能な状態ではありません
- chargeは返金済みです
- chargeが古すぎてdisputeできません
5xx
サーバーエラーサーバー側でエラーが発生しました。これらはまれですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行する
- status.omise.coでサービスインシデントを確認する
- 詳細なガイダンスについてはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/charges/chrg_test_5xuy4w91xqz7d1w9u0t/disputes \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = Omise::Charge.retrieve('chrg_test_5xuy4w91xqz7d1w9u0t')
dispute = charge.disputes.create
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
charge = omise.Charge.retrieve('chrg_test_5xuy4w91xqz7d1w9u0t')
dispute = charge.disputes.create()
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const dispute = await omise.charges.createDispute('chrg_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$charge = OmiseCharge::retrieve('chrg_test_5xuy4w91xqz7d1w9u0t');
$dispute = $charge->disputes()->create();
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Dispute dispute = client.charges().createDispute("chrg_test_5xuy4w91xqz7d1w9u0t");
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var dispute = await client.Charges.CreateDispute("chrg_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
dispute, _ := client.CreateDispute("chrg_test_5xuy4w91xqz7d1w9u0t")
エラーコードと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | 無効な パラメータ | charge IDの形式を確認してください |
authentication_failure | 無効なAPIキー | secret keyが正しいことを確認してください |
not_found | Chargeが見つかりません | charge IDが正しいことを確認してください |
invalid_charge_id | Charge IDの形式が無効 | 有効なchrg_形式を使用してください |
dispute_already_exists | Chargeには既にdisputeがあります | 重複するdisputeは作成できません |
charge_not_disputable | Chargeはdisputeできません | chargeのステータスと経過時間を確認してください |
Disputeステータス値
| ステータス | 説明 |
|---|---|
open | 新規作成、応答待ち |
pending | マーチャントの応答を提出して審査中 |
won | マーチャントがdisputeに勝訴 |
lost | マーチャントがdisputeに敗訴 |
理由コード
| コード | 説明 |
|---|---|
fraudulent | 顧客が未承認の取引と主張 |
unrecognized | 顧客がchargeを認識していない |
duplicate | 顧客が重複請求と主張 |
goods_or_services_not_provided | 商品/サービスが届いていない |
not_as_described | 商品が説明と大きく異なる |
credit_not_processed | 約束した返金が処理されていない |
general | その他の理由 |
API認証情報
試してみる
必須 - 1項目
あなたのIP:
...読み込み中...