エラーコード
UnivaPay で発生するエラーは、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 | UnivaPay システム内部で予期しないエラーが発生しました。この場合、処理の一部は実行されている可能性があります。 |
また、多くの場合、以下の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ステータス | エラーコード | 内容 |
---|---|---|
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秒以内に課金した場合は、制限の有無にかかわらず本エラーが発生します。 |
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 | 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 | 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 | REFUND_EXCEEDS_SALES | 返金の金額が上限を越えたため返金できません。 |
401 | AUTH_HEADER_MISSING | Authorization ヘッダが指定されていません。 |
401 | EXPIRED_LOGIN_TOKEN | ログイントークンの有効期限が切れました。 |
401 | INVALID_APP_TOKEN | アプリケーショントークンの指定が正しくありません。 |
401 | INVALID_CREDENTIALS | 認証情報が正しくありません。 |
401 | INVALID_DOMAIN | リクエストされた Origin ヘッダのドメインは、指定されたアプリケーショントークンのドメインに登録されていません。 |
401 | INVALID_LOGIN_TOKEN | ログイントークンが無効です。 |
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は既に登録されています。 |
429 | SERVICE_RESTRICTED | 失敗回数が上限に達したため、一定時間サービスを利用できません。時間をおいて再度お試しください。 |
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 | サービスが一時的に利用できません。時間を置いて再試行してください。 |
エラーの詳細な理由
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_CVV | CVVは 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 | 決済期限(タイムアウトは5分)が切れています。 |
328 | 復帰に失敗しました。手動による介入が必要です。 |
329 | 返金に失敗しました。 |
330 | 残高が不足しています。 |
331 | メタデータフィールドの値が無効または不足しています。 |
332 | 国境を越えた取引は許可されていません:身分証明書がありません。 |
333 | 国境を越えた取引は許可されていません:電話番号がありません。 |
334 | 国境を越えた取引は許可されていません:承認されていない支払方法です。 |
335 | 国境を越えた取引は許可されていません:名前がありません。 |
336 | この支払方法の決済制限を超えました。 |
337 | この加盟店の決済制限を超えました。 |
338 | 決済情報が見つかりません。 |
339 | 決済情報が重複しています。 |
340 | このユーザーのリテールQRアカウントはゲートウェイによって拒否されました。 |
341 | この加盟店には、このゲートウェイに必要な情報が不足しています。 |
342 | 国境を越えた取引は許可されていません: 承認されていない通貨です。 |
343 | ゲートウェイでサーバーエラー(接続先システムエラー)が発生したため、支払いを処理できませんでした。しばらく待ってから再試行してください。 |
344 | 選択した支払方法は、ゲートウェイにより一時的に利用できません。 |
355 | 指定された支払い区分(分割回数など)が非対応のカードです。 |
コード | 内容 |
---|---|
500 | リクエストを実行したところ、前処理エラーが発生しました。正しい入力が行われたことを確認し、詳細はエラーメッセージを参照してください。 |
501 | 内部エラーが発生しました。サポート担当者にご連絡ください。 |
502 | リクエストに対してレスポンスがタイムアウトとなりました。お時間おいて再度お手続きお願い致します。 |
税関申告エラー
税関申告リソースは、失敗するとエラー情報を返すことがあります。税関申告エラーには、以下の情報が含まれます。
code
(number) – エラーコードを照合するために使用できる一意のキーmessage
(string) – エラーの簡単な説明detail
(string) – より詳細なエラーメッセジがった場合の詳細
コードの定義は以下の表のとおりです。
コード | 内容 |
---|---|
601 | 当サービスでシステムリリースされたエラーが発生しましたが、具体的な情報はdetail をご覧ください。 |
602 | ペイメントプロセッサーが送信されたリクエストを拒否しました。具体的な情報はdetail をご覧ください。 |
603 | 提出されたお客様の身元確認は、税関当局によって拒否されました。 |
604 | 必要なお客様のID情報が加盟店から提出されていなかった。 |