Visão Geral
A API de Pagamentos Dodo utiliza códigos de status HTTP padrão e códigos de erro personalizados para indicar o sucesso ou a falha das solicitações da API. Quando um erro ocorre, a API retorna um código de status HTTP apropriado e uma resposta JSON contendo informações detalhadas sobre o erro. Cada resposta de erro inclui:- Um código de status HTTP indicando a categoria geral do erro
- Um código de erro específico que identifica a natureza exata do erro
- Uma mensagem de erro legível por humanos explicando o que deu errado
- Detalhes adicionais sobre o erro quando aplicável
- Depurar problemas de integração
- Implementar um tratamento de erro adequado em sua aplicação
- Fornecer feedback significativo aos usuários finais
- Manter um sistema de processamento de pagamentos robusto
Estes são erros de API e lógica de negócios. Para motivos de recusa de cartão retornados em um pagamento falho (como
INSUFFICIENT_FUNDS ou CARD_DECLINED), veja a referência de Falhas de Transação em vez disso.Códigos de Erro da API Padrão
Formato da Resposta de Erro
Quando um erro ocorre, a API retorna uma resposta JSON com a seguinte estrutura:Referência de Códigos de Erro
Os códigos de erro abaixo são agrupados pela área da API à qual se referem. Cada entrada lista a condição que o aciona e a mensagem que a API retorna.Autenticação & Conta
-
UNAUTHORIZED- Trigger: Sem chave de API ou token/escopo inválido
- Message: Você não está autorizado a realizar esta ação
-
MERCHANT_NOT_LIVE- Gatilho: A empresa ainda está no Modo de Teste
- Mensagem: O comerciante não está ativo
-
BUSINESS_ARCHIVED- Gatilho: Qualquer solicitação voltada ao cliente (checkout, link de pagamento, storefront, Customer Portal ou chave de licença) para uma empresa que foi arquivada
- Mensagem: Esta empresa está arquivada e não aceita mais solicitações
Pagamentos e Checkout
-
CHECKOUT_SESSION_CONSUMED- Gatilho: A sessão de Checkout já gerou um pagamento
- Mensagem: A sessão de Checkout já foi consumida
-
NO_ELIGIBLE_PAYMENT_METHODS- Gatilho: Após a filtragem, não restou nada
- Mensagem: Nenhum método de pagamento elegível encontrado
-
PAYMENT_NOT_SUCCEEDED- Gatilho: Tentativa de reembolsar/processar um pagamento malsucedido
- Mensagem: O pagamento fornecido não foi bem-sucedido
-
PREVIOUS_PAYMENT_PENDING- Gatilho: Tentativa de criar uma cobrança enquanto a anterior está em um estado não terminal
- Mensagem: Não é possível criar uma nova cobrança porque o pagamento anterior ainda não foi bem-sucedido
-
UNSUCCESSFUL_PAYMENT_ID- Gatilho: O ID do pagamento referencia um pagamento malsucedido
- Mensagem: O ID do pagamento tem um status malsucedido.
Conectores e BYOP
Estes erros estão relacionados aos conectores de pagamento pertencentes ao merchant (Bring Your Own Processor).-
BYOP_CONNECTOR_DISABLED- Gatilho: Atualização de um método de pagamento em uma assinatura direcionada por um conector BYOP desativado
- Mensagem: A assinatura é direcionada pelo conector próprio do merchant (BYOP), que está desativado no momento
-
BYOP_CUSTOM_INVOICE_ADDRESS_MISSING- Gatilho: Um pagamento direcionado pelo merchant (BYOP) não contém o endereço de invoice personalizado obrigatório
- Mensagem: O endereço de invoice personalizado BYOP é obrigatório quando um pagamento é direcionado pelo conector do merchant
-
CONNECTOR_LABEL_ALREADY_EXISTS- Gatilho: Criação de um conector com um rótulo que já existe
- Mensagem: Já existe um conector com este rótulo. Escolha um rótulo diferente.
Reembolsos
-
EXISTING_REFUND_REQUEST_PROCESSING- Gatilho: A solicitação de reembolso anterior ainda está sendo processada
- Mensagem: Uma solicitação de reembolso com status “Pending” ainda está sendo processada
-
LINE_ITEM_FULLY_REFUNDED- Gatilho: Tentativa de reembolsar um item de linha já totalmente reembolsado
- Mensagem: O item de linha foi totalmente reembolsado e não pode receber mais reembolsos.
-
LINE_ITEM_NOT_FOUND- Gatilho: O ID do item não faz parte do pagamento referenciado
- Mensagem: Item de linha não encontrado no pagamento
-
LINE_ITEM_PRORATED- Gatilho: Tentativa de reembolso ou atualização em uma linha rateada
- Mensagem: O item de linha não pode ser reembolsado porque é rateado
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Gatilho: Valor do reembolso > valor pago (incluindo impostos)
- Mensagem: O valor de reembolso solicitado para o item de linha , incluindo impostos, é , acima do valor pago de
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Gatilho: Valor do reembolso abaixo do limite mínimo
- Mensagem: O valor de reembolso solicitado para o item de linha é , que é muito baixo
-
NOTHING_TO_REFUND- Gatilho: Não resta nenhum valor reembolsável; todos os itens de linha positivos já foram totalmente reembolsados
- Mensagem: Não resta nenhum valor reembolsável. Todos os itens de linha positivos foram totalmente reembolsados.
-
PARTIAL_REFUND_NOT_ALLOWED- Gatilho: Tentativa de reembolso parcial em um método de pagamento que aceita apenas reembolsos integrais
- Mensagem: Reembolsos parciais não são permitidos para este método de pagamento
-
PAYMENT_ALREADY_REFUNDED- Gatilho: Reembolso duplicado
- Mensagem: Este pagamento já foi reembolsado
-
PAYMENT_HAS_BEEN_REFUNDED- Gatilho: O pagamento foi totalmente reembolsado
- Mensagem: O ID do pagamento foi totalmente reembolsado.
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Gatilho: Valor agregado do reembolso > valor pago
- Mensagem: O valor calculado do reembolso é maior que o valor pago
-
REFUND_WINDOW_EXPIRED- Gatilho: Fora do prazo permitido para reembolso
- Mensagem: Os reembolsos não podem ser iniciados dias após a criação do pagamento. Entre em contato com support@dodopayments.com.
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Gatilho: Tentativa de reembolsar um pagamento de valor zero
- Mensagem: Não é possível reembolsar um pagamento com valor monetário zero
Assinaturas e Add-ons
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Gatilho: Tentativa de adicionar add-ons a assinaturas com cobrança baseada em uso
- Mensagem: Add-ons em Subscriptions não são compatíveis com Usage Based Billing
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Gatilho: Tentativa de adicionar add-ons a assinaturas on-demand
- Mensagem: Add-ons não são permitidos para assinaturas on demand
-
CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Gatilho: O Customer Portal tenta cancelar uma alteração de plano agendada enquanto a empresa desativou essa ação
- Mensagem: O cancelamento da alteração de plano agendada está desativado no Customer Portal.
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Gatilho: Tentativa de cobrar uma assinatura agendada para cancelamento
- Mensagem: Assinatura agendada para cancelamento
-
CUSTOMER_HAS_EXISTING_SUBSCRIPTION- Gatilho: Criação de uma assinatura para um cliente que já possui uma, quando não são permitidas várias assinaturas por cliente
- Mensagem: O cliente já possui uma assinatura. Para permitir várias assinaturas por cliente, altere as configurações da empresa
-
DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL- Gatilho: O modo de proration
do_not_billfoi usado em uma alteração de plano no Customer Portal - Mensagem: O modo de proration do_not_bill não é permitido no Customer Portal
- Gatilho: O modo de proration
-
DUPLICATE_ADDON_IDS_IN_REQUEST- Gatilho: O mesmo
addon_idaparece mais de uma vez na solicitação - Mensagem: IDs de add-ons duplicados não são permitidos
- Gatilho: O mesmo
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Gatilho: Alteração de plano em uma assinatura inativa
- Mensagem: Não é possível alterar planos de assinaturas inativas
-
INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE- Gatilho: Um modo de proration diferente de
full_immediatelyfoi usado comeffective_at: next_billing_date - Mensagem: Somente o modo de proration full_immediately é permitido com effective_at: next_billing_date
- Gatilho: Um modo de proration diferente de
-
MISSING_ADDON_IDS- Gatilho: A lista de
addon_idestá vazia ou contém IDs desconhecidos - Mensagem: Um ou mais IDs de produto não existem:
- Gatilho: A lista de
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Gatilho: A troca de plano não é permitida para on-demand
- Mensagem: Não é possível alterar planos de assinaturas on demand
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Gatilho: Tentativa de usar on-demand com cobrança baseada em uso
- Mensagem: Assinaturas On Demand não são compatíveis com Usage Based Billing
-
ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND- Gatilho: Produto único adicionado a uma assinatura on-demand
- Mensagem: Produtos únicos não são permitidos para assinaturas on demand
-
PENDING_PLAN_CHANGE_EXISTS- Gatilho: Nova alteração de plano solicitada enquanto uma alteração anterior ainda aguarda pagamento
- Mensagem: Já existe uma alteração de plano pendente para esta assinatura. Aguarde a conclusão do pagamento atual.
-
PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Gatilho: Alteração de plano pelo Customer Portal enquanto a empresa a desativou
- Mensagem: A alteração de plano da assinatura pelo Customer Portal está desativada.
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Gatilho: Tentativa de alterar o plano de uma assinatura agendada para cancelamento
- Mensagem: Assinatura agendada para cancelamento
-
SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Gatilho: Agendamento de uma alteração de plano pelo Customer Portal enquanto a empresa a desativou
- Mensagem: O agendamento de alterações de plano está desativado para esta empresa.
-
SCHEDULED_PLAN_CHANGE_EXISTS- Gatilho: Criação de uma alteração de plano agendada quando já existe uma
- Mensagem: Já existe uma alteração de plano agendada para esta assinatura. Cancele a alteração agendada existente antes de criar uma nova.
-
SCHEDULED_PLAN_CHANGE_NOT_FOUND- Gatilho: Referência ou cancelamento de uma alteração de plano agendada que não existe
- Mensagem: Nenhuma alteração de plano agendada encontrada para esta assinatura.
-
SUBSCRIPTION_EXPIRED- Gatilho: Cobrança após
expires_at - Mensagem: A assinatura expirou; não é possível criar novas cobranças
- Gatilho: Cobrança após
-
SUBSCRIPTION_INACTIVE- Gatilho: Status ≠
active - Mensagem: A assinatura não está ativa
- Gatilho: Status ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Gatilho: Esperava-se on-demand, mas foi recebido um intervalo fixo
- Mensagem: A assinatura já não é on demand
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Gatilho: As tentativas de pagamento da assinatura excederam o número máximo de tentativas
- Mensagem: O limite máximo de 10 tentativas foi excedido para esta assinatura
Produtos, Carrinho e Marcas
-
BRAND_ALREADY_ARCHIVED- Gatilho: Arquivamento de uma marca que já está arquivada
- Mensagem: A marca já está arquivada
-
BRAND_ARCHIVED- Gatilho: Atualização de uma marca arquivada, envio dela para verificação ou associação de um novo produto, coleção de produtos ou assinatura a ela
- Mensagem: A marca está arquivada e não pode ser atualizada
-
BRAND_ARCHIVE_TARGET_REQUIRED- Gatilho: Arquivamento de uma marca que ainda contém produtos, assinaturas ativas ou coleções de produtos sem um destino
move_products_to - Mensagem: A marca tem 12 produto(s). Defina move_products_to como uma marca de destino para associá-los novamente.
- Gatilho: Arquivamento de uma marca que ainda contém produtos, assinaturas ativas ou coleções de produtos sem um destino
-
BRAND_MISMATCH- Gatilho: Os itens do carrinho pertencem a marcas diferentes
- Mensagem: Todos os itens do carrinho de produtos devem pertencer à mesma marca
-
BRAND_NOT_ENABLED- Gatilho: A marca está desativada ou não está ativa
- Mensagem: A marca fornecida não está habilitada
-
BRAND_SUBMISSION_NOT_ENABLED- Gatilho: O recurso de reenvio da verificação da marca não está habilitado
- Mensagem: O reenvio da verificação da marca não está habilitado
-
CANNOT_ARCHIVE_PRIMARY_BRAND- Gatilho: Arquivamento da marca principal, cujo ID de marca é o ID da empresa
- Mensagem: A marca principal não pode ser arquivada
-
FILE_IN_USE- Gatilho: Exclusão de um arquivo de produto digital ainda referenciado por concessões de acesso ativas
- Mensagem: O arquivo digital é referenciado por concessões ativas
-
INVALID_BRAND_ARCHIVE_TARGET- Gatilho:
move_products_toidentifica a marca que está sendo arquivada, uma marca arquivada ou uma marca de outra empresa - Mensagem: move_products_to deve ser uma marca desta empresa que não esteja arquivada
- Gatilho:
-
INVALID_SUGGESTED_PRICE- Gatilho: Preço PWYW < preço mínimo permitido
- Mensagem: O preço sugerido não pode ser inferior ao preço mínimo. No caso de pay what you want, o preço é considerado o valor mínimo aceito
-
LOCALIZED_PRICE_ALREADY_EXISTS- Gatilho: Já existe um preço localizado para este produto e país/moeda
- Mensagem: Já existe um preço localizado para este produto e país/moeda
-
LOCALIZED_PRICE_DUPLICATES_BASE- Gatilho: O preço localizado duplica a moeda/país base do produto
- Mensagem: O preço localizado duplica a moeda/país base do produto
-
LOCALIZED_PRICE_SHAPE_MISMATCH- Gatilho: O formato do preço localizado não corresponde ao
pricing_modedo produto - Mensagem: O formato do preço localizado não corresponde ao pricing_mode do produto
- Gatilho: O formato do preço localizado não corresponde ao
-
MISSING_PRODUCT_INFORMATION- Gatilho: O produto existe, mas faltam informações obrigatórias
- Mensagem: O produto existe, mas outras informações obrigatórias estão ausentes ou são inválidas
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Gatilho: Preço ausente para produto PWYW
- Mensagem: O valor é obrigatório para um produto pay as you want
-
PRODUCT_CART_EMTPY- Gatilho: Carrinho de produtos vazio enviado
- Mensagem: product_cart está vazio (o código do erro é intencionalmente escrito como
EMTPYpara corresponder ao valor exato retornado pela API)
-
PRODUCT_COLLECTION_IS_DELETED- Gatilho: Operação em uma coleção de produtos que foi excluída
- Mensagem: Nenhuma mensagem
-
PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS- Gatilho: Remoção do último produto (ou último grupo com produtos) de uma coleção
- Mensagem: Não é possível excluir o último produto de uma coleção. Arquive a coleção.
-
PRODUCT_IS_DELETED- Gatilho: Produto excluído logicamente
- Mensagem: Nenhuma mensagem
-
PRODUCT_PRICING_MODE_REQUIRED- Gatilho: Adição de preços localizados antes que o
pricing_modedo produto seja definido - Mensagem: O pricing_mode do produto deve ser definido antes da adição de preços localizados
- Gatilho: Adição de preços localizados antes que o
-
SLUG_ALREADY_TAKEN- Gatilho: O slug / URL curta do produto solicitado já está em uso
- Mensagem: O slug já está em uso
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Gatilho: Tentativa de atualizar a marca principal pela API regular
- Mensagem: A marca principal não pode ser atualizada por este endpoint da API.
Descontos
-
DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION- Gatilho: Reaplicação de um desconto que já foi usado nesta assinatura
- Mensagem: Este desconto já foi usado nesta assinatura
-
DISCOUNT_CODE_ALREADY_EXISTS- Gatilho: Criação de código de desconto duplicado
- Mensagem: O código de desconto já existe
-
DISCOUNT_CODE_EXPIRED- Gatilho: Código de desconto após a data
expires_at - Mensagem: O código de desconto expirou
- Gatilho: Código de desconto após a data
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Gatilho: Desconto reutilizado após atingir
usage_limit - Mensagem: O limite de uso não pode ser menor que times_used / O código de desconto atingiu o limite de uso
- Nota: Terminal — o código foi esgotado. Não tente novamente.
- Gatilho: Desconto reutilizado após atingir
-
DISCOUNT_CONCURRENT_REDEMPTION- Gatilho: Outro resgate do mesmo código manteve o bloqueio da linha do limite de uso por tempo demais
- Mensagem: O desconto está sendo resgatado simultaneamente; tente novamente
- Nota: Transitório. O código ainda pode ter capacidade, portanto é seguro tentar novamente. Não exiba isso ao cliente como “código esgotado”.
-
DISCOUNT_CURRENCY_OPTION_INVALID- Gatilho:
currency_optionsinválido na criação ou atualização - Mensagem: Um desconto fixo exige pelo menos uma opção de moeda com padrão resolvível / Não são permitidas opções de moeda duplicadas / Apenas uma opção de moeda pode ser marcada como padrão
- Gatilho:
-
DISCOUNT_CUSTOMER_NOT_ELIGIBLE- Gatilho: O cliente não atende ao
customer_eligibilitydo código (first_time,existingou não está na lista de permissões do códigospecific) - Mensagem: O cliente não é elegível para este código de desconto
- Gatilho: O cliente não atende ao
-
DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET- Gatilho: O subtotal do carrinho está abaixo do
minimum_subtotalconfigurado para a moeda do Checkout - Mensagem: O subtotal do carrinho está abaixo do subtotal mínimo exigido pelo desconto
- Gatilho: O subtotal do carrinho está abaixo do
-
DISCOUNT_NOT_YET_ACTIVE- Gatilho: Código usado antes da data
starts_at - Mensagem: O código de desconto ainda não está ativo (starts_at está no futuro)
- Gatilho: Código usado antes da data
-
DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED- Gatilho: O cliente já resgatou o código
per_customer_usage_limitvezes - Mensagem: O limite de uso por cliente foi excedido para este código de desconto
- Gatilho: O cliente já resgatou o código
-
DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT- Gatilho: Alteração de plano para um produto ao qual o desconto existente não se aplica
- Mensagem: O desconto não se aplica ao produto do novo plano
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Gatilho: Código aplicado a uma assinatura on-demand
- Mensagem: O cupom de desconto não está disponível para assinaturas on demand
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Gatilho: Código aplicado a produto(s) não relacionados
- Mensagem: O cupom de desconto não está disponível para este produto
-
INVALID_DISCOUNT_CODE- Gatilho: O código não existe/não é aplicável
- Mensagem: Código de desconto inválido / O código de desconto não pode ser aplicado a nenhum produto do carrinho
-
INVALID_PERCENTAGE- Gatilho: Percentual > 100% (ou 10.000 pontos-base)
- Mensagem: O percentual não pode ser superior a 10000 / O valor do código de desconto não pode ser superior a 100%
-
UNSUPPORTED_DISCOUNT_TYPE- Gatilho: Um tipo de desconto que não é compatível.
percentageeflatsão compatíveis; descontos de valor por unidade não são. - Mensagem: Apenas códigos de desconto percentuais e fixos são compatíveis
- Gatilho: Um tipo de desconto que não é compatível.
Chaves de licença
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Gatilho: Ativações de chave de licença: novo limite < contagem de instâncias existentes
- Mensagem: O novo limite de ativação não pode ser menor que a contagem atual de instâncias
-
INACTIVE_LICENSE_KEY- Gatilho: Status da chave ≠
active - Mensagem: A chave de licença não está ativa
- Gatilho: Status da chave ≠
-
LICENSE_KEY_LIMIT_REACHED- Gatilho: Ativações = limite
- Mensagem: O limite de ativação da chave de licença foi atingido
-
LICENSE_KEY_NOT_FOUND- Gatilho: ID da instância ou ID da chave inválido
- Mensagem: A instância da chave de licença não foi encontrada ou não pertence a esta chave de licença
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Gatilho: Tentativa de definir expiração em uma chave baseada em assinatura
- Mensagem: Não é possível definir a data de expiração para uma chave de licença baseada em assinatura
Cobrança baseada em uso e medidores
-
DUPLICATE_METER_IDS_IN_REQUEST- Gatilho: O mesmo ID de medidor aparece várias vezes na solicitação
- Mensagem: IDs de medidor duplicados não são permitidos
-
INVALID_QUANTITY- Gatilho: Quantidade inválida especificada para preços baseados em uso
- Mensagem: Apenas uma quantidade é permitida em produtos com preço baseado em uso
-
METER_IS_DELETED- Gatilho: Tentativa de usar um medidor excluído
- Mensagem: O medidor já foi excluído
-
MISSING_METER_IDS- Gatilho: A lista de IDs de medidores está vazia ou contém IDs inválidos
- Mensagem: Um ou mais IDs de medidores não existem:
Cobrança baseada em créditos
-
CREDIT_ENTITLEMENT_IS_DELETED- Gatilho: Operação em uma concessão de crédito que foi excluída
- Mensagem: A concessão de crédito já foi excluída
-
CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS- Gatilho: Criação de uma concessão de crédito com um nome que já existe
- Mensagem: Já existe uma concessão de crédito com este nome
-
OVERAGE_LIMIT_EXCEEDED- Gatilho: Uma dedução de uso ou crédito excederia o limite de excedente configurado
- Mensagem: Limite de excedente excedido
Carteira
-
INSUFFICIENT_WALLET_FUNDS- Gatilho: Saldo da carteira < valor do débito
- Mensagem: Fundos insuficientes na carteira
-
NEGATIVE_BALANCE_ADJUSTMENT- Gatilho: Tentativa de tornar negativo o saldo da carteira
- Mensagem: Não é permitido tornar negativo o saldo da carteira
Moeda, impostos e região
-
EXCHANGE_RATE_NOT_FOUND- Gatilho: Nenhuma taxa de câmbio para o par de moedas
from → to - Mensagem: Taxa de câmbio não encontrada para converter de Currency para Currency
- Gatilho: Nenhuma taxa de câmbio para o par de moedas
-
INVALID_TAX_ID- Gatilho: VAT/GST/TIN falhou na validação
- Mensagem: O ID fiscal é inválido
-
REQUEST_AMOUNT_BELOW_MINIMUM- Gatilho: Valor < mínimo do produto
- Mensagem: O valor não pode ser inferior ao valor mínimo especificado para o produto
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Gatilho: Total combinado do carrinho < mínimo do gateway
- Mensagem: É necessário um valor mínimo de para processar o pagamento
-
UNSUPPORTED_BILLING_CURRENCY- Gatilho: A moeda de cobrança solicitada não é compatível com esta assinatura
- Mensagem: Moeda de cobrança diferente de USD não é compatível com assinaturas
-
UNSUPPORTED_COUNTRY- Gatilho: A região geográfica ainda não é compatível
- Mensagem: O país não é compatível no momento
-
UNSUPPORTED_CURRENCY- Gatilho: A moeda do produto ou add-on não é uma moeda na qual Dodo Payments pode cobrar. Os preços base podem ser definidos em qualquer moeda cobrável; portanto, isso geralmente significa que o código da moeda é inválido ou ainda não é compatível.
- Mensagem: A moeda não é compatível no momento / Atualmente, apenas produtos em USD e INR são compatíveis / Apenas USD e INR são compatíveis com o preço de add-on / Só é possível solicitar USD ou INR para billing_currency / Moeda não compatível / Moeda inesperada para assinaturas com cartão indiano
-
UNSUPPORTED_TAX_CATEGORY- Gatilho: A string da categoria fiscal não está no enum
- Mensagem: A categoria não é compatível no momento
Validação e solicitações
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Gatilho: O mesmo
item_idaparece duas vezes emitems[] - Mensagem: item_ids duplicados especificados na matriz items
- Gatilho: O mesmo
-
INVALID_QUERY_PARAMS- Gatilho: Parâmetros de consulta mutuamente exclusivos/malformados
- Mensagem: Os parâmetros de consulta devem conter apenas time_frame ou (start, end)
-
INVALID_REQUEST_BODY- Gatilho: JSON malformado ou violação do schema
- Mensagem: O corpo da sua solicitação é inválido. Verifique os headers da solicitação e o objeto.
-
INVALID_REQUEST_PARAMETERS- Gatilho: Semântica incorreta (por exemplo, data no passado)
- Mensagem: Não é possível alterar next_billing_date para um horário no passado
-
MAXIMUM_KEYS_REACHED- Gatilho: Metadata/custom-fields excedeu 50 pares
- Mensagem: Mais de 50 pares de chave-valor
Geral e sistema
-
INTEGER_CONVERSION_FAILURE- Gatilho: Qualquer conversão de inteiro ↔ string/decimal que falhe no servidor
- Mensagem: Falha na conversão de inteiro
-
INTERNAL_SERVER_ERROR- Gatilho: Exceções não capturadas; os detalhes devem ser registrados no servidor
- Mensagem: Nenhuma mensagem pública (500 genérico)
-
NOT_FOUND- Gatilho: 404 genérico para qualquer recurso ausente
- Mensagem: Item não encontrado (ou mais específico)
-
TOO_MANY_REQUESTS- Gatilho: Limite de requisições 429
- Mensagem: Nenhuma mensagem
-
UNSUPPORTED_ACTION- Gatilho: Ação não compatível com o tipo de recurso
- Mensagem: Não é possível alterar planos de assinaturas baseadas em uso
Práticas recomendadas
- Sempre trate os erros de forma adequada na sua aplicação
- Implemente um registro adequado de erros
- Use mensagens de erro apropriadas para os usuários finais
- Implemente uma lógica de novas tentativas para erros transitórios
- Entre em contato com o suporte para problemas não resolvidos