오류
소개
비대면 카드 검증은 API 요청의 성공 또는 실패를 나타내기 위해 일반적인 HTTP 응답 코드를 사용합니다.
일반적인 규칙은 다음과 같습니다.
- 2xx 범위의 코드는 요청이 성공했음을 나타냅니다.
- 4xx 범위의 코드는 파라미터가 잘못되었거나 불완전함을 나타냅니다(예: 필수 파라미터가 누락되었거나, 제3자와의 작업이 실패한 경우 등).
- 5xx 범위의 코드는 비대면 카드 검증 제품 서버에서 오류가 발생했음을 나타냅니다.
비대면 카드 검증은 JSON 형식의 오류 메시지와 오류 코드도 생성합니다.
{
"error": {
"code": "40004",
"description": "transaction id is invalid"
}
}
발생 가능한 오류
이 항목에서는 엔드포인트에서 발생할 수 있는 오류를 HTTP 응답별로 구분하여 확인할 수 있습니다.
거래 생성
| HTTP 코드 | 코드 | 설명 | 사유 |
|---|---|---|---|
| 400 | 40001 | error decoding json | 전송된 데이터가 서비스 계약과 일치하지 않습니다. |
| 400 | 40002 | error validating json | 일부 정보의 형식이 잘못되었거나 누락되었습니다. |
| 400 | 40021 | invalid phone | 제공된 전화번호가 유효하지 않습니다. 55 DDD 번호 형식을 따라야 합니다. 예: 5543999999999. |
| 400 | 40022 | invalid email | 제공된 이메일이 유효하지 않습니다. |
| 400 | 40027 | replicated transaction | 전송된 거래가 이미 존재하여 다시 생성할 수 없습니다. |
| 400 | 40045 | max value reached | 거래 금액이 허용된 한도보다 높은 경우입니다. |
| 403 | 40301 | not allowed | 사용자가 이 작업을 수행할 권한이 없습니다. |
| 404 | 40404 | company not found | 제공된 회사가 존재하지 않습니다. |
| 429 | 40001 | too many requests | 요청 제한에 도달했습니다. |
| 500 | 50001 | internal error | 내부 서비스 오류입니다. |
거래 상태 조회
| HTTP 코드 | 코드 | 설명 | 사유 |
|---|---|---|---|
| 400 | 40001 | error decoding json | 전송된 데이터가 서비스 계약과 일치하지 않습니다. |
| 400 | 40002 | error validating json | 일부 정보의 형식이 잘못되었거나 누락되었습니다. |
| 400 | 40004 | transaction id is invalid | 거래 ID가 유효하지 않습니다(형식 오류). |
| 400 | 40301 | not allowed | 사용자가 이 작업을 수행할 권한이 없습니다. |
| 429 | 40401 | transaction not found | 거래를 찾을 수 없습니다. |
| 500 | 50001 | internal error | 내부 서비스 오류입니다. |
거래 증빙 세트 조 회
| HTTP 코드 | 코드 | 설명 | 사유 |
|---|---|---|---|
| 400 | 40004 | transaction id is invalid | 거래 ID가 유효하지 않습니다(형식 오류). |
| 400 | 40009 | transaction status is invalid | 거래 상태가 유효하지 않습니다(증빙 세트 생성이 허용되지 않음). |
| 403 | 40301 | not allowed | 사용자가 이 작업을 수행할 권한이 없습니다. |
| 404 | 40401 | transaction not found | 거래를 찾을 수 없습니다. |
| 500 | 50001 | internal error | 내부 서비스 오류입니다. |
거래 알림 재전송
| HTTP 코드 | 코드 | 설명 | 사유 |
|---|---|---|---|
| 400 | 40001 | error decoding json | 전송된 데이터가 서비스 계약과 일치하지 않습니다. |
| 400 | 40002 | error validating json | 일부 정보의 형식이 잘못되었거나 입력되지 않았습니다. |
| 400 | 40004 | transaction id is invalid | 거래 ID가 유효하지 않습니다(형식 오류). |
| 400 | 40009 | transaction status is invalid | 거래 상태가 알림 재전송을 허용하지 않습니다(이미 완료됨). |
| 400 | 40021 | invalid phone | 제공된 전화번호가 유효하지 않습니다. 55 DDD 번호 형식을 따라야 합니다. 예: 5543999999999. |
| 400 | 40022 | invalid email | 제공된 이메일이 유효하지 않습니다. |
| 403 | 40301 | not allowed | 사용자가 이 작업을 수행할 권한이 없습니다. |
| 404 | 40401 | transaction not found | 거래를 찾을 수 없습니다. |
| 429 | 40001 | too many requests | 요청 제한에 도달했습니다. |
| 500 | 50001 | internal error | 요청 제한에 도달했습니다. |
신용카드 온보딩
| HTTP 코드 | 코드 | 설명 | 사유 |
|---|---|---|---|
| 400 | 40001 | error decoding json | 전송된 데이터가 서비스 계약과 일치하지 않습니다. |
| 400 | 40002 | error validating json | 일부 정보의 형식이 잘못되었거나 누락되었습니다. |
| 400 | 40027 | replicated transaction | 제출된 거래가 이미 존재하여 다시 생성할 수 없습니다. |
| 400 | 40030 | invalid identity | 요청에 제공된 CPF가 지정된 processID와 연결된 CPF와 다릅니다. |
| 400 | 40045 | max value reached | 거래가 허용된 금액을 초과하는 경우입니다. |
| 400 | 40054 | processID is invalid | 요청에 제공된 processID가 유효하지 않거나(또는 존재하지 않는) 경우입니다. |
| 400 | 40055 | processID is expired | 사용 중인 processID가 너무 오래된 경우입니다. |
| 403 | 40301 | not allowed | 사용자가 이 작업을 수행할 권한이 없습니다. |
| 404 | 40404 | company not found | 지정된 회사가 존재하지 않습니다. |
| 404 | 40410 | processID not found | 지정된 프로세스가 존재하지 않는 경우입니다. |
| 404 | 40412 | image not found | 사용자가 지정한 프로세스에 이미지가 없는 경우입니다. |
| 429 | 40001 | too many requests | 요청 제한에 도달했습니다. |
| 429 | 42901 | too many requests | 클라이언트가 사전 정의된 한도를 초과하여 너무 많은 요청을 보내는 경우입니다. |
| 500 | 50001 | internal error | 내부 서비스 오류입니다. |