エラーコード

で発生するエラーは、APIリクエストエラーとペイメントエラーに分けられます。APIリクエストエラーは、何らかの理由でAPIの呼び出しが正しく行えなかったことを表します。API呼び出しが正常に行えた場合でも、課金や返金等のゲートウェイとの処理が失敗した場合はペイメントエラーが発生します。

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システム内部で予期しないエラーが発生しました。この場合、処理の一部は実行されている可能性があります。

また、多くの場合、以下のJSONの形式で詳細なエラー情報が提供されます。

  • status (string) – レスポンスの種別 (一般的に error になります)。
  • code (string) – エラーコード.
  • errors – 以下の要素の配列。
    • field (optional, string) – エラーが発生してたリクエストのパラメータ
    • reason (string) – エラーの詳細な理由

例 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ステータスエラーコード内容
400ALREADY_CAPTURED対象の課金は既にキャプチャ済みか、オーソリが完了していません。
400AUTH_NOT_SUPPORTEDオーソリに対応したゲートウェイが設定されていません。
400CANCEL_NOT_ALLOWEDこの支払い方法はキャンセルに対応していません。もしくは対象の課金のステータスはキャンセルできない状態です。 詳細はキャンセルを参照。
400CANNOT_CHANGE_CANCELED_SUBSCRIPTIONキャンセルされた定期課金は変更することはできません。
400CANNOT_CHANGE_TOKENこの状態の定期課金のトランザクショントークンは変更できません。トランザクショントークンの変更可能な条件は定期課金の更新を参照。
400CANNOT_REFUND_UNSUCCESSFUL_CHARGEsuccessful 以外の状態の課金は返金できません。
400CAPTURE_AMOUNT_TOO_LARGEキャプチャの金額がオーソリ時の金額より大きいです。
400CARD_BRAND_NOT_SUPPORTED指定されたカードブランドに対応したゲートウェイが設定されていません。
400CARD_COUNTRY_NOT_SUPPORTED指定されたカード発行国に対応したゲートウェイが設定されていません。
400CARD_PROCESSING_DISABLED支払い方法でカードが無効になっています。
400CHARGE_TOO_QUICK制限付きのリカーリングトークンで、指定期間内に複数の課金を作成しようとしました(リカーリングトークン)。
400CONVENIENCE_PROCESSING_DISABLED支払い方法でコンビニ決済が無効になっています。
400CURRENCY_MUST_MATCH_CHARGE返金時の通貨は課金時の通貨と同じである必要があります。
400CVV_REQUIREDCVV の提供が必要です。
400CVV_AUTHORIZATION_NOT_COMPLETEDCVV(セキュリティーコード)認証に失敗しました。
400FILE_INVALID_TYPEアップロードされたファイルの MIME タイプが正しくありません。
400FILE_MAX_SIZE_EXCEEDEDアップロードされたファイルのサイズが大きすぎます。
400FORBIDDEN_IPリクエスト元のIPアドレスから割り出された国が、設定された許可する国に含まれていません。
400INSTALLMENT_MAX_PAYOUT_PERIOD_EXCEEDED分割払いの支払期間が、設定された最大の支払期間を超過しています。
400INSTALLMENT_PAYMENT_TYPE_NOT_ALLOWED_FOR_PLAN分割払いの支払い方法として許可されていない支払い方法です。
400INSTALLMENT_INVALID_CYCLES_COUNT利用できない分割回数です。
400INSTALLMENT_INVALID_PLANサポートされていない分割支払いプランです。
400INVALID_PLATFORMプラットフォームの指定が正しくありません。
400INVALID_TOKEN_TYPEトランザクショントークンの種類が正しくありません。
400INVALID_QR_SCAN_GATEWAYQRコード決済のゲートウェイが設定されていないか有効ではありません。
400LAST_NAME_REQUIREDカード名義にスペースで区切られた苗字が必要です。
400LIVE_MODE_NOT_ENABLED_WHEN_UNVERIFIED本番モード(live)を使用するにはアカウントの審査の完了が必要です。
400NO_DIRECT_CURRENCY_GATEWAY通貨の変換をせずに利用可能なゲートウェイが設定されていません。
400NO_GATEWAYS_AVAILABLE利用可能なゲートウェイが見つかりません。
400NO_TEST_CARD_IN_LIVE_MODE本番モード(live)でテストカードは使用できません。
400NON_SUBSCRIPTION_PAYMENT課金の作成にワンタイムトークンもしくはリカーリングトークンを指定してください。
400NOT_ONE_TIME_TOKENワンタムトークン以外はサポートされていません。
400NOT_SUBSCRIPTION_TOKEN定期課金トークンもしくはリカーリングトークンを指定してください。
400PARTIAL_CAPTURE_NOT_SUPPORTED部分的なキャプチャはサポートされていません。
400QR_PROCESSING_DISABLED支払い方法でQRコードが無効になっています。
400RECURRING_TOKEN_DISABLEDトランザクショントークンが無効になっているか、アカウントにリカーリングトークンを使用する権限がありません。
400RECURRING_USAGE_LIMIT_REQUIREDusage_limit パラメータが必要です。
400RECURRING_USAGE_REQUIRES_CVVCVV の提供が必要です。
400REFUND_EXCEEDS_CHARGE_AMOUNT返金金額が課金金額を超過しています。
400REFUND_NOT_ALLOWED返金に対応していない支払い方法、もしくは返金が許可されませんでした。
400RESOURCE_LIMIT_REACHEDリソース制限の上限に達しました。
400SUBSCRIPTION_ALREADY_ENDED定期課金は既に終了しています。
400TOKEN_FOR_WRONG_STOREトランザクショントークンのストアが定期課金のストアと異なります。
400TRANSACTION_ALREADY_PROCESSED使用済みのトランザクショントークンは指定できません。
400TRANSACTION_TOKEN_EXPIREDトランザクショントークンの有効期限が切れました。
400USAGE_LIMIT_NOT_APPLICABLEusage_limit は指定できません。
400VALIDATION_ERRORリクエスト内容のパラメータにバリデーションエラーがあります。詳細は errors を参照してください。
401AUTH_HEADER_MISSINGAuthorization ヘッダが指定されていません。
401EXPIRED_LOGIN_TOKENログイントークンの有効期限が切れました。
401INVALID_APP_TOKENアプリケーショントークンの指定が正しくありません。
401INVALID_CREDENTIALS認証情報が正しくありません。
401INVALID_DOMAINリクエストされた Origin ヘッダのドメインは、指定されたアプリケーショントークンのドメインに登録されていません。
401INVALID_LOGIN_TOKENログイントークンが無効です。
403CARD_LOCKEDこのカードは一定期間内の失敗回数がしきい値を超えた為、一時的にロックされています。
30分以内に5回以上失敗で、2時間制限をかけます。
403INVALID_PERMISSIONSアプリケーショントークンの種類が正しくないか、アカウントの権限が不足しています。
403INSTALLMENT_PROCESSOR_INITIAL_AMOUNTS_NOT_SUPPORTEDこのゲートウェイでは初回金額の指定はサポートされていません。
403OUTDATED_APP_TOKENアプリケーショントークンのバージョンが古いです。新しくアプリケーショントークンを作成しなおしてください。
403TEST_CARD_CANNOT_BE_BANNEDテストカードは禁止できません。
409IDEMPOTENCY_KEY_CONFLICT冪等性が保証されたリクエストの際に、指定された冪等性キーが以前に異なるAPIやメソッドで使用されています。
409NON_UNIQUE_ACTIVE_TOKENアクティブなトランザクショントークンが既に存在します。
409WEBHOOK_URL_EXISTS指定されたURLは既に登録されています。
500COULD_NOT_REFRESH_AUTHログイントークンの更新に失敗しました。サポートへお問い合わせください。
500DB_ERROR内部データベースエラー。サポートへお問い合わせください。
500FILE_UPLOAD_ERROR
500IMPROPER_AUTHオーソリの状態が正しくありません。サポートへお問い合わせください。
500TIMEOUT内部処理でタイムアウトが発生しました。サポートへお問い合わせください。
500UNABLE_TO_GET_IDEMPOTENT_RESULT冪等性キーに該当するキャッシュは見つかった為、リクエストされた内容は処理しませんでしたが、以前の処理結果のキャッシュの取得に失敗しました。
500UNKNOWN_ERROR予期しないエラーです。サポートへお問い合わせください。
503SERVICE_UNAVAILABLE_TRY_AGAINサービスが一時的に利用できません。時間を置いて再試行してください。

