Siirry sisältöön

Virheet

Virheet käyttävät tavanomaisia HTTP-tilakoodeja ja yhtä JSON-kirjekuorta:

{
"error": {
"type": "invalid_request_error",
"code": "amount_invalid",
"message": "amount must be a positive decimal string like \"59.90\"",
"param": "amount",
"request_id": "req_01J…"
}
}
  • type on vakaa luokka (alla). Haaraudu koodissasi sen perusteella.
  • code on tarkempi, koneluettava syy. Uusia koodeja voidaan lisätä; käsittele tuntemattomat koodit niiden type-arvon mukaan.
  • param nimeää virheellisen kentän, jos sellainen on.
  • message on tarkoitettu ihmisille ja voi muuttua — älä jäsennä sitä.
  • request_id vastaa Request-Id-vastausotsaketta.
type Tyypillinen tila Merkitys Mitä tehdä
invalid_request_error 400, 422 Virheellinen JSON, tuntematon kenttä, virheellinen arvo Korjaa pyyntö; älä yritä uudelleen muuttamattomana
authentication_error 401 Puuttuvat, virheelliset tai mitätöidyt tunnistetiedot Tarkista avain ja ympäristö
permission_error 403 Todennettu, mutta ei sallittu (käyttöoikeus, rooli, kauppakohtainen rajaus) Käytä avainta, jolla on oikea käyttöoikeus
not_found_error 404 Objektia ei ole olemassa tai se ei näy organisaatiollesi Tarkista tunniste ja ympäristö
conflict_error 409 Objektin tila ei salli toimenpidettä (esim. peruminen sen jälkeen, kun siirto on havaittu) Lue objekti uudelleen ja päätä
idempotency_error 409, 422 Idempotency-Key käytetty uudelleen eri parametreilla Käytä uudelle toimenpiteelle uutta avainta
rate_limit_error 429 Liian monta pyyntöä; katso Retry-After Odota ja yritä uudelleen
feature_unavailable_error 403 Ominaisuus ei ole vielä käytettävissä tilillesi: tiliä ei ole aktivoitu, nostoja ei ole otettu käyttöön, verkko on poistettu käytöstä tai fiat-kumppania ei ole Älä yritä uudelleen; ominaisuutta ei ole otettu käyttöön tilillesi
api_error 500 Odottamaton palvelinvirhe (kirjataan pyyntötunnisteen kanssa) Yritä uudelleen viiveellä samalla Idempotency-Key-arvolla

Pyyntöjen rungoissa olevia tuntemattomia kenttiä ei ohiteta hiljaisesti, vaan ne torjutaan virheellä invalid_request_error / parameter_unknown, joten kirjoitusvirheet paljastuvat heti.

Live-maksut otetaan käyttöön, kun tilisi on vahvistettu ja hyväksytty. Kunnes tilisi on aktivoitu, nämä koodit ovat odotettavissa:

code type Milloin
live_keys_disabled feature_unavailable_error Live-API-avaimen luominen, kun tiliä ei ole vielä aktivoitu
live_mode_disabled feature_unavailable_error Live-tilan käyttäminen live-API-avaimella tai hallintapaneelissa, kun tiliä ei ole vielä aktivoitu
live_processing_unavailable feature_unavailable_error Maksuaikomuksen luominen ennen kuin live-maksujen käsittely on otettu käyttöön tilillesi
payouts_unavailable feature_unavailable_error Noston pyytäminen ennen kuin nostot on otettu käyttöön tilillesi (ne otetaan käyttöön erikseen live-maksuista)
payouts_live_only invalid_request_error (422) Nosto-osoitteiden tai nostojen hallinta live-tilan ulkopuolella — nostot siirtävät todellisia varoja
test_mode_disabled feature_unavailable_error Muun kuin live-avaimen luominen tai käyttäminen tai muun kuin live-maksun luominen. Jokainen avain ja maksu on live: luo live-API-avain, kun tilisi on aktivoitu

Mikään niistä ei korjaannu uudelleenyrittämällä. Kun tilisi on aktivoitu, hallintapaneelin käyttöönoton tarkistuslista merkitsee live-tilan vaiheen valmiiksi.

Toisen organisaation objekteja koskevat pyynnöt palauttavat virheen not_found_error, eivät permission_error. Näin ei paljasteta, että tunniste on olemassa.

SDK Perusluokka Tarkemmat luokat
TypeScript FeitPayError FeitPayInvalidRequestError, FeitPayAuthenticationError, FeitPayPermissionError, FeitPayNotFoundError, FeitPayConflictError, FeitPayIdempotencyError, FeitPayRateLimitError, FeitPayFeatureUnavailableError, FeitPayAPIError, FeitPayConnectionError
Python FeitPayError InvalidRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, IdempotencyError, RateLimitError, FeatureUnavailableError, APIError, APIConnectionError
Go *feitpay.Error tarkastele kenttiä Type, Code, Param, Status, RequestID (tai käytä feitpay.ErrorType(err))

Yhteysvirheet (connection_error, tila 0) tarkoittavat, ettei vastausta saatu; uudelleenyritys samalla Idempotency-Key-arvolla on turvallinen.