エラーハンドリング
APIリクエストにエラーがある場合、 Amazon Payは、reasonCode
と message
を返します。例として、以下は、リクエストが無効なパラメータ値で送信された場合のレスポンスです。
{
"reasonCode": "InvalidParameterValue",
"message": "The value provided for [Parameter] is invalid."
}
エラーコード
この表は、Amazon Pay APIエンドポイントが返す可能性のある一般的なエラーコードについて説明しています。
HTTPステータスコード
|
理由コード
|
説明
|
400 BAD_REQUEST
|
InvalidHeaderValue
|
API呼び出しのヘッダーパラメータの少なくとも1つに無効な値を送信しました 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
InvalidRequest
|
リクエストは無効です 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
InvalidParameterValue
|
API呼び出しのパラメータの少なくとも1つに無効な値を送信しました 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
InvalidRequestFormat
|
無効なJSON形式でリクエストを送信しました。リクエストの本文の形式を確認してください
|
400 BAD_REQUEST
|
MissingHeader
|
API呼び出しでヘッダーパラメータの1つが欠落しています 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
MissingHeaderValue
|
API呼び出しでヘッダーパラメータの1つが欠落しています 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
MissingParameterValue
|
必須のリクエストパラメータの1つがAPI呼び出しにありません 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
UnrecognizedField
|
リクエスト本文に無効なフィールドを渡しました 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
InvalidSandboxSimulationSpecified
|
SANDBOXで無効な操作を試みました 詳細については、APIレスポンスのメッセージ内容を確認してください |
400 BAD_REQUEST
|
DuplicateIdempotencyKey
|
このリクエストで指定した冪等キー(IdempotencyKey)は、別のリクエストですでに使用されており、再利用できません
|
400 BAD_REQUEST
|
InvalidParameterCombination
|
無効なパラメータの組み合わせを使用しようとしました。リクエストを確認してください
|
400 BAD_REQUEST
|
CurrencyMismatch
|
売上請求で提供される通貨コードが、決済時に設定された通貨コードと一致しません
|
400 BAD_REQUEST
|
InvalidAPIVersion
|
サポートされていないAPIバージョンを使用しようとしたか、APIオブジェクトのバージョンとAPIリクエストのバージョンに互換性がありません
|
401 UNAUTHORIZED
|
UnauthorizedAccess
|
指定された事業者アカウントは、このリクエストを実行する権限がありません たとえば、委任された権限を使用して実行が許可されていないリクエストを行おうとしました |
403 FORBIDDEN
|
InvalidAuthentication
|
認証に失敗しました。セラーセントラル (US, EU, JP)で認証情報のステータスを確認してください
|
403 FORBIDDEN
|
InvalidAccountStatus
|
ご利用のアカウントは、このリクエストを実行するのに適切なステータスではありません 例えば、アカウントが停止されていたり、アカウント登録が完了していない場合などです。詳細はセラーセントラル (US, EU, JP) をご確認ください。 |
403 FORBIDDEN
|
InvalidRequestSignature
|
API呼び出しのAuthorizationヘッダーの署名が無効です 詳細については、APIレスポンスのメッセージ内容を確認してください |
403 FORBIDDEN
|
InvalidAuthorizationToken
|
リクエストで渡されたauthorization tokenが無効です
|
404 NOT_FOUND
|
ResourceNotFound
|
要求されたリソースが見つかりませんでした
|
405 METHOD_NOT_ALLOWED
|
UnsupportedOperation
|
この操作はサポートされていません
|
405 METHOD_NOT_ALLOWED
|
RequestNotSupported
|
HTTPメソッドはサポートされていません 詳細については、APIレスポンスのメッセージ内容を確認してください |
408 REQUEST_TIMEOUT
|
RequestTimeout
|
リクエストがタイムアウトしました リクエストを再試行してください。ただし、再試行しても正常なレスポンスが保証されるわけではありません |
426 UPGRADE_REQUIRED
|
TLSVersionNotSupported
|
TLSバージョンがサポートされていません。最新のSSL / TLSバージョンにアップグレードします
|
429 TOO_MANY_REQUESTS
|
TooManyRequests
|
特定の時間内にリクエストが多すぎるため、リクエストが制限されました リクエストを再試行する必要があります |
500 INTERNAL_SERVER_ERROR
|
InternalServerError
|
不明なエラーが発生しました リクエストを再試行してください。ただし、再試行しても正常なレスポンスが保証されるわけではありません |
503 SERVICE_UNAVAILABLE
|
ServiceUnavailable
|
一時的な過負荷またはメンテナンスのため、現在リクエストを処理できません リクエストを再試行してください |
エラーのリトライ
HTTPステータスコード429、500、503の応答を受け取った場合は、直ちにリクエストを再試行する必要があります。複数回再試行する場合は、定義された上限まで 指数的バックオフ(exponential backoff) アプローチを実施し、エラーを記録してから手動でのフォローアップと調査を進めることをお勧めします。例えば、以下のような時間間隔で再試行を行うことができます: 1秒、2秒、4秒、10秒、30秒。実際のバックオフ時間や制限値は、お客様のビジネスプロセスによって異なります。