Visão geral
As Transações representam todas as operações de pagamento realizadas através da Upay Gateway API. Cada transação contém informações completas sobre o pagamento, incluindo método utilizado, status, valores e dados do cliente.Pré-requisitos
Antes de começar, você precisa:- Uma conta ativa na Upay
- Sua API Key configurada (veja Autenticação)
- Conhecimento básico de APIs REST
Funcionalidades
- Múltiplos métodos de pagamento: PIX, Cartão de Crédito/Débito, Boleto
- Rastreamento em tempo real: Acompanhe o status de cada transação
- Histórico completo: Consulte todas as transações com paginação
- Detalhes do cliente: Informações completas do pagador
- Webhooks: Receba notificações automáticas de mudanças de status
- Filtros avançados: Busque por status, método de pagamento, período e mais
Criando uma transação
Requisição Básica - PIX
Resposta
Campos disponíveis
Campos obrigatórios
| Campo | Tipo | Descrição |
|---|---|---|
paymentLinkId | string | ID do link de pagamento associado. UUID válido. |
paymentMethod | string | Método de pagamento. Valores: “PIX”, “CREDIT_CARD”, “DEBIT_CARD”, “BOLETO”. |
amountCents | number | Valor em centavos. Exemplo: 9900 = R 1,00). |
client | object | Dados do cliente (veja abaixo). |
Dados do cliente (client)
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
name | string | Nome completo do cliente. Máximo 255 caracteres. | Sim |
email | string | Email válido do cliente. | Sim |
phone | string | Telefone com código do país. Formato: +5511999999999. | Sim |
document | string | CPF ou CNPJ (apenas números). | Sim |
address | object | Endereço completo (obrigatório para boleto). | Condicional |
Endereço (address)
| Campo | Tipo | Descrição |
|---|---|---|
street | string | Logradouro. |
number | string | Número. |
complement | string | Complemento (opcional). |
neighborhood | string | Bairro. |
city | string | Cidade. |
state | string | Estado (UF). |
zipCode | string | CEP (apenas números). |
Campos opcionais
| Campo | Tipo | Descrição | Padrão |
|---|---|---|---|
currency | string | Código da moeda. Atualmente apenas “BRL”. | ”BRL” |
installments | number | Número de parcelas (apenas cartão de crédito). Mínimo: 1, Máximo: 12. | 1 |
metadata | object | Dados adicionais personalizados. |
📖 Exemplos Completos
Transação com Cartão de Crédito
Transação com Boleto
Transação com Metadata
Consultando transações
Listar Todas as Transações
Resposta
Buscar Transação Específica
Filtros Disponíveis
📊 Status da Transação
| Status | Descrição | Ação |
|---|---|---|
PENDING | Aguardando pagamento | Aguardar confirmação |
PROCESSING | Processando pagamento | Aguardar processamento |
COMPLETED | Pagamento confirmado | Liberar produto/serviço |
FAILED | Pagamento falhou | Tentar novamente |
CANCELLED | Transação cancelada | Criar nova transação |
REFUNDED | Pagamento reembolsado | Registrar reembolso |
EXPIRED | Transação expirada | Criar nova transação |
Métodos de pagamento
PIX
- Tempo de expiração: 30 minutos (padrão)
- Confirmação: Instantânea
- Retorno: QR Code e código copia-e-cola
- Webhook:
payment.completedquando confirmado
Cartão de Crédito
- Parcelamento: Até 12x
- Confirmação: Imediata ou em até 2 dias úteis
- Retorno: Status da autorização
- Webhook:
payment.completedoupayment.failed
Cartão de Débito
- Parcelamento: Não disponível
- Confirmação: Imediata
- Retorno: Status da autorização
- Webhook:
payment.completedoupayment.failed
Boleto
- Vencimento: 3 dias úteis (padrão)
- Confirmação: 1-3 dias úteis após pagamento
- Retorno: URL do boleto e código de barras
- Webhook:
payment.completedquando compensado
🔔 Webhooks
Configure webhooks para receber notificações automáticas sobre mudanças de status:Segurança
Validação de Dados
Sempre valide os dados antes de criar uma transação:Proteção contra Duplicatas
Usemetadata para rastrear transações e evitar duplicatas:
Boas práticas
- Sempre use webhooks: Não confie apenas em polling para verificar status
- Armazene o ID da transação: Guarde o
idedisplayIdno seu banco de dados - Trate erros adequadamente: Implemente retry com backoff exponencial
- Valide dados do cliente: Verifique CPF/CNPJ, email e telefone antes de enviar
- Use metadata: Armazene informações adicionais para rastreamento
- Monitore expiração: PIX expira em 30 minutos, boleto em 3 dias
- Implemente timeout: Configure timeout adequado nas requisições

