Error
エラーハンドリング例
レスポンス例を記載
{
"error": {
"message": "Unrecognized request URL: GET /v1/not_found",
"status": 404,
"type": "client_error"
}
}
エラーとなるリクエストには、"error"というキーが含まれたエラーレスポンスが返されます。 エラーレスポンス “error” 内の “status” にはHTTPステータスコードと同様の値が入ります (下表)。 エラーレスポンス “error” 内の “message” には以下のエラーメッセージが含まれます。
error[type] | 詳細 |
---|---|
client_error | リクエストエラー |
card_error | カードに関するエラー |
server_error | PAY.JPや決済ネットワーク側のエラー |
not_found_error | 存在しないオブジェクト |
not_allowed_method_error | 許可されていないメソッドエラー |
auth_error | 認証エラー |
invalid_request_error | 無効なリクエスト |
error[code] | 詳細 |
invalid_number | 不正なカード番号 [deprecated] |
invalid_cvc | 不正なCVC [deprecated] |
invalid_expiration_date | 不正な有効期限年、または月 [deprecated] |
incorrect_card_data | いずれかのカード情報が誤っている [2020/12/10以降新設] |
invalid_expiry_month | 不正な有効期限月 |
invalid_expiry_year | 不正な有効期限年 |
expired_card | 有効期限切れ |
card_declined | カード会社によって拒否されたカード |
card_flagged | カード情報の誤入力が続いたことによる一時的なロックアウト |
processing_error | 決済ネットワーク上で生じたエラー |
missing_card | 顧客がカードを保持していない |
unacceptable_brand | 対象のカードブランドが許可されていない |
invalid_id | 不正なID |
no_api_key | APIキーがセットされていない |
invalid_api_key | 不正なAPIキー |
invalid_plan | 不正なプラン |
invalid_expiry_days | 不正な失効日数 |
unnecessary_expiry_days | 失効日数が不要なパラメーターである場合 |
invalid_flexible_id | 不正なID指定 |
invalid_timestamp | 不正なUnixタイムスタンプ |
invalid_trial_end | 不正なトライアル終了日 |
invalid_string_length | 不正な文字列長 |
invalid_country | 不正な国名コード |
invalid_currency | 不正な通貨コード |
invalid_address_zip | 不正な郵便番号 |
invalid_amount | 不正な支払い金額 |
invalid_plan_amount | 不正なプラン金額 |
invalid_card | 不正なカード |
invalid_card_name | 不正なカードホルダー名 |
invalid_card_country | 不正なカード請求先国名コード |
invalid_card_address_zip | 不正なカード請求先住所(郵便番号) |
invalid_card_address_state | 不正なカード請求先住所(都道府県) |
invalid_card_address_city | 不正なカード請求先住所(市区町村) |
invalid_card_address_line | 不正なカード請求先住所(番地など) |
invalid_customer | 不正な顧客 |
invalid_boolean | 不正な論理値 |
invalid_email | 不正なメールアドレス |
no_allowed_param | パラメーターが許可されていない場合 |
no_param | パラメーターが何もセットされていない |
invalid_querystring | 不正なクエリー文字列 |
missing_param | 必要なパラメーターがセットされていない |
invalid_param_key | 指定できない不正なパラメーターがある |
no_payment_method | 支払い手段がセットされていない |
payment_method_duplicate | 支払い手段が重複してセットされている |
payment_method_duplicate_including_customer | 支払い手段が重複してセットされている(顧客IDを含む) |
failed_payment | 指定した支払いが失敗している場合 |
invalid_refund_amount | 不正な返金額 |
already_refunded | すでに返金済み |
invalid_amount_to_not_captured | 確定されていない支払いに対して部分返金ができない |
refund_amount_gt_net | 返金額が元の支払い額より大きい |
capture_amount_gt_net | 支払い確定額が元の支払い額より大きい |
invalid_refund_reason | 不正な返金理由 |
already_captured | すでに支払いが確定済み |
cant_capture_refunded_charge | 返金済みの支払いに対して支払い確定はできない |
cant_reauth_refunded_charge | 返金済みの支払いに対して再認証はできない |
charge_expired | 認証が失効している支払い |
already_exist_id | すでに存在しているID |
token_already_used | すでに使用済みのトークン |
already_have_card | 指定した顧客がすでに保持しているカード |
dont_has_this_card | 顧客が指定したカードを保持していない |
doesnt_have_card | 顧客がカードを何も保持していない |
already_have_the_same_card | すでに同じカード番号、有効期限のカードを保持している |
invalid_interval | 不正な課金周期 |
invalid_trial_days | 不正なトライアル日数 |
invalid_billing_day | 不正な支払い実行日 |
billing_day_for_non_monthly_plan | 支払い実行日は月次プランにしか指定できない |
exist_subscribers | 購入者が存在するプランは削除できない |
already_subscribed | すでに定期課金済みの顧客 |
already_canceled | すでにキャンセル済みの定期課金 |
already_paused | すでに停止済みの定期課金 |
subscription_worked | すでに稼働している定期課金 |
cannot_change_prorate_status | 日割り課金の設定はプラン変更時のみ可能 |
too_many_metadata_keys | metadataキーの登録上限(20)を超過している |
invalid_metadata_key | 不正なmetadataキー |
invalid_metadata_value | 不正なmetadataバリュー |
apple_pay_disabled_in_livemode 本番モードのApple Pay利用が許可されていない | |
invalid_apple_pay_token | 不正なApple Payトークン |
test_card_on_livemode | 本番モードのリクエストにテストカードが使用されている |
not_activated_account | 本番モードが許可されていないアカウント |
too_many_test_request | テストモードのリクエストリミットを超過している |
payjp_wrong | PAY.JPのサーバー側でエラーが発生している |
pg_wrong | 決済代行会社のサーバー側でエラーが発生している |
not_found | リクエスト先が存在しないことを示す |
not_allowed_method | 許可されていないHTTPメソッド |
over_capacity | レートリミットに到達 |
refund_limit_exceeded | 期限を過ぎた後の返金操作 |
error[status] | Meaning |
200 | リクエスト成功 |
400 | 不正なパラメーターなどのリクエストエラー |
401 | APIキーの認証エラー |
402 | カード認証・支払いエラー |
404 | 存在しないAPIリソース |
429 | レートリミットによるアクセス一時拒否 |
500 | PAY.JPや決済ネットワークでの障害 |