절대 재시도하지 마십시오
invalid_request, invalid_amount, unknown_asset_or_rail, asset_not_offered, unauthorized. 요청에 문제가 있습니다. 변경 없이 재시도하면 동일한 결과가 나옵니다. 수정하거나 사유를 표시하십시오.
Developers
모든 오류는 안정적이고 기계가 읽을 수 있는 코드와 일관된 HTTP 상태를 전달합니다. 코드는 통합이 분기해야 하는 부분입니다. 텍스트는 변경될 수 있지만 코드는 변경되지 않습니다.
현재 형태는 의도적으로 최소화되어 있습니다. 안정적이며, 그것이 중요합니다. 코드와 내부 세부 사항을 유출하지 않는 것만 포함됩니다.
{ "error": "rate_stale" }{
"error": "rail_not_open",
"reason": {
"fr": "La retenue TDS de 1 % et l’enregistrement FIU-IND exigent une entite locale…",
"en": "The 1% TDS withholding and FIU-IND registration require a local entity…"
}
}일부 오류는 이중 언어 사유 객체를 전달하며, 사용자에게 그대로 표시하기 위한 것입니다. 폐쇄된 결제 수단이 그 예입니다. 사유는 명명된 규제 제약을 설명하며, 장애가 아닙니다. 이를 표시하면 지원 요청을 줄일 수 있습니다. 버전이 있는 API는 이 봉투에 요청 ID를 추가하여, 귀하가 우리 로그의 정확한 줄을 가리킬 수 있게 합니다.
이 코드들은 오늘 견적 엔드포인트에서 반환됩니다.
| code | HTTP | 의미 | 조치 |
|---|---|---|---|
invalid_request | 400 | 요청 본문이 스키마 검증에 실패했습니다: 필드 누락, 잘못된 유형, 허용 범위를 벗어난 값. | 금액이 숫자가 아닌 문자열인지, 방향이 정확히 "sell" 또는 "receive"인지 확인하십시오. |
invalid_amount | 400 | 금액을 구문 분석할 수 없거나 자산 또는 통화가 허용하는 것보다 더 많은 소수점을 포함합니다. | 단위 정밀도로 자릅니다: USDT는 소수점 6자리, BTC는 8자리, 유로는 2자리, CFA 프랑은 0자리. |
unknown_asset_or_rail | 404 | 자산 또는 레일 식별자가 카탈로그에 존재하지 않습니다. | 식별자는 안정적이며 재할당되지 않습니다. 추측하지 말고 카탈로그를 다시 로드하십시오. |
rail_not_open | 409 | 레일이 존재하지만 열려 있지 않습니다. 응답에는 두 언어로 정확한 이유가 포함됩니다. | 이유를 그대로 표시하십시오: 규제 제약을 설명하는 것이지 중단이 아닙니다. 같은 국가에서 열린 레일을 제공하십시오. |
asset_not_offered | 409 | 자산이 카탈로그에 있지만 제공되지 않습니다 — 강화된 익명성 자산의 경우. | 선택기에 제공하지 마십시오. 카탈로그는 이유와 함께 반환하므로 설명할 수 있습니다. |
rate_stale | 503 | 마지막으로 알려진 가격이 허용된 최대 기간을 초과했습니다. 엔진은 오래된 가격을 확정 가격으로 제공하는 대신 견적을 거부합니다. | 몇 초 후에 다시 시도하십시오. 마지막 성공한 견적을 캐시하여 공백을 메우지 마십시오: 그것은 정확히 이 코드가 방지하는 실수입니다. |
rate_unavailable | 503 | 이 자산/통화 쌍에 대해 사용 가능한 가격이 없습니다. | 추정치를 표시하는 대신 인터페이스에서 쌍을 비활성화하십시오. 표시된 추정치는 기대가 됩니다. |
quote_failed | 500 | 계산 중 예기치 않은 오류가 발생했습니다. 견적이 반환되지 않습니다. | 한 번 다시 시도하십시오. 오류가 지속되면 호출의 정확한 타임스탬프와 함께 저희에게 문의하십시오. |
이 코드들은 아직 열리지 않은 엔드포인트에 수반됩니다. 오류 처리를 한 번에 작성할 수 있도록 게시되었습니다.
| code | HTTP | 의미 | 조치 |
|---|---|---|---|
unauthorized | 401 | 키가 없거나, 취소되었거나, 잘못된 환경에서 사용되었습니다. | sk_test_ 키는 프로덕션에서 작동하지 않으며, 그 반대도 마찬가지입니다. 이는 의도된 것입니다. |
idempotency_conflict | 409 | 동일한 멱등성 키가 이미 다른 요청 본문과 함께 사용되었습니다. | 키는 하나의 의도에 속합니다. 내용이 변경되면 키도 변경됩니다. 그렇지 않으면 두 주문 중 어느 것을 재생해야 할지 알 수 없습니다. |
quote_expired | 409 | 견적의 잠금 기간이 지났습니다. | 다시 견적을 받고 새 금액을 수락하십시오. 우리는 고객에 대해 절대 조용히 재가격을 하지 않습니다. |
beneficiary_rejected | 422 | 수취인 세부 정보가 결제 수단 검증에 실패했습니다: 잘못된 체크섬, 비준수 형식, 또는 확인된 신원과 일치하지 않는 이름. | 응답은 문제가 있는 필드를 명시합니다. 수취인 이름은 확인된 신원이어야 합니다: 제3자 지급은 불가능합니다. |
country_not_served | 451 | 목적지 국가는 지원되지 않습니다: 제재, 제한 조치 또는 현지 프레임워크 부재. | 451 코드는 404보다 의도적으로 선택되었습니다: 거부할 때 우리는 거부임을 명시하고 그 이유를 밝힙니다. |
rate_limited | 429 | 슬라이딩 윈도우 내에서 너무 많은 호출이 발생했습니다. | Retry-After 헤더를 준수하십시오. 견적은 대기열에 넣는 것은 저렴하지만, 반복해서 두드리면 비용이 많이 듭니다. |
not_found | 404 | 리소스가 존재하지 않거나 귀하의 키에 속하지 않습니다. | 두 경우 모두 동일한 코드를 반환합니다: 이를 구분하는 응답은 누구나 다른 사람의 참조를 열거할 수 있게 합니다. |
결제 수단 범위를 벗어난 금액은 limitError 객체와 함께 유효한 견적을 반환합니다. 이는 실패가 아닙니다. 인터페이스가 표시해야 하는 정보입니다.
"limitError": { "code": "below_min", "limit": "20.00" }이 경우를 HTTP 오류로 처리하면 계산된 금액을 얻을 수 없으므로, 사용자에게 "이 지급 방법의 최소 금액보다 16.53 EUR 부족합니다"라고 말할 수 없게 됩니다. 한도는 수취인이 받는 순 금액에 적용됩니다.
세 가지 유형, 세 가지 동작. 루프에서 검증 오류를 재시도하면 로그만 채워집니다.
invalid_request, invalid_amount, unknown_asset_or_rail, asset_not_offered, unauthorized. 요청에 문제가 있습니다. 변경 없이 재시도하면 동일한 결과가 나옵니다. 수정하거나 사유를 표시하십시오.
rate_stale, rate_unavailable, quote_failed 및 모든 속도 제한. 몇 초 기다리고 시도 간격을 점점 늘리십시오. 캐시된 견적으로 간격을 채우지 마십시오.
rail_not_open, quote_expired, beneficiary_rejected, country_not_served. 상황은 인간의 선택이 필요합니다. 다른 결제 수단, 새로운 견적, 수정된 세부 정보를 제공하십시오.