Pular para o conteúdo principal

Transações de pagamento

Antes de começar

Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro. Saiba mais em Autenticação.

Base URL
  • UAT: https://transactions.transactional.uat.unico.app/api/public/v1
  • Produção: https://transactions.transactional.unico.app/api/public/v1

Criar transação

POST /credit/transaction — cria uma nova transação.

perigo

Para garantir a melhor conversão, crie a transação somente após concluir qualquer pré-autenticação ou validação que possa encerrar a operação antes da experiência da Verificação de Cartão Não Presente.

perigo

O campo orderNumber deve ser preenchido com o número de pedido único daquela compra no e-commerce, sendo errado o envio de um ID distinto transacional. Reutilizar esse valor pode causar baixa conversão (o número do pedido ajuda o usuário a concluir o fluxo) e erros na API como replicated transaction, caso seja usado o mesmo número do pedido, CPF, BIN e últimos 4 dígitos.

Headers
HeaderValor
AuthorizationBearer {token} — um access-token válido.
Body
{
"identity": { "key": "cpf", "value": "12345678900" },
"orderNumber": "order-98765",
"company": "company-id",
"redirectUrl": "https://yourapp.com/checkout/return",
"card": {
"binDigits": "12345678",
"lastDigits": "1234",
"expirationDate": "12/2028",
"name": "John Doe"
},
"value": 199.90,
"mainContacts": [
{ "key": "phone", "value": "5543999999999" }
]
}
CampoTipoObrigatórioDescrição
identityobjectsimDados de identificação do usuário.
identity.keystringsimTipo de chave de identificação do usuário. Recomenda-se cpf — maior conversão.
identity.valuestringsimValor da chave de identificação do usuário, sem pontos ou traços.
orderNumberstringsimNúmero do pedido associado à transação. Usado como indexador no portal e como chave de associação entre seu sistema e a Verificação de Cartão Não Presente.
companystringsimID da empresa responsável pela transação, fornecido pela Unico.
redirectUrlstringnãoURL para redirecionar o usuário após a transação (URL HTTPS para web, ou URL Schema para apps móveis nativos).
cardobjectsimInformações do cartão utilizado na transação.
card.binDigitsstringsim8 primeiros dígitos do cartão.
card.lastDigitsstringsimÚltimos 4 dígitos do cartão.
card.expirationDatestringnãoData de validade do cartão.
card.namestringsimNome do titular do cartão. Envie corretamente, evitando problemas de encode — esse dado é usado na experiência e comunicação com o usuário.
valuenumbersimValor total da compra.
mainContactsarraynãoLista de contatos principais (e-mails e/ou telefones) usados para notificar o usuário, quando a Verificação de Cartão Não Presente é responsável pela notificação.
fallbackContactsarraynãoLista de contatos secundários, acionados caso as tentativas de notificação dos contatos principais falhem.
200 OK
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "processing",
"link": "https://developers/regional-solutions/card-not-present-verification.unico.app/t/6ab1771e-dfab-4e47-8316-2452268e5481",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresAt": "2026-07-22T15:30:00Z"
}
CampoDescrição
idID da transação criada.
statusStatus atual da transação.
linkLink relacionado à transação.
tokenToken assinado com os parâmetros necessários para inicializar o SDK web da Verificação de Cartão Não Presente.
expiresAtData e hora de expiração da transação, ISO 8601 (UTC).
aviso

Caso as validações determinem que a captura biométrica não é necessária, a resposta terá um status diferente e não será gerado um link de captura:

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

Isso acontece ao utilizar os módulos Pré ou Super Pré, conforme especificado em Funcionalidades.

Para respostas de erro, veja Erros — Criação da transação.

Consultar status da transação

GET /credit/transactions/{transaction_id} — consulta o status atual de uma transação específica.

Headers
HeaderValor
AuthorizationBearer {token} — um access-token válido.
200 OK
{
"status": "processing"
}
CampoDescrição
statusStatus atual da transação.

Veja Enumerados para todos os status possíveis. Para otimizar a performance, implemente o Webhook ao invés de consultar este endpoint repetidamente.

Para respostas de erro, veja Erros — Consulta do status da transação.

Recuperar conjunto probatório da transação

GET /credit/transactions/{transaction_id}/probative — recupera o conjunto probatório de uma transação específica.

aviso

Só é possível gerar o conjunto probatório de transações aprovadas.

perigo

O link retornado para o conjunto probatório tem validade de cinco minutos após a obtenção — não o salve, use-o para baixar o conjunto probatório imediatamente.

Headers
HeaderValor
AuthorizationBearer {token} — um access-token válido.
200 OK
{
"link": "https://unico.io/probative.pdf"
}
CampoDescrição
linkURL do arquivo probatório.

Para respostas de erro, veja Erros — Recuperação do conjunto probatório da transação.

Reenviar notificação da transação

POST /credit/transactions/{transaction_id}/notify — reenvia notificações via e-mail e/ou telefone para uma transação específica.

observação

Também é possível configurar o reenvio de notificações através do portal, sem a necessidade de implementar via API. Fale com o responsável pelo seu projeto para entender as possibilidades.

Headers
HeaderValor
AuthorizationBearer {token} — um access-token válido.
Body
{
"phone": "NOTIFICATION_PHONE",
"email": "NOTIFICATION_EMAIL"
}
CampoTipoObrigatórioDescrição
phonestringsimNúmero de telefone para o envio da notificação.
emailstringsimEndereço de e-mail para o envio da notificação.
200 OK
{
"id": "b50ee24c-71eb-4a5d-ade1-41c48b44c240",
"link": "https://aces.so/example"
}
CampoDescrição
idID único da notificação gerada.
linkLink gerado para a notificação.

Para respostas de erro, veja Erros — Reenvio da notificação da transação.