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"
}
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 Code | Código | Descrição | Motivo |
---|---|---|---|
400 | 40001 | error decoding json | Os dados enviados não condizem com o contrato do serviço |
400 | 40002 | error validating json | Alguma informação está mal formatada ou não foi preenchida |
400 | 40024 | invalid name | O nome informado está preenchido com caracteres inválidos ou não é um nome válido |
400 | 40021 | invalid phone | O telefone informado é inválido, deve seguir o padrão: 55 DDD NUMERO. Ex: 5543999999999 |
400 | 40022 | invalid email | O e-mail informado é inválido |
400 | 40027 | replicated transaction | A transação enviada já existe, não podendo cria-lá novamente |
403 | 40301 | not allowed | O usuário não tem permissão para fazer tal ação |
404 | 40404 | company not found | A empresa informada não existe |
429 | 40001 | too many requests | Ratelimit atingido |
500 | 50001 | internal error | Falha 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.