エラーの詳細な理由

reason フィールドには更に詳細な理由が記載されます。

詳細な理由のコード内容
CAPTURE_ONLY_FOR_CARD_PAYMENTカード決済の場合のみキャプチャが可能。
CAPTURE_ONLY_FOR_CREDIT_CARDSオーソリはカードの種別がクレジットカードのみ可能です。デビットカード、プリペイドカード等ではオーソリは利用できません。
CARD_LIMIT_EXCEEDED_FOR_STORE一定期間内でのカードの合計決済額が限度額を超えました。
CHANGE_PROHIBITEDこのフィールドの変更は禁止されています。
CHARGE_AMOUNT_TOO_HIGH課金金額が課金最大額より超過しています。
CHARGE_AMOUNT_TOO_LOW課金金額が課金最少額より不足しています。
DEPRECATED非推奨のパラメータです。
EXPIRATION_DATE_OUT_OF_BOUNDS有効期限が許可された範囲外です。
FORBIDDEN_PARAMETERこのパラメータを使用する権限が不足しているか、要件を満たしていません。
INSTALLMENT_ALREADY_SET定期課金が既に開始しているため変更できません。
INSTALLMENT_INVALID_PLAN_TYPE認識できない分割払いプランです。
INVALID_AMOUNT金額は 0 より大きい整数である必要があります。
INVALID_CARD_BRAND認識できないカードブランドです。
INVALID_CARD_DESCRIPTORディスクリプタの形式が正しくありません。
INVALID_CARD_EXPIRATIONカード有効期限が過ぎています。
REFUND_NOT_WITHIN_BOUNDS返金金額が有効な範囲ではありません。0より大きく、課金金額以下の必要があります。
INVALID_CARD_NUMBERカード番号の形式が正しくありません。
INVALID_CHARGE_STATUS不正な課金の状態です。
INVALID_CURRENCY認識できない通貨です。
INVALID_CVVCVVは 3から5桁の整数である必要があります。
INVALID_FORMAT不正な形式です。
INVALID_FORMAT_COUNTRY認識できない国コードです。
INVALID_FORMAT_CURRENCY認識できない通貨コードです。
INVALID_FORMAT_DOMAINドメイン名の形式が不正です。
INVALID_FORMAT_EMAILメールアドレスの形式が不正です。
INVALID_LANGUAGE認識できない言語コードです。
INVALID_PHONE_NUMBER電話番号の形式が不正です。
INVALID_SCHEDULED_CAPTURE_DATEキャプチャ実行日時は、現在から1時間後かつ7日以内である必要があります。
INVALID_TIME_PERIOD認識できない期間の形式です。
MUST_BE_FUTURE_TIME未来の日時の必要があります。
MUST_BE_LOWER_THAN_FULL_AMOUNT合計金額より少ない必要があります。
MUST_BE_MONTH_BASED_TO_SET課金を行う頻度が monthly である必要があります。
NESTED_JSON_NOT_ALLOWEDネストされた JSON の形式は使用できません。
NOT_SUPPORTED_BY_PROCESSORゲートウェイでサポートされていません。
ONLY_FOR_CARD_PAYMENT支払い方法がカードでのみ利用できます。
ONLY_JAPANESE_PHONE_NUMBER_ALLOWED日本の電話番号のみサポートされています。
REQUIRED_VALUE必須のパラメータです。

