Pular para o conteúdo principal

Criar transação pré-aprovada

Introdução

Este guia explica como criar uma transação pré-aprovada através da API REST.

Esse método é utilizado para criar uma transação. Ele também realiza uma pré-aprovação dos dados informados. Dessa forma, não é necessário a captura biométrica em todos os casos. Esse método não pode ser utilizado em conjunto com o Criar transação.

Quando usar essa opção:

  • Quando o IDPay estiver no topo do funil;
  • Em uma solução 100% integrada com captura via Webview;
  • Quando a identificação informada (CPF por exemplo) for do titular do cartão (esse fluxo não permite que o usuário compartilhe a validação para o real titular ou informe um novo cpf durante a validação);
  • Entre outros;

Como usar?

Faça uma requisição POST para o endpoint /credit/transactions/pre-approved

Com o token de acesso válido, faça uma requisição para o endpoint (POST/credit/transactions/pre-approved) enviando seguintes parâmetros:

{
"identity": {
"key": "cpf",
"value": "CPF_DO_USUARIO"
},
"orderNumber": "NUMERO_DO_PEDIDO",
"company": "ID_DA_EMPRESA",
"redirectUrl": "URL",
"card": {
"binDigits": "6_OU_8_PRIMEIROS_DIGITOS_CARTAO",
"lastDigits": "4_ULTIMOS_DIGITOS_CARTAO",
"expirationDate": "DATA_VALIDADE_CARTAO",
"name": "NOME"
},
"value": VALOR_COMPRA,
"phone": "CELULAR_NOTIFICACAO",
"email": "EMAIL_NOTIFICACAO"
}
NOTA

O campo company é fornecido pela Unico. O campo redirectUrl é usado para que ao final do fluxo (webview) a pessoa seja redirecionada para o endereço desejado. Esse campo é opcional.

O campo expirationDate também é opcional.

Os campos phone e email não são obrigatórios. Se o campo phone estiver vazio, o SMS não é enviado. Se o campo email estiver vazio, o E-mail também não é enviado. Existe a possibilidade do não preenchimento desses campos. Nesse caso, o cliente pode fazer o envio por maneiras internas (whatsapp, push de app, webview em app e etc).

Os demais campos são de preenchimento obrigatório.

Com tudo certo na requisição, a resposta de retorno é um JSON contendo o o ID da transação, o status da transação e o link da captura como a seguir:

{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "waiting",
"link": "https://aces.so/teste"
}

Caso a pré-aprovação realizada decida que não é necessário realizar a captura da biometria, a resposta de retorno terá um status diferente e não será gerado um link para a captura, como a seguir:

{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "fast-inconclusive"
}

Caso algum erro aconteça, a resposta de retorno é um JSON contendo o erro e o código do erro:

{
"error": {
"code": "40004",
"description": "transaction id is invalid"
}
}

A seguir uma lista dos possíveis erros retornados pelo serviço:

HTTP CodeCódigoDescriçãoMotivo
40040001error decoding jsonOs dados enviados não condizem com o contrato do serviço
40040002error validating jsonAlguma informação está mal formatada ou não foi preenchida
40040024invalid nameO nome informado está preenchido com caracteres inválidos ou não é um nome válido
40040021invalid phoneO telefone informado é inválido, deve seguir o padrão: 55 DDD NUMERO. Ex: 5543999999999
40040022invalid emailO e-mail informado é inválido
40040027replicated transactionA transação enviada já existe, não podendo cria-lá novamente
40340301not allowedO usuário não tem permissão para fazer tal ação
40440404company not foundA empresa informada não existe
42940001too many requestsRatelimit atingido
50050001internal errorFalha interna no serviço

Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.