Criar transação
Introdução
Este guia explica como criar uma transação através da API REST.
Esse método é utilizado para criar uma transação e também gerar o link de autenticação para que após a captura, as validações necessárias sejam realizadas. Toda a validação nesse fluxo é feita após o usuário final realizar a captura da biometria (a validação é realizada de maneira async). Esse método não pode ser utilizado em conjunto com o Criar transação pré-aprovada).
Quando usar essa opção:
- Quando você deseja realizar a captura da foto de todo o seu fluxo;
- Preferencialmente para recuperação de venda;
- Quando a identificação informada (CPF por exemplo) não é necessariamente do titular do cartão (esse fluxo 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/link
Com o token de acesso válido, faça uma requisição para o endpoint (POST/credit/transactions/link) 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 link da captura e o ID da transação como a seguir:
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"link": "https://aces.so/teste"
}
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.