エラーレスポンス形式
APIエラーは以下の形式で返されます。エラーの種類(
authentication_error, invalid_request_error, payment_error, api_error)エラーコード(下記参照)
エラーの説明文
リクエストID(サポートへの問い合わせ時に使用)
エラーの原因となったパラメータ名(バリデーションエラー時)
詳細なエラー情報(バリデーションエラー時)
認証エラー
| コード | HTTPステータス | 説明 |
|---|---|---|
UNAUTHORIZED | 401 | 認証ヘッダーが不正または不足しています |
FORBIDDEN | 403 | 加盟店アカウントが無効化されています |
バリデーションエラー
| コード | HTTPステータス | 説明 |
|---|---|---|
VALIDATION_ERROR | 400 | リクエストパラメータが不正です。detailsフィールドに詳細が含まれます |
INVALID_AMOUNT | 400 | 金額が不正です |
AMOUNT_BELOW_MINIMUM | 400 | 金額が最小値を下回っています |
AMOUNT_ABOVE_MAXIMUM | 400 | 金額が最大値を超えています |
UNSUPPORTED_CURRENCY | 400 | サポートされていない通貨です |
決済エラー
| コード | HTTPステータス | 説明 |
|---|---|---|
PAYMENT_FAILED | 400 | 決済処理に失敗しました |
INVALID_STATUS | 400 | この操作は現在のステータスでは実行できません |
INVALID_STATE | 400 | トランザクションの状態が不正です |
返金エラー
| コード | HTTPステータス | 説明 |
|---|---|---|
INVALID_AMOUNT | 400 | 返金額が決済額を超えています |
INVALID_STATUS | 400 | 返金可能なステータスではありません(succeededのみ返金可能) |
リソースエラー
| コード | HTTPステータス | 説明 |
|---|---|---|
NOT_FOUND | 404 | 指定されたリソースが見つかりません |
FLOW_NOT_FOUND | 404 | 決済フローが見つかりません |
NO_DEFAULT_FLOW | 404 | デフォルトの決済フローが設定されていません |
FLOW_NOT_ACTIVE | 400 | 決済フローが無効化されています |
CONNECTOR_CONFIG_NOT_FOUND | 404 | コネクタ設定が見つかりません |
CONNECTOR_CONFIG_DISABLED | 400 | コネクタが無効化されています |
冪等性エラー
| コード | HTTPステータス | 説明 |
|---|---|---|
IDEMPOTENCY_KEY_MISMATCH | 400 | 同じ冪等キーで異なるリクエストが送信されました |
IDEMPOTENCY_KEY_IN_USE | 409 | 冪等キーが現在処理中です |
システムエラー
| コード | HTTPステータス | 説明 |
|---|---|---|
INTERNAL_ERROR | 500 | 内部エラーが発生しました。サポートにお問い合わせください |
エラーハンドリングのベストプラクティス
1
HTTPステータスコードを確認
4xx: クライアントエラー(リクエストの修正が必要)5xx: サーバーエラー(リトライ可能)
2
エラーコードで処理を分岐
error.codeを使用して、エラータイプに応じた処理を実装してください3
リトライ戦略
5xxエラーやIDEMPOTENCY_KEY_IN_USEの場合は、指数バックオフでリトライしてくださいサンプルコード
Node.js