Erros da Plataforma

As transações podem falhar devido a diferentes circunstâncias durante o fluxo de processamento. Em seguida, apresentamos a estrutura geral de erro.

{
  "error": {
    "name": "string",
    "message": "string",
    "details": {
      "reason": "string",
      "message": "string",
      "path": "string",
      "code": "string",
      "info" : {
       	"missingProperty": "string",
        "allowedValues" : [
           "string"
      	]
    }
  }
}  

Estes campos são detalhados abaixo:

CampoTipoDescription
error.namestringUm identificador de grupo de erro, que pode ser reutilizado para vários details.reasons.
error.messagestringUma descrição textual para o erro do grupo.
details.reasonstringO identificador de baixo nível, que pode ser usado para mapear erros para os usuários finais, caso os integradores desejem fornecer uma explicação de nível inferior sobre um erro ocorrido.
details.messagestringUma descrição textual de baixo nível, tipicamente usada para auxiliar os integradores quando o details.reason não é autoexplicativo.
details.pathstringO path do serviço que causou o erro. Especialmente útil para invocações de serviço incorretas.
details.codestringUm código para ajudar a entender erros relacionados a invocações de serviços.
details.info.missingPropertystringEspecifica uma propriedade que estava faltando na inovacação de um serviço.
details.info.allowedValuesstringEspecifica o conjunto de valores que podem ser usados para um campo específico (e não foi respeitado).

Exemplos de Erros

Exemplo #1: Erro de Autenticação

{
  "statusCode": "Error",
  "error": {
    "name": "AuthenticationError",
    "message": "The authorization token is invalid",
    "details": {
      "reason": "AuthenticationTokenInvalid"
    }
  }
}

Exemplo #2: Falta de parâmetro obrigatório

{
  "statusCode": "Error",
  "error": {
    "name": "InvalidRequestFormatError",
    "message": "The request body is invalid. See error object `details` property for more info",
    "details": [
      {
        "path": "/payment/payer",
        "code": "required",
        "message": "must have required property 'cpf'",
        "info": {
          "missingProperty": "cpf"
        }
      }
    ]
  }
}

Exemplo #3: Valor de parâmetro fornecido inválido

{
  "statusCode": "Error",
  "error": {
    "name": "InvalidRequestFormatError",
    "message": "The request body is invalid. See error object `details` property for more info",
    "details": [
      {
        "path": "/payment/key/type",
        "code": "enum",
        "message": "must be equal to one of the allowed values",
        "info": {
          "allowedValues": [
            "CPF",
            "EMAIL",
            "PHONE",
            "EVP"
          ]
        }
      }
    ]
  }
}

Nota: Na seção de API nós exploramos outros cenários e apresentamos exemplos de erros relacionados a cada endpoint individualmente.


Identificadores do Erros

Como mencionado anteriormente, o details.reason é o identificador de baixo nível adequado para integradores. O mesmo se aplica para os eventos de webhooks em seu campo stateErrorCause.
Aqui está o conjunto de identificadores que você deve esperar.

Erros em Transações

  • Erros gerais.
IdentificadorDescrição
BankingIntegrationErrorA transação não pôde ser transferida para o banco, tipicamente por uma instabilidade e curto-período da instituição bancária.
BankingProcessingFailA transação não pôde ser processada pelo banco, por uma restrição não identificada.
CustomerAccountInsufficientFundsA conta não tem fundos suficientes para concluir a operação.
PaymentProcessingErrorUm identificador de erro genérico que acontece no Sandbox, quando força-se um erro via API. Para detalhes, acesse os nossos Endpoints para forçar error em Sandbox, na API.
TransactionGlobalAmountAboveAllowedErro para tentativas de transações acima do limite.
TransactionDailylAmountLimitO valor da transação excede o máximo permitido para um CPF em um dia. Uma vez que o limite depende de flutuações entre os valores do USD e Real, informações adicionais são providas na mensagem.
TransactioWeeklylAmountLimitO valor da transação excede o máximo permitido para um CPF em um semana. Uma vez que o limite depende de flutuações entre os valores do USD e Real, informações adicionais são providas na mensagem.
TransactioMonthlylAmountLimitO valor da transação excede o máximo permitido para um CPF em um mês. Uma vez que o limite depende de flutuações entre os valores do USD e Real, informações adicionais são providas na mensagem.
TransactionInternalCashoutFailSe por qualquer razão a PayBrokers não foi capaz de processar o cashout internamente. Por favor, dirija-se ao time da PayBrokers se esse erro surgir.
TransactionMultipleCashoutsEste erro ocorre se múltiplas retiradas forem solicitadas em um mesmo segundo para um mesmo CPF (mesmo proveniente de merchants distintos).
TransactionPayerIsInvalidOs detalhes do pagador são inválidos
TransactionStateWithInvalidDocumentAmountO valor do pagamento difere do valor original da transação
TransactionOrderIdRequiredSe a idempotência de transação estiver configurada na sua conta, o parâmetro orderId é obrigatório e este erro é retornado se ele não for fornecido.
TransactionOrderIdDuplicatedSe a idempotência de transação estiver configurada na sua conta, este erro é retornado se duas ou mais requests apresentarem o mesmo orderId.
TransactionBankCashoutNotAllowedSe o banco de destino está na blacklist.

  • Exclusivos PIX.
IdentificadorDescrição
TransactionInvalidPixKeyA chave PIX fornecida não é válida
TransactionPixKeyUnsupportedTypeA tipo de chave PIX não é suportada por essa operação
TransactionPixKeyValidationFailNão foi possível validar que a chave PIX aponta para uma conta bancária cujo proprietário é o CPF do recebedor fornecido.
PixKeyTypeNotAllowedO tipo da chave PIX não está habilitado para esse merchant.

  • Validação de Participantes.
IdentificadorDescrição
CounterpartyAgeUnder18O proprietário do CPF tem menos de 18 anos de idade.
CounterpartyAgeAbove80O proprietário do CPF tem mais de 80 anos de idade.
CounterpartyDeathNoticeO proprietário do CPF é falecido.
CounterpartyTaxNumberInvalidO CPF ou CNPJ da contraparte não pode ser validado.
CounterpartyServiceErrorO CPF não pode ser validado, ou pertence a um menor de idade.
TransactionGlobalTaxNumberNotAllowedTentativa de fazer uma transação com uma pessoa que foi bloqueada pela plataforma da PayBrokers
TransactionInvalidPixRecipientA conta de destino não pertence ao dono do CPF provido na request.
TransactionPartnerTaxNumberNotAllowedTentativa de fazer uma transação com uma pessoa que foi bloqueada por sua empresa.
UnacceptablePayerTaxNumberO CPF do pagador difere por qualquer motivo do esperado para o pagamento.

Esses erros são atualizados esporadicamente quando novos casos de uso ou restrições são introduzidos na plataforma.

Com foco em uma experiência de integração tranquila, a equipe do PayBrokers manterá os integradores informados sobre quaisquer mudanças relevantes.


What’s Next

Now, you are fully able to start the effective integration with our platform!