ペイメントエラー

課金(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確認期限が切れています。
328復帰に失敗しました。手動による介入が必要です。
329返金に失敗しました。
330残高が不足しています。
331メタデータフィールドの値が無効または不足しています。
332国境を越えた取引は許可されていません:身分証明書がありません。
333国境を越えた取引は許可されていません:電話番号がありません。
334国境を越えた取引は許可されていません:承認されていない支払方法です。
335国境を越えた取引は許可されていません:名前がありません。
336この支払方法の決済制限を超えました。
337この加盟店の決済制限を超えました。
338決済情報が見つかりません。
339決済情報が重複しています。
340このユーザーのリテールQRアカウントはゲートウェイによって拒否されました。
341この加盟店には、このゲートウェイに必要な情報が不足しています。
342国境を越えた取引は許可されていません: 承認されていない通貨です。
343ゲートウェイでサーバーエラーが発生したため、支払いを処理できませんでした。
344選択した支払方法は、ゲートウェイにより一時的に利用できません。

コード内容
500リクエストを実行したところ、前処理エラーが発生しました。正しい入力が行われたことを確認し、詳細はエラーメッセージを参照してください。
501内部エラーが発生しました。サポート担当者にご連絡ください。
502リクエストを実行しましたが、レスポンスせずにタイムアウトとなりました。

税関申告エラー

税関申告リソースは、失敗するとエラー情報を返すことがあります。税関申告エラーには、以下の情報が含まれます。

  • code (number) – エラーコードを照合するために使用できる一意のキー
  • message (string) – エラーの簡単な説明
  • detail (string) – より詳細なエラーメッセジがった場合の詳細

コードの定義は以下の表のとおりです。

コード内容
601当サービスでシステムリリースされたエラーが発生しましたが、具体的な情報はdetailをご覧ください。
602ペイメントプロセッサーが送信されたリクエストを拒否しました。具体的な情報はdetailをご覧ください。
603提出されたお客様の身元確認は、税関当局によって拒否されました。
604必要なお客様のID情報が加盟店から提出されていなかった。