Vendas (Sales)
Endpoints para criar e consultar vendas PIX.
POST /v1/sales
Cria uma nova venda e gera QR Code PIX para pagamento.
Headers
http
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | number | ✅ Sim | Valor em reais (mínimo R$10.00, máximo 2 casas decimais) |
customer_name | string | ❌ Não | Nome do cliente (mínimo 4, máximo 100 caracteres) |
customer_email | string | ❌ Não | Email do cliente (validado se fornecido) |
customer_document | string | ❌ Não | CPF (11 dígitos) ou CNPJ (14 dígitos) apenas números |
customer_phone | string | ❌ Não | Telefone do cliente (máximo 20 caracteres) |
reference | string | ❌ Não | Referência customizada (máximo 50 caracteres, auto-gerada se não fornecida) |
expiration_minutes | integer | ❌ Não | Minutos até expiração (mínimo 15, padrão 15) |
Exemplo de Request
bash
curl -X POST https://api.misespay.com/v1/sales \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"amount": 150.75,
"customer_name": "João da Silva",
"customer_email": "joao.silva@example.com",
"customer_document": "12345678909",
"customer_phone": "11999887766",
"expiration_minutes": 30
}'Response (201 Created)
json
{
"id": "cb931031-091a-4243-90ba-44842f39f42d",
"qrcode_url": "https://checkout.misespay.com/pagamento/cb931031-091a-4243-90ba-44842f39f42d",
"reference": "mj9z1j03UU3v",
"expires_at": "2025-12-17T09:42:08.259048-03:00",
"txid": "NOX237W9YZJRIQZP9B1IID7FMQSL1UYD",
"qrcode_text": "00020101021226710014br.gov.bcb.pix2549brcode.trio.com.br/cob/01KCP3K3F9AZE34F18CQH1KRWC5204000053039865802BR5919NOXPAYIO PAGAMENTOS6007Barueri62070503***63048D59",
"qrcode_base64": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAADb0lEQVR42uyZPY7jOhCEi2DAkDcQLzIQr+XAgAQ40LVo6CLUDRgyEFgP3bI93o1esNYwGEYC5xuAP83qrjZ+x+/41yOSXLdCNpSLZeEeM2e7UWZ6AUbArdmTKZRp3YojMxy3on86CQhc1ubr1WQ/R5YKk8slboV7X0AyrFeAy5pxkF/mbEBucwY8ddwzKzoDAJdMcbcUipPt2Ds9k/kjHj4MPMK+Xsfgl7ePv9/FjwI6ZBdyiMnwONv9LxX5LDCC5FbcHjMmko6kX9KAOrV+gIBLbL4iPnTDNsgjJWw6CzAsUxrAXWWBlCMtF8gi+wHGcGjXdM9+4SH7mFay2nYWABS3hyInecT/xCwz5Dz2A4QC0fbbPWNKg68y45h9vZ4GRFnS4KtlZv067pcVA14i1gNAzl/wbgck5ArnMZTLV+C5AHd4N4/wVbLhLQXVB9jWDYAAXbO8xEkFfoSfbfPPt3kCECkZWcKewNcAt5tHDnrt4ucBI5IVCuw9SyYS+vFIv5X240Amd0PHBs6WkppF7bN3M7oBYvbVZuCKAKEqnvXDfhpg5Da3UiXS5FphU/A1ks/U3AMQ6WfZxcSsRaDbZSZm2c5ZgKFX+yBB7taN1UppKst+5e4OgOzF+snbVKOBqyitzfh+Fx8HIMWeFFoj/EKqGeRC8pU3OwCieEABzGMXUxM52V5FzgmAyXqbIvusUR7pCDU7vKVuAElJMGqWNS1ppIk1w9TOAkRI1+Z5u9Mv++DdrYEU+2D7AXQXAyjzUu083sVGmTkJkGIvmSKG/eHcU+DCTXNQP4DUV4ejnwFfpxZU9t9z1ocBhEPkeaevdiOuMZeLbd69wv7nAaOLhxN/IUYDtqnaE1ecBYyyyMGLc/fLmr1jClLxledt9gBoD03MoKF2PrW9pv/yqsROADDt4hoaDsM1JWhn79Wj6QGgOlaRLM1C7tYCuX/3YU4AIuFWCfL7oQ7cR1CLvWdq7gCQYbU1JB7QHL1Qbdi+dd0+DBzdRapZnuTjds+c46Mh0wkwHoWom6O2H4vbTS7ubRdnAEdjn7PJZZIaz5JqHzj3BkDKqgJtL7TjSP/8ieTjQBrEBwZcNNqjFDOhPOuHLgCp/QKlGqRYV/2YEUp9/2ngs4CGPaViCWXiVtxxrc2793fxw8Dv+B3/f/wXAAD//1CN/Chteoe3AAAAAElFTkSuQmCC"
}Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string (UUID) | ID único da venda |
qrcode_url | string (URL) | URL do checkout para pagamento da venda |
reference | string | Referência da venda (gerada ou customizada) |
expires_at | string (ISO 8601) | Data/hora de expiração do QR Code |
txid | string | ID da transação no provedor de pagamento |
qrcode_text | string | Texto PIX (copia e cola) |
qrcode_base64 | string | Imagem do QR Code em base64 |
Exibindo o QR Code
HTML
html
<img src="data:image/png;base64,{qrcode_base64}" alt="QR Code PIX" />React
jsx
function QRCodeDisplay({ qrcode_base64 }) {
return (
<img
src={`data:image/png;base64,${qrcode_base64}`}
alt="QR Code PIX"
className="w-64 h-64"
/>
);
}Erros Possíveis
400 Bad Request - Valor Inválido
json
{
"error": "Validation Error",
"message": "amount must be at least 10.00"
}400 Bad Request - Email Inválido
json
{
"error": "Validation Error",
"message": "Invalid email format"
}401 Unauthorized - Token Inválido
json
{
"error": "Unauthorized",
"message": "Invalid or expired token"
}GET /v1/sales/:id
Busca os detalhes de uma venda específica pelo ID.
Headers
http
Authorization: Bearer {access_token}Path Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string (UUID) | ID da venda |
Exemplo de Request
bash
curl -X GET https://api.misespay.com/v1/sales/cb931031-091a-4243-90ba-44842f39f42d \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."Response (200 OK)
json
{
"id": "cb931031-091a-4243-90ba-44842f39f42d",
"user_id": "5016a25a-569c-43f5-98a8-6823f791f38a",
"origin": "api",
"amount": 150.75,
"currency": "BRL",
"reference": "mj9z1j03UU3v",
"customer_name": "João da Silva",
"customer_email": "joao.silva@example.com",
"customer_document": "12345678909",
"customer_phone": "11999887766",
"payer_name": "João da Silva",
"payer_document": "12345678909",
"status": "pending",
"payment_method": "pix",
"payment_provider": "noxpay",
"payment_provider_transaction_id": "NOX237W9YZJRIQZP9B1IID7FMQSL1UYD",
"qrcode_data": "00020101021226710014br.gov.bcb.pix2549brcode.trio.com.br/cob/01KCP3K3F9AZE34F18CQH1KRWC5204000053039865802BR5919NOXPAYIO PAGAMENTOS6007Barueri62070503***63048D59",
"expires_at": "2025-12-17T12:42:08",
"created_at": "2025-12-17T12:12:08",
"updated_at": "2025-12-17T12:12:08",
"paid_at": null
}Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string (UUID) | ID único da venda |
user_id | string (UUID) | ID do usuário proprietário |
origin | string | Origem da venda ("api", "dashboard", etc) |
amount | number | Valor da venda em reais |
currency | string | Moeda (sempre "BRL") |
reference | string | Referência da venda |
customer_name | string | Nome do cliente |
customer_email | string | Email do cliente |
customer_document | string | CPF/CNPJ do cliente |
customer_phone | string | Telefone do cliente |
payer_name | string | Nome do pagador |
payer_document | string | CPF/CNPJ do pagador |
status | string | Status da venda (ver abaixo) |
payment_method | string | Método de pagamento (sempre "pix") |
payment_provider | string | Provedor de pagamento |
payment_provider_transaction_id | string | ID da transação no provedor |
qrcode_data | string | Texto PIX (copia e cola) |
expires_at | string (ISO 8601) | Data/hora de expiração |
created_at | string (ISO 8601) | Data/hora de criação |
updated_at | string (ISO 8601) | Data/hora da última atualização |
paid_at | string (ISO 8601) ou null | Data/hora do pagamento |
Status da Venda
| Status | Descrição |
|---|---|
pending | Aguardando pagamento |
paid | Pagamento confirmado |
expired | QR Code expirado |
cancelled | Venda cancelada |
Erros Possíveis
404 Not Found
json
{
"error": "Not Found",
"message": "Sale not found"
}401 Unauthorized
json
{
"error": "Unauthorized",
"message": "Invalid or expired token"
}