Översikt
Dodo Payments API använder standard HTTP-statuskoder och anpassade felkoder för att indikera framgång eller misslyckande av API-förfrågningar. När ett fel inträffar returnerar API:et en lämplig HTTP-statuskod och ett JSON-svar som innehåller detaljerad information om felet. Varje felrespons inkluderar:- En HTTP-statuskod som indikerar den allmänna kategorin av felet
- En specifik felkod som identifierar den exakta naturen av felet
- Ett mänskligt läsbart felmeddelande som förklarar vad som gick fel
- Ytterligare detaljer om felet när det är tillämpligt
- Felsökning av integrationsproblem
- Implementering av korrekt felhantering i din applikation
- Att ge meningsfull feedback till slutanvändare
- Att upprätthålla ett robust betalningsbehandlingssystem
Dessa är API och affärslogiska fel. För kortavsändningsorsaker som returneras vid ett misslyckat betalning (som
INSUFFICIENT_FUNDS eller CARD_DECLINED), se istället referensen Transaktionsfel.Standard API Felkoder
Felresponsformat
När ett fel inträffar returnerar API:et ett JSON-svar med följande struktur:Felkodsreferens
Felkoderna nedan är grupperade efter området av API de relaterar till. Varje post listar villkoret som utlöser det och meddelandet API returnerar.Autentisering & Konto
-
UNAUTHORIZED- Utlösare: Ingen API-nyckel eller ogiltig token / räckvidd
- Meddelande: Du är inte auktoriserad att utföra denna åtgärd
-
MERCHANT_NOT_LIVE- Utlösare: Verksamheten är fortfarande i test/sandlådeläge
- Meddelande: Handlaren är inte live
Betalningar & Kassa
-
CHECKOUT_SESSION_CONSUMED- Utlösare: Kassasession har redan genererat en betalning
- Meddelande: Kassasession har redan använts
-
NO_ELIGIBLE_PAYMENT_METHODS- Utlösare: Efter filtrering finns inget kvar
- Meddelande: Inga berättigade betalningsmetoder hittades
-
PAYMENT_NOT_SUCCEEDED- Utlösare: Försök återbetala/behandla misslyckad betalning
- Meddelande: Den angivna betalningen har inte lyckats
-
PREVIOUS_PAYMENT_PENDING- Utlösare: Försök skapa avgift medan föregående är i icke-terminalt tillstånd
- Meddelande: Kan inte skapa ny avgift eftersom föregående betalning inte är framgångsrik än
-
UNSUCCESSFUL_PAYMENT_ID- Utlösare: Betalnings-ID refererar till misslyckad betalning
- Meddelande: Betalnings-ID har en misslyckad status.
Koppel & BYOP
Dessa fel är relaterade till handlareägda betalningskopplingar (Ta med din egen processor).-
BYOP_CONNECTOR_DISABLED- Utlösare: Uppdaterar en betalningsmetod på en prenumeration som dirigeras genom en inaktiverad BYOP-koppling
- Meddelande: Prenumerationen dirigeras genom handlarens egen (BYOP) koppling som för närvarande är inaktiverad
-
BYOP_CUSTOM_INVOICE_ADDRESS_MISSING- Utlösare: En handlardirigerad (BYOP) betalning saknar den nödvändiga anpassade faktureringsadressen
- Meddelande: BYOP anpassad faktureringsadress krävs när en betalning styrs genom handlarens koppling
-
CONNECTOR_LABEL_ALREADY_EXISTS- Utlösare: Skapar en koppling med en etikett som redan finns
- Meddelande: En koppling med denna etikett finns redan. Vänligen välj en annan etikett.
Återbetalningar
-
EXISTING_REFUND_REQUEST_PROCESSING- Trigger: Tidigare återbetalningsbegäran behandlas fortfarande
- Message: En återbetalningsbegäran med status “Pending” behandlas fortfarande
-
LINE_ITEM_FULLY_REFUNDED- Utlösare: Försök att återbetala redan helt återbetalt radobjekt
- Meddelande: Radobjekt har redan återbetalats helt och kan inte återbetalas ytterligare.
-
LINE_ITEM_NOT_FOUND- Utlösare: Artikel-ID är inte en del av den refererade betalningen
- Meddelande: Radobjekt hittas inte i betalning
-
LINE_ITEM_PRORATED- Utlösare: Återbetalning eller uppdatering försökt på en proratad rad
- Meddelande: Radobjekt kan inte återbetalas eftersom det är proratad
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Utlösare: Återbetalningsbelopp > betalt belopp (inkl. moms)
- Meddelande: Radobjekt angivet återbetalningsbelopp inklusive moms är vilket är över det betalda beloppet
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Utlösare: Återbetalningsbelopp under minimigränsen
- Meddelande: Radobjekt begärt återbetalningsbelopp är vilket är för lågt
-
NOTHING_TO_REFUND- Utlösare: Inga återbetalningsbara belopp återstår; alla positiva radobjekt har redan återbetalats helt
- Meddelande: Inget återbetalningsbart belopp återstår. Alla positiva radobjekt har redan återbetalats helt.
-
PARTIAL_REFUND_NOT_ALLOWED- Utlösare: Delvis återbetalning försökte på en betalningsmetod som endast stöder fulla återbetalningar
- Meddelande: Delvisa återbetalningar är inte tillåtna för denna betalningsmetod
-
PAYMENT_ALREADY_REFUNDED- Utlösare: Dubblett återbetalning
- Meddelande: Denna betalning har redan återbetalats
-
PAYMENT_HAS_BEEN_REFUNDED- Utlösare: Betalning har återbetalats helt
- Meddelande: Betalnings-ID har återbetalats helt.
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Utlösare: Aggregat återbetalningsbelopp > betalt belopp
- Meddelande: Det beräknade återbetalningsbeloppet är större än det betalda beloppet
-
REFUND_WINDOW_EXPIRED- Utlösare: Utanför tillåtet återbetalningsfönster
- Meddelande: Återbetalningar kan inte initieras dagar efter betalningsskapelse. Kontakta support@dodopayments.com.
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Utlösare: Försök återbetala noll-belopps-betalning
- Meddelande: Kan inte återbetala en betalning med noll valuta belopp
Prenumerationer & Tillägg
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Utlösare: Försök att lägga till tillägg till användningsbaserade faktureringsprenumerationer
- Meddelande: Tillägg i Prenumerationer stöds inte för användningsbaserad fakturering
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Utlösare: Försök att lägga till tillägg till on-demand-prenumerationer
- Meddelande: Tillägg är inte tillåtna för on demand-prenumerationer
-
CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Utlösare: Customer Portal försöker avbryta en schemalagd planändring medan verksamheten har inaktiverat den åtgärden
- Meddelande: Avbrytande av schemalagd planändring är inaktiverad för kundportalen.
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Utlösare: Försök att debitera prenumeration som är schemalagd för uppsägning
- Meddelande: Prenumeration schemalagd för uppsägning
-
CUSTOMER_HAS_EXISTING_SUBSCRIPTION- Utlösare: Skapar en prenumeration för en kund som redan har en, när flera prenumerationer per kund inte är tillåtna
- Meddelande: Kund har en befintlig prenumeration. För att tillåta flera prenumerationer per kund, ändra företagsinställningar
-
DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL- Utlösare:
do_not_billproration mode använd i en Customer Portal planändring - Meddelande: do_not_bill proration mode är inte tillåten i kundportalen
- Utlösare:
-
DUPLICATE_ADDON_IDS_IN_REQUEST- Utlösare: Samma
addon_idvisas mer än en gång i begäran - Meddelande: Dubblett tilläggs-ID är inte tillåtna
- Utlösare: Samma
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Utlösare: Planändring på inaktiv prenumeration
- Meddelande: Ändra plan är inte stöd för inaktiva prenumerationer
-
INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE- Utlösare: En annan proration mode än
full_immediatelyanvändes medeffective_at: next_billing_date - Meddelande: Endast full_immediately proration mode är tillåtet med effective_at: next_billing_date
- Utlösare: En annan proration mode än
-
MISSING_ADDON_IDS- Utlösare:
addon_idlista tom eller okända ID - Meddelande: En eller flera produkt-ID existerar inte:
- Utlösare:
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Utlösare: Planskifte inte tillåtet för on-demand
- Meddelande: Ändra plan stöds inte för on demand-prenumerationer
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Utlösare: Försök att använda on-demand med användningsbaserad fakturering
- Meddelande: On Demand-prenumerationer stöds inte för användningsbaserad fakturering
-
ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND- Utlösare: Engångsprodukt tillagd till en on-demand-prenumeration
- Meddelande: Engångsprodukter är inte tillåtna för on demand-prenumerationer
-
PENDING_PLAN_CHANGE_EXISTS- Utlösare: Ny planändring begärd medan en tidigare väntar på betalning
- Meddelande: En väntande planändring finns redan för denna prenumeration. Var god vänta tills den nuvarande betalningen är klar.
-
PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Utlösare: Planändring via Customer Portal medan verksamheten har inaktiverat den
- Meddelande: Prenumerationsplanändring för kundportalen är inaktiverad.
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Utlösare: Planändring försökt på prenumeration schemalagd för uppsägning
- Meddelande: Prenumeration schemalagd för uppsägning
-
SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Utlösare: Schemaläggning av planändring via Customer Portal medan verksamheten har inaktiverat den
- Meddelande: Schemaläggning av planändringar är inaktiverad för denna verksamhet.
-
SCHEDULED_PLAN_CHANGE_EXISTS- Utlösare: Skapar en schemalagd planändring när en redan existerar
- Meddelande: En schemalagd planändring existerar redan för denna prenumeration. Vänligen avbryt den befintliga schemalagda ändringen innan du skapar en ny.
-
SCHEDULED_PLAN_CHANGE_NOT_FOUND- Utlösare: Refererar eller avbryter en schemalagd planändring som inte existerar
- Meddelande: Ingen schemalagd planändring hittades för denna prenumeration.
-
SUBSCRIPTION_EXPIRED- Utlösare: Fakturera förbi
ends_at - Meddelande: Prenumeration löpte ut kan inte skapa nya avgifter
- Utlösare: Fakturera förbi
-
SUBSCRIPTION_INACTIVE- Utlösare: Status ≠
ACTIVE - Meddelande: Prenumerationen är inte aktiv
- Utlösare: Status ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Utlösare: Förväntar on-demand men fick fast intervall
- Meddelande: Prenumerationen är redan inte on demand
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Utlösare: Prenumerationsbetalningsförsök översteg maximalt antal försök
- Meddelande: Högsta gräns för 10 försök överskriden för denna prenumeration
Produkter, Kundvagn & Varumärken
-
BRAND_MISMATCH- Utlösare: Kundvagnens produkter tillhör olika varumärken
- Meddelande: Alla artiklar i produktkundvagnen bör tillhöra samma varumärke
-
BRAND_NOT_ENABLED- Utlösare: Varumärket är inaktiverat eller inte aktivt
- Meddelande: Varumärket som anges är inte aktiverat
-
BRAND_SUBMISSION_NOT_ENABLED- Utlösare: Varumärkesverifieringsominsändningsfunktionen inte aktiverad
- Meddelande: Varumärkesverifieringsominsändning är inte aktiverad
-
FILE_IN_USE- Trigger: En fil för en digital produkt tas bort trots att den fortfarande refereras av aktiva behörighetsbeviljanden
- Message: Den digitala filen refereras av aktiva behörighetsbeviljanden
-
INVALID_SUGGESTED_PRICE- Utlösare: PWYW-pris < minimipris
- Meddelande: Föreslaget pris kan inte vara lägre än minimipriset. Vid pay what you want, betraktas priset som det minsta accepterade beloppet
-
LOCALIZED_PRICE_ALREADY_EXISTS- Utlösare: Ett lokaliserat pris finns redan för denna produkt och land/valuta
- Meddelande: Ett lokaliserat pris för denna produkt och land/valuta finns redan
-
LOCALIZED_PRICE_DUPLICATES_BASE- Utlösare: Lokaliserat pris duplicerar produktens basvaluta/land
- Meddelande: Lokaliserat pris duplicerar produktens basvaluta/land
-
LOCALIZED_PRICE_SHAPE_MISMATCH- Utlösare: Formen på det lokaliserade priset matchar inte produktens
pricing_mode - Meddelande: Formen på det lokaliserade priset matchar inte produktens pricing_mode
- Utlösare: Formen på det lokaliserade priset matchar inte produktens
-
MISSING_PRODUCT_INFORMATION- Utlösare: Produkten finns men obligatorisk information saknas
- Meddelande: Produkt existerar men annan obligatorisk information saknas eller är ogiltig
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Utlösare: Pris saknas för PWYW-produkt
- Meddelande: Belopp är obligatoriskt för pay as you want-produkt
-
PRODUCT_CART_EMTPY- Utlösare: Tom produktkorg inlämnad
- Meddelande: produkt_kundvagn är tom (felkoden är avsiktligt stavad
EMTPYför att matcha det exakta värdet som API:n returnerar)
-
PRODUCT_COLLECTION_IS_DELETED- Utlösare: Användning av en produktkollektion som har tagits bort
- Meddelande: Inget meddelande
-
PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS- Utlösare: Tar bort den sista produkten (eller sista gruppen med produkter) från en kollektion
- Meddelande: Kan inte ta bort den sista produkten i en kollektion. Arkivera kollektionen istället.
-
PRODUCT_IS_DELETED- Utlösare: Produkt mjukraderad
- Meddelande: Inga meddelanden
-
PRODUCT_PRICING_MODE_REQUIRED- Utlösare: Lägger till lokaliserade priser innan produktens
pricing_modeär satt - Meddelande: Produkt pricing_mode måste ställas in innan lokaliserade priser läggs till
- Utlösare: Lägger till lokaliserade priser innan produktens
-
SLUG_ALREADY_TAKEN- Utlösare: Det begärda produkt slug / korta URL är redan i användning
- Meddelande: Slug är redan upptaget
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Utlösare: Försök att uppdatera primärt varumärke via vanlig API
- Meddelande: Primärt varumärke kan inte uppdateras via denna API-slutpunkt.
Rabatter
-
DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION- Utlösare: Åter-tillämpa en rabatt som redan har använts för denna prenumeration
- Meddelande: Denna rabatt har redan använts på denna prenumeration
-
DISCOUNT_CODE_ALREADY_EXISTS- Utlösare: Dubblett av rabattkod skapad
- Meddelande: Rabattkod finns redan
-
DISCOUNT_CODE_EXPIRED- Utlösare: Rabattkod förbi dess
expires_atdatum - Meddelande: Rabattkod har gått ut
- Utlösare: Rabattkod förbi dess
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Trigger: Rabattkoden används igen efter att
usage_limithar nåtts - Message: Användningsgränsen kan inte vara mindre än times_used / Rabattkoden har nått användningsgränsen
- Note: Terminal — koden är förbrukad. Försök inte igen.
- Trigger: Rabattkoden används igen efter att
-
DISCOUNT_CONCURRENT_REDEMPTION- Trigger: En annan inlösen av samma kod höll låset på raden för användningsgränsen för länge (HTTP 503)
- Message: Rabatten löses in samtidigt; försök igen
- Note: Tillfälligt fel. Koden kan fortfarande ha kapacitet, så det är säkert att försöka igen. Visa inte detta för kunden som “koden är förbrukad”.
-
DISCOUNT_CURRENCY_OPTION_INVALID- Trigger: Ogiltig
currency_optionsvid skapande eller uppdatering - Message: En fast rabatt kräver minst ett valutaalternativ med en lösbar standardinställning / Dubbletter av valutaalternativ tillåts inte / Endast ett valutaalternativ får vara markerat som standard
- Trigger: Ogiltig
-
DISCOUNT_CUSTOMER_NOT_ELIGIBLE- Trigger: Kunden uppfyller inte kodens
customer_eligibility(first_time,existingeller finns inte på enspecific-kods lista över tillåtna kunder) - Message: Kunden är inte berättigad till denna rabattkod
- Trigger: Kunden uppfyller inte kodens
-
DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET- Trigger: Varukorgens delsumma ligger under
minimum_subtotalsom konfigurerats för checkout-valutan - Message: Varukorgens delsumma ligger under rabattens minsta erforderliga delsumma
- Trigger: Varukorgens delsumma ligger under
-
DISCOUNT_NOT_YET_ACTIVE- Trigger: Koden används före dess
starts_at-datum - Message: Rabattkoden är inte aktiv ännu (starts_at ligger i framtiden)
- Trigger: Koden används före dess
-
DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED- Trigger: Kunden har redan löst in koden
per_customer_usage_limitgånger - Message: Användningsgränsen per kund har överskridits för denna rabattkod
- Trigger: Kunden har redan löst in koden
-
DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT- Trigger: Planen ändras till en produkt som den befintliga rabatten inte gäller för
- Message: Rabatten gäller inte för den nya planens produkt
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Trigger: Koden tillämpas på en on-demand-prenumeration
- Message: Rabattkupongen är inte tillgänglig för on-demand-prenumerationer
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Trigger: Koden tillämpas på orelaterade produkter
- Message: Rabattkupongen är inte tillgänglig för denna produkt
-
INVALID_DISCOUNT_CODE- Trigger: Koden finns inte / gäller inte
- Message: Ogiltig rabattkod / Rabattkoden kan inte tillämpas på någon produkt i varukorgen
-
INVALID_PERCENTAGE- Trigger: Procentbelopp > 100 % (eller 10 000 baspunkter)
- Message: Procentbeloppet kan inte vara större än 10000 / Rabattkodens belopp kan inte vara större än 100 %
-
UNSUPPORTED_DISCOUNT_TYPE- Trigger: En rabattyp som inte stöds.
percentageochflatstöds båda; rabatter med belopp per enhet stöds inte. - Message: Endast procentuella och fasta rabattkoder stöds
- Trigger: En rabattyp som inte stöds.
Licensnycklar
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Trigger: Aktiveringar av licensnyckel: ny gräns < befintligt antal instanser
- Message: Den nya aktiveringsgränsen kan inte vara mindre än det aktuella antalet instanser
-
INACTIVE_LICENSE_KEY- Trigger: Nyckelstatus ≠
ACTIVE - Message: Licensnyckeln är inte aktiv
- Trigger: Nyckelstatus ≠
-
LICENSE_KEY_LIMIT_REACHED- Trigger: Aktiveringar = gräns
- Message: Licensnyckelns aktiveringsgräns har nåtts
-
LICENSE_KEY_NOT_FOUND- Trigger: Instans-ID eller nyckel-ID är ogiltigt
- Message: Licensnyckelns instans hittades inte eller tillhör inte denna licensnyckel
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Trigger: Försök att ange utgångsdatum för en prenumerationsbaserad nyckel
- Message: Det går inte att ange ett utgångsdatum för en prenumerationsbaserad licensnyckel
Användningsbaserad fakturering och mätare
-
DUPLICATE_METER_IDS_IN_REQUEST- Trigger: Samma mätar-ID förekommer flera gånger i begäran
- Message: Dubbletter av mätar-ID:n tillåts inte
-
INVALID_QUANTITY- Trigger: Ogiltig kvantitet angavs för användningsbaserad prissättning
- Message: Endast 1 kvantitet tillåts i produkter med användningsbaserat pris
-
METER_IS_DELETED- Trigger: Försök att använda en borttagen mätare
- Message: Mätaren har redan tagits bort
-
MISSING_METER_IDS- Trigger: Listan med mätar-ID:n är tom eller innehåller ogiltiga ID:n
- Message: Ett eller flera mätar-ID:n finns inte:
Kreditbaserad fakturering
-
CREDIT_ENTITLEMENT_IS_DELETED- Trigger: Försök att använda ett kredittillgodohavande som har tagits bort
- Message: Kredittillgodohavandet har redan tagits bort
-
CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS- Trigger: Ett kredittillgodohavande skapas med ett namn som redan finns
- Message: Det finns redan ett kredittillgodohavande med detta namn
-
OVERAGE_LIMIT_EXCEEDED- Trigger: Ett användnings- eller kreditavdrag skulle överskrida den konfigurerade övertrasseringsgränsen
- Message: Övertrasseringsgränsen har överskridits
Plånbok
-
INSUFFICIENT_WALLET_FUNDS- Trigger: Plånbokssaldo < debiteringsbelopp
- Message: Otillräckliga medel i plånboken
-
NEGATIVE_BALANCE_ADJUSTMENT- Trigger: Försök att göra plånbokssaldot negativt
- Message: Plånbokssaldot får inte bli negativt
Valuta, skatt och region
-
EXCHANGE_RATE_NOT_FOUND- Trigger: Ingen växelkurs för
from → to-valutapar - Message: Växelkurs hittades inte för konvertering från valuta till valuta
- Trigger: Ingen växelkurs för
-
INVALID_TAX_ID- Trigger: VAT/GST/TIN kunde inte valideras
- Message: Skatte-ID:t är ogiltigt
-
REQUEST_AMOUNT_BELOW_MINIMUM- Trigger: Belopp < produktens minimum
- Message: Beloppet kan inte vara mindre än det minsta belopp som angetts för produkten
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Trigger: Den sammanlagda totalsumman i varukorgen < gatewayens minimum
- Message: Ett minimibelopp på krävs för att behandla betalningen
-
UNSUPPORTED_BILLING_CURRENCY- Trigger: Den begärda faktureringsvalutan stöds inte för denna prenumeration
- Message: Faktureringsvaluta som inte är USD stöds inte för prenumerationer
-
UNSUPPORTED_COUNTRY- Trigger: Geografiskt område stöds ännu inte
- Message: Landet stöds för närvarande inte
-
UNSUPPORTED_CURRENCY- Trigger: Produktens eller tilläggets valuta är inte en valuta som Dodo Payments kan debitera i. Baspriser kan anges i valfri debiterbar valuta, så detta innebär vanligtvis att valutakoden är ogiltig eller ännu inte stöds.
- Message: Valutan stöds för närvarande inte / För närvarande stöds endast produkter i USD och INR / Endast USD och INR stöds för tilläggspris / Endast USD eller INR kan begäras för billing_currency / Valuta stöds inte / Oväntad valuta för indiska kortprenumerationer
-
UNSUPPORTED_TAX_CATEGORY- Trigger: Skattekategoristrängen finns inte i enum
- Message: Kategorien stöds för närvarande inte
Validering och begäranden
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Trigger: Samma
item_idförekommer två gånger iitems[] - Message: Dubbletter av item_ids har angetts i items-arrayen
- Trigger: Samma
-
INVALID_QUERY_PARAMS- Trigger: Ömsesidigt uteslutande eller felaktigt formaterade query-parametrar
- Message: Query-parametrar får endast innehålla antingen time_frame eller (start, end)
-
INVALID_REQUEST_BODY- Trigger: Felaktigt formaterad JSON eller schemaöverträdelse
- Message: Begärans body är ogiltig. Kontrollera dina request headers och ditt objekt.
-
INVALID_REQUEST_PARAMETERS- Trigger: Felaktig semantik (t.ex. datum i det förflutna)
- Message: Det går inte att ändra next_billing_date till en tidpunkt i det förflutna
-
MAXIMUM_KEYS_REACHED- Trigger: Metadata/custom-fields överskred 50 par
- Message: Fler än 50 nyckel-värdepar
Allmänt och system
-
INTEGER_CONVERSION_FAILURE- Trigger: Alla heltalskonverteringar ↔ sträng-/decimalvärden som misslyckas på serversidan
- Message: Fel vid heltalskonvertering
-
INTERNAL_SERVER_ERROR- Trigger: Fångas inte upp av undantag; du bör logga detaljer på serversidan
- Message: Inget offentligt meddelande (generiskt 500-fel)
-
NOT_FOUND- Trigger: Generiskt 404-fel för en resurs som saknas
- Message: Objektet hittades inte (eller mer specifikt)
-
TOO_MANY_REQUESTS- Trigger: Hastighetsbegränsning på 429
- Message: Inga meddelanden
-
UNSUPPORTED_ACTION- Trigger: Åtgärd stöds inte för resurstypen
- Message: Det går inte att ändra planer för användningsbaserade prenumerationer
Bästa praxis
- Hantera alltid fel på ett smidigt sätt i din applikation
- Implementera korrekt felloggning
- Använd lämpliga felmeddelanden för slutanvändare
- Implementera återförsökslogik för tillfälliga fel
- Kontakta supporten vid olösta problem