Ö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- Trigger: Företaget är fortfarande i Test Mode
- Message: Handlaren är inte live
-
BUSINESS_ARCHIVED- Utlösare: Alla kundinriktade förfrågningar (checkout, betalningslänk, storefront, Customer Portal eller licensnyckel) för ett företag som har arkiverats
- Meddelande: Detta företag är arkiverat och tar inte längre emot förfrågningar
Payments & Checkout
-
CHECKOUT_SESSION_CONSUMED- Utlösare: Checkout-sessionen har redan genererat en betalning
- Meddelande: Checkout-sessionen har redan förbrukats
-
NO_ELIGIBLE_PAYMENT_METHODS- Utlösare: Inget återstår efter filtrering
- Meddelande: Inga berättigade betalningsmetoder hittades
-
PAYMENT_NOT_SUCCEEDED- Utlösare: Försök att återbetala eller behandla en misslyckad betalning
- Meddelande: Den angivna betalningen har inte genomförts
-
PREVIOUS_PAYMENT_PENDING- Utlösare: Försök att skapa en debitering medan den föregående befinner sig i ett icke-slutgiltigt tillstånd
- Meddelande: Det går inte att skapa en ny debitering eftersom den föregående betalningen ännu inte har genomförts
-
UNSUCCESSFUL_PAYMENT_ID- Utlösare: Payment ID refererar till en misslyckad betalning
- Meddelande: Payment ID har en misslyckad status.
Connectors & BYOP
Dessa fel gäller betalningsanslutningar som ägs av handlaren (Bring Your Own Processor).-
BYOP_CONNECTOR_DISABLED- Utlösare: Uppdatering av en betalningsmetod för en prenumeration som dirigeras via en inaktiverad BYOP-anslutning
- Meddelande: Prenumerationen dirigeras via handlarens egen (BYOP) anslutning, som för närvarande är inaktiverad
-
BYOP_CUSTOM_INVOICE_ADDRESS_MISSING- Utlösare: En handlar-dirigerad (BYOP) betalning saknar den obligatoriska anpassade fakturaadressen
- Meddelande: Anpassad BYOP-fakturaadress krävs när en betalning dirigeras via handlarens anslutning
-
CONNECTOR_LABEL_ALREADY_EXISTS- Utlösare: Skapande av en anslutning med en etikett som redan finns
- Meddelande: En anslutning med denna etikett finns redan. Välj en annan etikett.
Refunds
-
EXISTING_REFUND_REQUEST_PROCESSING- Utlösare: Den föregående återbetalningsbegäran behandlas fortfarande
- Meddelande: En återbetalningsbegäran med statusen “Pending” behandlas fortfarande
-
LINE_ITEM_FULLY_REFUNDED- Utlösare: Försök att återbetala en radartikel som redan har återbetalats helt
- Meddelande: Radartikel har återbetalats helt och kan inte återbetalas ytterligare.
-
LINE_ITEM_NOT_FOUND- Utlösare: Artikel-ID ingår inte i den refererade betalningen
- Meddelande: Radartikel hittades inte i betalningen
-
LINE_ITEM_PRORATED- Utlösare: Återbetalning eller uppdatering försöktes för en proraterad rad
- Meddelande: Radartikel kan inte återbetalas eftersom den är proraterad
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Utlösare: Återbetalningsbelopp > betalt belopp (inklusive skatt)
- Meddelande: Det begärda återbetalningsbeloppet för radartikel , inklusive skatt, är , vilket överstiger det betalda beloppet
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Utlösare: Återbetalningsbeloppet understiger miniminivån
- Meddelande: Det begärda återbetalningsbeloppet för radartikel är , vilket är för lågt
-
NOTHING_TO_REFUND- Utlösare: Inget återbetalningsbart belopp återstår; alla positiva radartiklar har redan återbetalats helt
- Meddelande: Inget återbetalningsbart belopp återstår. Alla positiva radartiklar har återbetalats helt.
-
PARTIAL_REFUND_NOT_ALLOWED- Utlösare: Försök till delåterbetalning för en betalningsmetod som endast stöder fullständiga återbetalningar
- Meddelande: Delåterbetalningar tillåts inte för denna betalningsmetod
-
PAYMENT_ALREADY_REFUNDED- Utlösare: Dubblettåterbetalning
- Meddelande: Denna betalning har redan återbetalats
-
PAYMENT_HAS_BEEN_REFUNDED- Utlösare: Betalningen har återbetalats helt
- Meddelande: Payment ID har återbetalats helt.
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Utlösare: Sammanlagt återbetalningsbelopp > betalt belopp
- Meddelande: Det beräknade återbetalningsbeloppet är större än det betalda beloppet
-
REFUND_WINDOW_EXPIRED- Utlösare: Utanför den tillåtna återbetalningsperioden
- Meddelande: Återbetalningar kan inte initieras dagar efter att betalningen skapades. Kontakta support@dodopayments.com.
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Utlösare: Försök att återbetala en betalning med beloppet noll
- Meddelande: Det går inte att återbetala en betalning med ett valutabelopp på noll
Subscriptions & Add-ons
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Utlösare: Försök att lägga till tillägg i prenumerationer med Usage Based Billing
- Meddelande: Tillägg i Subscriptions stöds inte för Usage Based Billing
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Utlösare: Försök att lägga till tillägg i on-demand-prenumerationer
- Meddelande: Tillägg tillåts inte 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 företaget har inaktiverat den åtgärden
- Meddelande: Avbrytande av schemalagd planändring är inaktiverat för customer portal.
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Utlösare: Försök att debitera en prenumeration som är schemalagd för annullering
- Meddelande: Prenumerationen är schemalagd för annullering
-
CUSTOMER_HAS_EXISTING_SUBSCRIPTION- Utlösare: Skapande av en prenumeration för en kund som redan har en, när flera prenumerationer per kund inte tillåts
- Meddelande: Kunden har redan en prenumeration. Ändra företagsinställningarna för att tillåta flera prenumerationer per kund
-
DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL- Utlösare:
do_not_billproration mode används i en planändring i Customer Portal - Meddelande: do_not_bill proration mode tillåts inte i customer portal
- Utlösare:
-
DUPLICATE_ADDON_IDS_IN_REQUEST- Utlösare: Samma
addon_idförekommer mer än en gång i begäran - Meddelande: Dubbletter av addon-ID:n tillåts inte
- Utlösare: Samma
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Utlösare: Planändring för en inaktiv prenumeration
- Meddelande: Det går inte att ändra planer för inaktiva prenumerationer
-
INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE- Utlösare: Ett annat proration mode än
full_immediatelyanvänds medeffective_at: next_billing_date - Meddelande: Endast full_immediately proration mode tillåts med effective_at: next_billing_date
- Utlösare: Ett annat proration mode än
-
MISSING_ADDON_IDS- Utlösare:
addon_id-listan är tom eller innehåller okända ID:n - Meddelande: Ett eller flera produkt-ID:n finns inte:
- Utlösare:
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Utlösare: Planbyte tillåts inte för on-demand
- Meddelande: Det går inte att ändra planer för on demand-prenumerationer
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Utlösare: Försök att använda on-demand med usage-based billing
- Meddelande: On Demand Subscriptions stöds inte för Usage Based Billing
-
ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND- Utlösare: En engångsprodukt har lagts till i en on-demand-prenumeration
- Meddelande: Engångsprodukter tillåts inte för on demand-prenumerationer
-
PENDING_PLAN_CHANGE_EXISTS- Utlösare: En ny planändring begärs medan en tidigare fortfarande väntar på betalning
- Meddelande: En väntande planändring finns redan för denna prenumeration. Vänta tills den aktuella betalningen har slutförts.
-
PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Utlösare: Planändring via Customer Portal medan företaget har inaktiverat den
- Meddelande: Ändring av prenumerationsplan för customer portal är inaktiverad.
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Utlösare: Planändring försöktes för en prenumeration som är schemalagd för annullering
- Meddelande: Prenumerationen är schemalagd för annullering
-
SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Utlösare: Schemaläggning av en planändring via Customer Portal medan företaget har inaktiverat den
- Meddelande: Schemaläggning av planändringar är inaktiverad för detta företag.
-
SCHEDULED_PLAN_CHANGE_EXISTS- Utlösare: Skapande av en schemalagd planändring när en redan finns
- Meddelande: En schemalagd planändring finns redan för denna prenumeration. Avbryt den befintliga schemalagda ändringen innan du skapar en ny.
-
SCHEDULED_PLAN_CHANGE_NOT_FOUND- Utlösare: Referens till eller avbrytande av en schemalagd planändring som inte finns
- Meddelande: Ingen schemalagd planändring hittades för denna prenumeration.
-
SUBSCRIPTION_EXPIRED- Utlösare: Debitering efter
expires_at - Meddelande: Prenumerationen har löpt ut och nya debiteringar kan inte skapas
- Utlösare: Debitering efter
-
SUBSCRIPTION_INACTIVE- Utlösare: Status ≠
active - Meddelande: Prenumerationen är inte aktiv
- Utlösare: Status ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Utlösare: Förväntade on-demand men fick fast intervall
- Meddelande: Prenumerationen är redan inte on demand
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Utlösare: Betalningsförsöken för prenumerationen överskred det maximala antalet försök
- Meddelande: Den maximala gränsen på 10 försök har överskridits för denna prenumeration
Products, Cart & Brands
-
BRAND_ALREADY_ARCHIVED- Utlösare: Arkivering av ett varumärke som redan är arkiverat
- Meddelande: Varumärket är redan arkiverat
-
BRAND_ARCHIVED- Utlösare: Uppdatering av ett arkiverat varumärke, inskickning för verifiering eller taggning av en ny produkt, produktsamling eller prenumeration till det
- Meddelande: Varumärket är arkiverat och kan inte uppdateras
-
BRAND_ARCHIVE_TARGET_REQUIRED- Utlösare: Arkivering av ett varumärke som fortfarande innehåller produkter, aktiva prenumerationer eller produktsamlingar utan ett
move_products_to-mål - Meddelande: Varumärket har 12 produkt(er). Ange move_products_to till ett målvarumärke för att tagga om dem.
- Utlösare: Arkivering av ett varumärke som fortfarande innehåller produkter, aktiva prenumerationer eller produktsamlingar utan ett
-
BRAND_MISMATCH- Utlösare: Varukorgens artiklar tillhör olika varumärken
- Meddelande: Alla artiklar i produktvarukorgen bör tillhöra samma varumärke
-
BRAND_NOT_ENABLED- Utlösare: Varumärket är inaktiverat eller inte aktivt
- Meddelande: Det angivna varumärket är inte aktiverat
-
BRAND_SUBMISSION_NOT_ENABLED- Utlösare: Funktionen för att skicka in varumärkesverifiering igen är inte aktiverad
- Meddelande: Det går inte att skicka in varumärkesverifieringen igen
-
CANNOT_ARCHIVE_PRIMARY_BRAND- Utlösare: Arkivering av det primära varumärket, vars varumärkes-ID är företags-ID:t
- Meddelande: Det primära varumärket kan inte arkiveras
-
FILE_IN_USE- Utlösare: Radering av en digital produktfil som fortfarande refereras av aktiva behörighetsbeviljanden
- Meddelande: Den digitala filen refereras av aktiva beviljanden
-
INVALID_BRAND_ARCHIVE_TARGET- Utlösare:
move_products_toanger varumärket som arkiveras, ett arkiverat varumärke eller ett varumärke som tillhör ett annat företag - Meddelande: move_products_to måste vara ett varumärke för detta företag som inte är arkiverat
- Utlösare:
-
INVALID_SUGGESTED_PRICE- Utlösare: PWYW-pris < lägsta tillåtna pris
- Meddelande: Suggested Price kan inte vara lägre än minimum price. Vid pay what you want betraktas priset som det lägsta accepterade beloppet
-
LOCALIZED_PRICE_ALREADY_EXISTS- Utlösare: Ett lokaliserat pris finns redan för denna produkt och detta land/denna valuta
- Meddelande: Ett lokaliserat pris för denna produkt och detta land/denna valuta finns redan
-
LOCALIZED_PRICE_DUPLICATES_BASE- Utlösare: Det lokaliserade priset duplicerar produktens basvaluta eller basland
- Meddelande: Det lokaliserade priset duplicerar produktens basvaluta eller basland
-
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: Produkten finns, men annan obligatorisk information saknas eller är ogiltig
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Utlösare: Pris saknas för PWYW-produkt
- Meddelande: Belopp krävs för en pay as you want-produkt
-
PRODUCT_CART_EMTPY- Utlösare: En tom produktvarukorg skickades in
- Meddelande: product_cart är tom (felkoden stavas avsiktligt
EMTPYför att matcha exakt det värde som API:et returnerar)
-
PRODUCT_COLLECTION_IS_DELETED- Utlösare: Åtgärd på en produktsamling som har raderats
- Meddelande: Inget meddelande
-
PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS- Utlösare: Borttagning av den sista produkten (eller den sista gruppen med produkter) från en samling
- Meddelande: Det går inte att ta bort den sista produkten i en samling. Arkivera samlingen i stället.
-
PRODUCT_IS_DELETED- Utlösare: Produkten har mjuktagits bort
- Meddelande: Inga meddelanden
-
PRODUCT_PRICING_MODE_REQUIRED- Utlösare: Lokala priser läggs till innan produktens
pricing_modehar angetts - Meddelande: Produktens pricing_mode måste anges innan lokala priser läggs till
- Utlösare: Lokala priser läggs till innan produktens
-
SLUG_ALREADY_TAKEN- Utlösare: Den begärda produktslugen/korta URL:en används redan
- Meddelande: Sluggen används redan
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Utlösare: Försök att uppdatera det primära varumärket via vanligt API
- Meddelande: Det primära varumärket kan inte uppdateras via denna API-endpoint.
Discounts
-
DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION- Utlösare: En rabatt tillämpas igen efter att redan ha använts på denna prenumeration
- Meddelande: Denna rabatt har redan använts på denna prenumeration
-
DISCOUNT_CODE_ALREADY_EXISTS- Utlösare: Skapande av en dubblett av en rabattkod
- Meddelande: Rabattkoden finns redan
-
DISCOUNT_CODE_EXPIRED- Utlösare: Rabattkoden har passerat sitt
expires_at-datum - Meddelande: Rabattkoden har löpt ut
- Utlösare: Rabattkoden har passerat sitt
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Utlösare: Rabatten används igen efter att
usage_limithar uppnåtts - Meddelande: Användningsgränsen kan inte vara lägre än times_used / Rabattkoden har nått användningsgränsen
- Anteckning: Slutgiltigt — koden är förbrukad. Försök inte igen.
- Utlösare: Rabatten används igen efter att
-
DISCOUNT_CONCURRENT_REDEMPTION- Utlösare: En annan inlösen av samma kod höll låsningen för raden med användningsgränsen för länge
- Meddelande: Rabattkoden löses in samtidigt; försök igen
- Anteckning: Tillfälligt. Koden kan fortfarande ha kapacitet, så begäran kan tryggt göras om. Visa inte detta för kunden som “koden är förbrukad”.
-
DISCOUNT_CURRENCY_OPTION_INVALID- Utlösare: Ogiltig
currency_optionsvid skapande eller uppdatering - Meddelande: En fast rabatt kräver minst ett valutaalternativ med ett upplösningsbart standardvärde / Dubbletter av valutaalternativ tillåts inte / Endast ett valutaalternativ får markeras som standard
- Utlösare: Ogiltig
-
DISCOUNT_CUSTOMER_NOT_ELIGIBLE- Utlösare: Kunden uppfyller inte kodens
customer_eligibility(first_time,existingeller finns inte på enspecific-kods allow-list) - Meddelande: Kunden är inte berättigad till denna rabattkod
- Utlösare: Kunden uppfyller inte kodens
-
DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET- Utlösare: Varukorgens delsumma understiger
minimum_subtotalsom konfigurerats för checkout-valutan - Meddelande: Varukorgens delsumma understiger rabattens obligatoriska minsta delsumma
- Utlösare: Varukorgens delsumma understiger
-
DISCOUNT_NOT_YET_ACTIVE- Utlösare: Koden används före dess
starts_at-datum - Meddelande: Rabattkoden är ännu inte aktiv (starts_at ligger i framtiden)
- Utlösare: Koden används före dess
-
DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED- Utlösare: Kunden har redan löst in koden
per_customer_usage_limitgånger - Meddelande: Användningsgränsen per kund har överskridits för denna rabattkod
- Utlösare: Kunden har redan löst in koden
-
DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT- Utlösare: Planändring till en produkt som den befintliga rabatten inte gäller för
- Meddelande: Rabatten gäller inte för den nya planens produkt
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Utlösare: Koden tillämpas på en on-demand-prenumeration
- Meddelande: Rabattkupongen är inte tillgänglig för on demand-prenumerationer
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Utlösare: Koden tillämpas på orelaterade produkter
- Meddelande: Rabattkupongen är inte tillgänglig för denna produkt
-
INVALID_DISCOUNT_CODE- Utlösare: Koden finns inte eller gäller inte
- Meddelande: Ogiltig rabattkod / Rabattkoden kan inte tillämpas på någon produkt i varukorgen
-
INVALID_PERCENTAGE- Utlösare: Procentbelopp > 100 % (eller 10 000 baspunkter)
- Meddelande: Procentbeloppet kan inte vara större än 10000 / Rabattkodens belopp kan inte vara större än 100 %
-
UNSUPPORTED_DISCOUNT_TYPE- Utlösare: En rabattstyp som inte stöds.
percentageochflatstöds båda; rabatter med belopp per enhet stöds inte. - Meddelande: Endast procentuella rabattkoder och rabattkoder med fast belopp stöds
- Utlösare: En rabattstyp som inte stöds.
License Keys
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Utlösare: Licensnyckelaktiveringar: ny gräns < befintligt antal instanser
- Meddelande: Den nya aktiveringsgränsen kan inte vara lägre än det aktuella antalet instanser
-
INACTIVE_LICENSE_KEY- Utlösare: Nyckelstatus ≠
active - Meddelande: Licensnyckeln är inte aktiv
- Utlösare: Nyckelstatus ≠
-
LICENSE_KEY_LIMIT_REACHED- Utlösare: Aktiveringar = gräns
- Meddelande: Licensnyckelns aktiveringsgräns har nåtts
-
LICENSE_KEY_NOT_FOUND- Utlösare: Instans-ID eller nyckel-ID är ogiltigt
- Meddelande: Licensnyckelinstansen hittades inte eller tillhör inte denna licensnyckel
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Utlösare: Försök att ange utgångsdatum för en prenumerationsbaserad nyckel
- Meddelande: Det går inte att ange ett utgångsdatum för en prenumerationsbaserad licensnyckel
Usage-Based Billing & Meters
-
DUPLICATE_METER_IDS_IN_REQUEST- Utlösare: Samma meter-ID förekommer flera gånger i begäran
- Meddelande: Dubbletter av Meter-ID:n tillåts inte
-
INVALID_QUANTITY- Utlösare: Ogiltig kvantitet har angetts för användningsbaserad prissättning
- Meddelande: Endast kvantiteten 1 tillåts i produkter med usage based price
-
METER_IS_DELETED- Utlösare: Försök att använda en raderad meter
- Meddelande: Mätaren har redan raderats
-
MISSING_METER_IDS- Utlösare: Listan med meter-ID:n är tom eller innehåller ogiltiga ID:n
- Meddelande: Ett eller flera meter-ID:n finns inte:
Credit-Based Billing
-
CREDIT_ENTITLEMENT_IS_DELETED- Utlösare: Åtgärd på en kreditberättighet som har raderats
- Meddelande: Kreditberättigheten har redan raderats
-
CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS- Utlösare: Skapande av en kreditberättighet med ett namn som redan finns
- Meddelande: En kreditberättighet med detta namn finns redan
-
OVERAGE_LIMIT_EXCEEDED- Utlösare: En användning eller ett kreditavdrag skulle överskrida den konfigurerade övertrasseringsgränsen
- Meddelande: Övertrasseringsgränsen har överskridits
Wallet
-
INSUFFICIENT_WALLET_FUNDS- Utlösare: Plånbokssaldo < debiteringsbelopp
- Meddelande: Otillräckliga medel i plånboken
-
NEGATIVE_BALANCE_ADJUSTMENT- Utlösare: Försök att göra plånbokssaldot negativt
- Meddelande: Plånbokssaldot får inte bli negativt
Currency, Tax & Region
-
EXCHANGE_RATE_NOT_FOUND- Utlösare: Ingen FX-kurs för
from → to-valutapar - Meddelande: Växelkurs hittades inte för konvertering från valuta till valuta
- Utlösare: Ingen FX-kurs för
-
INVALID_TAX_ID- Utlösare: VAT/GST/TIN kunde inte valideras
- Meddelande: Tax Id är ogiltigt
-
REQUEST_AMOUNT_BELOW_MINIMUM- Utlösare: Belopp < produktens minimum
- Meddelande: Beloppet kan inte vara lägre än det minsta belopp som angetts för produkten
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Utlösare: Den sammanlagda varukorgssumman < gateway-minimum
- Meddelande: Ett minimibelopp på krävs för att behandla betalningen
-
UNSUPPORTED_BILLING_CURRENCY- Utlösare: Den begärda faktureringsvalutan stöds inte för denna prenumeration
- Meddelande: Faktureringsvaluta som inte är USD stöds inte för prenumerationer
-
UNSUPPORTED_COUNTRY- Utlösare: Geografiskt område stöds ännu inte
- Meddelande: Landet stöds för närvarande inte
-
UNSUPPORTED_CURRENCY- Utlösare: Produktens eller tilläggets valuta är inte en valuta som Dodo Payments kan debitera i. Baspriser kan anges i valfri debiteringsbar valuta, så detta innebär vanligtvis att valutakoden är ogiltig eller ännu inte stöds.
- Meddelande: Valutan stöds för närvarande inte / För närvarande stöds endast USD- och INR-produkter / Endast USD och INR stöds för tilläggspris / Du kan endast begära USD eller INR för billing_currency / Valutan stöds inte / Oväntad valuta för indiska kortprenumerationer
-
UNSUPPORTED_TAX_CATEGORY- Utlösare: Skattekategoristrängen finns inte i enum
- Meddelande: Kategorin stöds för närvarande inte
Validation & Requests
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Utlösare: Samma
item_idförekommer två gånger iitems[] - Meddelande: Dubbletter av item_ids har angetts i items-arrayen
- Utlösare: Samma
-
INVALID_QUERY_PARAMS- Utlösare: Ömsesidigt uteslutande eller felaktigt utformade frågeparametrar
- Meddelande: Query-parametrar får endast innehålla antingen time_frame eller (start, end)
-
INVALID_REQUEST_BODY- Utlösare: Felaktig JSON eller schemaöverträdelse
- Meddelande: Begärans body är ogiltig. Kontrollera begärans headers och objekt.
-
INVALID_REQUEST_PARAMETERS- Utlösare: Semantiken är felaktig (t.ex. datum i det förflutna)
- Meddelande: Det går inte att ändra next_billing_date till en tidpunkt i det förflutna
-
MAXIMUM_KEYS_REACHED- Utlösare: Metadata/custom-fields överskred 50 par
- Meddelande: Överskrider 50 nyckel-värdepar
General & System
-
INTEGER_CONVERSION_FAILURE- Utlösare: Konvertering mellan heltal och sträng/desimaltal som misslyckas på serversidan
- Meddelande: Konvertering av heltal misslyckades
-
INTERNAL_SERVER_ERROR- Utlösare: Oinfångade undantag; du bör logga detaljer på serversidan
- Meddelande: Inget offentligt meddelande (generisk 500)
-
NOT_FOUND- Utlösare: Generisk 404 för en resurs som saknas
- Meddelande: Objektet hittades inte (eller mer specifikt)
-
TOO_MANY_REQUESTS- Utlösare: 429 rate-limit
- Meddelande: Inga meddelanden
-
UNSUPPORTED_ACTION- Utlösare: Åtgärden stöds inte för resurstypen
- Meddelande: Det går inte att ändra planer för usage based-prenumerationer
Best Practices
- 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