エラーコード – 概要
本サービスで発生するエラーは、「APIリクエストエラー」と「ペイメントエラー」に分けられます。
APIリクエストエラーは、何らかの理由でAPIの呼び出しが正しく行えなかったことを表します。
ペイメントエラーは、API呼び出しが正常に行えたが、カード会社やセンター等、外部のシステムでの処理が失敗した場合に発生します。
多くの場合、以下のJSONの形式で詳細なエラー情報が提供されます。
項目 | 意味 | 記法 | 代表例 |
---|---|---|---|
status | レスポンスの種別 | 半角英 | error |
code | エラーコード | 半角英 アッパースネークケース (UPPER_SNAKE_CASE) | 表を参照 |
errors | エラー詳細をネスト | ||
field | エラー原因となったパラメータのフィールド名 (errorsにネストされたエラー詳細) | ローワースネークケース (lower_snake_case) | |
reason | ネストされたエラーの詳細 (errorsにネストされたエラー詳細) | アッパースネークケース (UPPER_SNAKE_CASE) または英文で上限や下限の提示 |
APIリクエストエラー
このエラーは APIリクエストが正常に受け付けられなかったことを意味し、HTTP ステータスコードが 4xx もしくは 5xx 系統で返されます。
HTTP ステータス | 内容 |
---|---|
400 Bad Requests | リクエストの内容に問題があります 詳細はボディのエラー情報に記載 |
401 Unauthorized | 認証ができませんでした Authorization ヘッダが無いか、内容に問題あり |
403 Forbidden | リクエストを実行する為の権限なし |
404 Not Found | 指定されたパス、もしくはリソースIDが存在しない |
429 Too Many Requests | レート制限の上限に達した |
500 Internal Server Error | 本サービスのシステム内部で予期しないエラーが発生 この場合、処理の一部は実行されている可能性があります |
例:HTTPステータスコードのみの場合
HTTP/1.1 429 Too Many Requests
...
Content-Length: 0
例:JSONのエラー情報が返され、エラーコードのみの場合
HTTP/1.1 400 Bad Requests
...
Content-Type: application/json
...
{
status: "error",
code: "NON_UNIQUE_ACTIVE_TOKEN"
errors: []
}
例:JSONのエラー情報が返され、リクエストパラメータに関して詳細なエラー理由がある場合
HTTP/1.1 400 Bad Requests
...
Content-Type: application/json
...
{
status: "error",
code: "VALIDATION_ERROR"
errors: [{
field: "card_number"
reason: "INVALID_CARD_NUMBER"
}]
}
例:JSONのエラー情報が返され、より詳細なエラーの理由がある場合
HTTP/1.1 400 Bad Requests
...
Content-Type: application/json
...
{
status: "error",
code: "CHARGE_AMOUNT_TOO_LOW"
errors: [{
reason: "Charge amount must exceed 100"
}]
}
APIリクエストエラーのエラーコード
JSON形式の詳細なエラー情報が提供される場合、エラーコードは以下のような内容を意味します。
HTTPステータス | エラーコード | 内容 |
---|---|---|
400 | ALREADY_CAPTURED | 対象の課金は既にキャプチャ済みか、オーソリが完了していません。 |
400 | AUTH_NOT_SUPPORTED | オーソリに対応したゲートウェイが設定されていません。 |
400 | CANCEL_NOT_ALLOWED | この支払い方法はキャンセルに対応していません。もしくは対象の課金のステータスはキャンセルできない状態です。 詳細はキャンセルを参照してください。 |
400 | CANNOT_CHANGE_CANCELED_SUBSCRIPTION | キャンセルされた定期課金は変更することはできません。 |
400 | CANNOT_CHANGE_TOKEN | この状態の定期課金のトランザクショントークンは変更できません。トランザクショントークンの変更可能な条件は定期課金の更新を参照してください。 |
400 | CANNOT_REFUND_UNSUCCESSFUL_CHARGE | successful 以外の状態の課金は返金できません。 |
400 | CAPTURE_AMOUNT_TOO_LARGE | キャプチャの金額がオーソリ時の金額より大きいです。 |
400 | CARD_BRAND_NOT_SUPPORTED | 指定されたカードブランドに対応したゲートウェイが設定されていません。 |
400 | CARD_COUNTRY_NOT_SUPPORTED | 指定されたカード発行国に対応したゲートウェイが設定されていません。 |
400 | CARD_PROCESSING_DISABLED | 支払い方法でカードが無効になっています。 |
400 | CHARGE_TOO_QUICK | 制限つきのリカーリングトークンまたは同一カードに対して、30秒以内※に同一金額で複数の課金を作成しようとしました。 ※APIからリクエストを行っている加盟店さまは、本エラーの発生時間を変更できます。詳細は冪等なリクエストを参照してください。 |
400 | CONVENIENCE_PROCESSING_DISABLED | 支払い方法でコンビニ決済が無効になっています。 |
400 | CURRENCY_MUST_MATCH_CHARGE | 返金時の通貨は課金時の通貨と同じである必要があります。 |
400 | CVV_REQUIRED | CVV の提供が必要です。 |
400 | CVV_AUTHORIZATION_NOT_COMPLETED | CVV(セキュリティーコード)認証に失敗しました。 |
400 | FILE_INVALID_TYPE | アップロードされたファイルの MIME タイプが正しくありません。 |
400 | FILE_MAX_SIZE_EXCEEDED | アップロードされたファイルのサイズが大きすぎます。 |
400 | FORBIDDEN_IP | リクエスト元のIPアドレスから割り出された国が、設定された許可する国に含まれていません。 |
400 | INSTALLMENT_MAX_PAYOUT_PERIOD_EXCEEDED | 分割払いの支払期間が、設定された最大の支払期間を超過しています。 |
400 | INSTALLMENT_PAYMENT_TYPE_NOT_ALLOWED_FOR_PLAN | 分割払いの支払い方法として許可されていない支払い方法です。 |
400 | INSTALLMENT_INVALID_CYCLES_COUNT | 利用できない分割回数です。 |
400 | INSTALLMENT_INVALID_PLAN | サポートされていない分割支払いプランです。 |
400 | INVALID_PLATFORM | プラットフォームの指定が正しくありません。 |
400 | INVALID_TOKEN_TYPE | トランザクショントークンの種類が正しくありません。 |
400 | INVALID_QR_SCAN_GATEWAY | QRコード決済のゲートウェイが設定されていないか有効ではありません。 |
400 | LAST_NAME_REQUIRED | カード名義にスペースで区切られた苗字が必要です。 |
400 | LIVE_MODE_NOT_ENABLED_WHEN_UNVERIFIED | 本番モード(live )を使用するにはアカウントの審査の完了が必要です。 |
400 | NO_DIRECT_CURRENCY_GATEWAY | 通貨の変換をせずに利用可能なゲートウェイが設定されていません。 |
400 | NO_GATEWAYS_AVAILABLE | 利用可能なゲートウェイが見つかりません。 |
400 | NO_TEST_CARD_IN_LIVE_MODE | 本番モード(live )でテストカードは使用できません。 |
400 | NON_SUBSCRIPTION_PAYMENT | 課金の作成にワンタイムトークンもしくはリカーリングトークンを指定してください。 |
400 | NOT_ONE_TIME_TOKEN | ワンタムトークン以外はサポートされていません。 |
400 | NOT_SUBSCRIPTION_TOKEN | 定期課金トークンもしくはリカーリングトークンを指定してください。 |
400 | PARTIAL_CAPTURE_NOT_SUPPORTED | 部分的なキャプチャはサポートされていません。 |
400 | PAYMENT_EXPIRATION_EXCEEDS_PERIOD | 支払い期限日時がサイクルを超過しています。 |
400 | QR_PROCESSING_DISABLED | 支払い方法でQRコードが無効になっています。 |
400 | RECURRING_TOKEN_DISABLED | トランザクショントークンが無効になっているか、アカウントにリカーリングトークンを使用する権限がありません。 |
400 | RECURRING_USAGE_LIMIT_REQUIRED | usage_limit パラメータが必要です。 |
400 | RECURRING_USAGE_REQUIRES_CVV | CVV の提供が必要です。 |
400 | REFUND_EXCEEDS_CHARGE_AMOUNT | 返金金額が課金金額を超過しています。 ※複数の一部返金の合計金額が課金金額を超えた場合 ※全額返金成功の課金に再度返金処理をした場合 |
400 | REFUND_NOT_ALLOWED | 返金に対応していない支払い方法、もしくは返金が許可されませんでした。 |
400 | REFUND_EXCEEDS_SALES | 返金の金額が上限を越えたため返金できません。 |
400 | REFUND_NOT_WITHIN_BOUNDS | 返金金額が課金金額を超過しています。 ※複数の一部返金の合計金額が課金金額を超えていて、かつ一部返金の1回分の返金金額が課金金額を超えた場合 |
400 | RESOURCE_LIMIT_REACHED | リソース制限の上限に達しました。 |
400 | SUBSCRIPTION_ALREADY_ENDED | 定期課金は既に終了しています。 |
400 | TOKEN_FOR_WRONG_STORE | トランザクショントークンのストアが定期課金のストアと異なります。 |
400 | TRANSACTION_ALREADY_PROCESSED | 使用済みのトランザクショントークンは指定できません。 |
400 | TRANSACTION_TOKEN_EXPIRED | トランザクショントークンの有効期限が切れました。 |
400 | USAGE_LIMIT_NOT_APPLICABLE | usage_limit は指定できません。 |
400 | VALIDATION_ERROR | リクエスト内容のパラメータにバリデーションエラーがあります。詳細は errors を参照してください。 |
400 | CHARGE_AMOUNT_TOO_HIGH | 課金金額が課金最大額より超過しています。 |
401 | AUTH_HEADER_MISSING | Authorization ヘッダが指定されていません。 |
401 | EXPIRED_LOGIN_TOKEN | ログイントークンの有効期限が切れました。 |
401 | INVALID_APP_TOKEN | アプリケーショントークンの指定が正しくありません。 |
401 | INVALID_CREDENTIALS | 認証情報が正しくありません。 |
401 | INVALID_DOMAIN | リクエストされた Origin ヘッダのドメインは、指定されたアプリケーショントークンのドメインに登録されていません。 |
401 | INVALID_LOGIN_TOKEN | ログイントークンが無効です。 |
401 | DIRECT_CARD_TOKEN_CREATION_DISABLED | PCIDSSに準拠していないためカード情報を送信できません。 |
403 | CARD_LOCKED | このカードは一定期間内の失敗回数がしきい値を超えた為、一時的にロックされています。 30分以内に5回以上失敗で、2時間制限をかけます。 |
403 | INVALID_PERMISSIONS | アプリケーショントークンの種類が正しくないか、アカウントの権限が不足しています。 |
403 | INSTALLMENT_PROCESSOR_INITIAL_AMOUNTS_NOT_SUPPORTED | このゲートウェイでは初回金額の指定はサポートされていません。 |
403 | OUTDATED_APP_TOKEN | アプリケーショントークンのバージョンが古いです。新しくアプリケーショントークンを作成しなおしてください。 |
403 | TEST_CARD_CANNOT_BE_BANNED | テストカードは禁止できません。 |
409 | IDEMPOTENCY_KEY_CONFLICT | 冪等性が保証されたリクエストの際に、指定された冪等性キーが以前に異なるAPIやメソッドで使用されています。 |
409 | NON_UNIQUE_ACTIVE_TOKEN | アクティブなトランザクショントークンが既に存在します。 |
409 | WEBHOOK_URL_EXISTS | 指定されたURLは既に登録されています。 |
500 | COULD_NOT_REFRESH_AUTH | ログイントークンの更新に失敗しました。サポートへお問い合わせください。 |
500 | DB_ERROR | 内部データベースエラー。サポートへお問い合わせください。 |
500 | FILE_UPLOAD_ERROR | ファイルのアップロードに失敗しました、サポートへお問い合わせください。 |
500 | IMPROPER_AUTH | オーソリの状態が正しくありません。サポートへお問い合わせください。 |
500 | TIMEOUT | 内部処理でタイムアウトが発生しました。サポートへお問い合わせください。 |
500 | UNABLE_TO_GET_IDEMPOTENT_RESULT | 冪等性キーに該当するキャッシュは見つかった為、リクエストされた内容は処理しませんでしたが、以前の処理結果のキャッシュの取得に失敗しました。 |
500 | UNKNOWN_ERROR | 予期しないエラーです。サポートへお問い合わせください。 |
503 | SERVICE_UNAVAILABLE_TRY_AGAIN | サービスが一時的に利用できません。時間を置いて再試行してください。 |
504 | NO_GATEWAY_AVAILABLE_TO_PROCESS_THE_REQUEST | このリクエストは接続先システムで対応していせん。サポートへお問い合わせください。 |
ペイメントエラー
課金(Charge)や返金(Refund)などのリソースは、リソースの作成、つまりリクエストの受付に成功した場合でも、実際にゲートウェイでの処理に失敗した場合等にエラーが発生する場合があります。この場合、課金や返金の状態は failed
になり、error
フィールドに以下のデータが設定されます。
code
(number) – 課金が失敗またはエラーになった理由を表すエラーコードmessage
(string) – 課金が失敗した理由detail
(string) – 課金が失敗した詳細理由
エラーコードは、以下の通りです。
コード | 内容 |
---|---|
301 | カード番号のエラーです。 |
302 | 不正な有効期限(月)です。 |
303 | 不正な有効期限(年)です。 |
304 | 有効期限切れです。 |
305 | セキュリティーコードに関するエラーです。 |
306 | カードが拒否されました(認証審査エラー) 失敗理由についてはカード発行会社へお問い合わせください。 |
307 | 不正なカードです。 |
308 | このカードはカード会社から承認が下りていません。詳細は消費者よりカード会社へお問い合わせください。 |
309 | 一般エラーが発生しました。詳細情報は管理画面で確認できます。 |
310 | 消費者データが不正です(無効なリクエストデータ)。 加盟店のリクエストに誤りがある可能性があります。 |
311 | 短期間に同一カードでの課金が多すぎます。しばらく待ってから再試行してください。 |
312 | この課金はキャンセルできません。 |
313 | オーソリの期限が切れました(課金のキャプチャ時)。 |
314 | このカードは盗難されたものとして報告されたか、発行会社によって無効化されました。加盟店は利用者のこのカードを差し押さえてください。 |
315 | カード発行会社へお問い合わせください。 |
316 | 名義人の姓は必須です。 |
317 | 部分的なキャプチャはサポートされていません。 |
318 | 部分的な返金はサポートされていません。 |
319 | 不正行為の疑いがあります(セキュリティ制限)。 |
320 | 銀行側のシステムでエラーが発生しました。 |
321 | ダイナミックディスクリプタはサポートされていません。 |
322 | バーコード/QRコードが無効です。 |
323 | バーコード/QRコードの有効期限が切れています。 |
324 | このバーコード/QRコードは既に処理済みです。 |
325 | このバーコード/QRコードは現在処理中です。 |
326 | リスクプロファイルが高いため拒否されました。 |
327 | 決済期限(タイムアウトは5分)が切れています。 |
328 | 復帰に失敗しました。手動による介入が必要です。 |
329 | 返金に失敗しました。 |
330 | 残高が不足しています。 |
331 | メタデータフィールドの値が無効または不足しています。 |
332 | 国境を越えた取引は許可されていません:身分証明書がありません。 |
333 | 国境を越えた取引は許可されていません:電話番号がありません。 |
334 | 国境を越えた取引は許可されていません:承認されていない支払方法です。 |
335 | 国境を越えた取引は許可されていません:名前がありません。 |
336 | この支払方法の決済制限を超えました。 |
337 | この加盟店の決済制限を超えました。 |
338 | 決済情報が見つかりません。 |
339 | 決済情報が重複しています。 |
340 | この消費者のリテールQRアカウントはゲートウェイによって拒否されました。 |
341 | この加盟店には、このゲートウェイに必要な情報が不足しています。 |
342 | 国境を越えた取引は許可されていません: 承認されていない通貨です。 |
343 | ゲートウェイでサーバーエラー(接続先システムエラー)が発生したため、支払いを処理できませんでした。しばらく待ってから再試行してください。 |
344 | 選択した支払方法は、ゲートウェイにより一時的に利用できません。 |
345 | 支払いは既にキャンセルされています。 |
346 | システムが遅延したため、支払い処理に時間がかかりキャンセルされました。しばらく待ってから再試行してください。 |
355 | 指定された支払い区分(分割回数など)が非対応のカードです。 |
コード | 内容 |
---|---|
500 | リクエストを実行したところ、前処理エラーが発生しました。正しい入力が行われたことを確認し、詳細はエラーメッセージを参照してください。 |
501 | 内部エラーが発生しました。サポート担当者にご連絡ください。 |
502 | リクエストに対してレスポンスがタイムアウトとなりました。お時間おいて再度お手続きお願い致します。 |
税関申告エラー
税関申告リソースは、失敗するとエラー情報を返すことがあります。税関申告エラーには、以下の情報が含まれます。
code
(number) – エラーコードを照合するために使用できる一意のキーmessage
(string) – エラーの簡単な説明detail
(string) – より詳細なエラーメッセジがった場合の詳細
コードの定義は以下の表のとおりです。
コード | 内容 |
---|---|
601 | 本サービスでシステムリリースされたエラーが発生しましたが、具体的な情報はdetail をご覧ください。 |
602 | ペイメントプロセッサーが送信されたリクエストを拒否しました。具体的な情報はdetail をご覧ください。 |
603 | 提出されたお客様の身元確認は、税関当局によって拒否されました。 |
604 | 必要なお客様のID情報が加盟店から提出されていなかった。 |