PAY.JP
PAY.JP

エラーハンドリング

API エラーに対するハンドリング方法、リトライ戦略について

PAY.JP API のエラーを適切に処理するための方法について説明します。エラーレスポンスの技術仕様については、エラーレスポンス仕様を参照してください。

エラーハンドリングについて

API レスポンスのステータスコードに応じて、適切なエラーハンドリングを実装することが重要です。

ステータスコード別の対応方針

ステータス対応方針
400 Bad Requestリクエストパラメータを確認し修正。自動リトライは不要
401 UnauthorizedAPI キーを確認
402 Payment Requiredカード決済失敗。ユーザーに別の支払い方法を案内
404 Not Foundリソース ID を確認
409 Conflict冪等キーの競合。詳細は冪等リクエストを参照
422 Unprocessable Entityerrors 配列の内容を確認しパラメータを修正
500, 503サーバーエラー。リトライ可能

リトライ戦略

サーバーエラー(500, 503)やネットワークタイムアウトが発生した場合は、待機時間を徐々に長くしながらリトライすることを推奨します。

リトライすべきエラー

  • 500 Internal Server Error
  • 503 Service Unavailable
  • ネットワークタイムアウト

リトライすべきでないエラー

  • 400 Bad Request(パラメータの問題)
  • 401 Unauthorized(認証の問題)
  • 402 Payment Required(決済失敗)
  • 404 Not Found(リソースが存在しない)
  • 422 Unprocessable Entity(バリデーション失敗)

参考リンク