Cash In
Criar Transação PIX
POST
/v1/transactionsCria uma nova transação de pagamento via PIX. Retorna o payload do QR Code para ser apresentado ao cliente.
Definição do Body
Interface TypeScripttypescript
interface CreateTransactionRequest {
external_id?: string; // Sua referência interna (opcional)
total_amount: number; // Valor em BRL (ex: 100.50)
payment_method: "PIX"; // Apenas PIX disponível
webhook_url?: string; // URL para receber atualizações de status
items: TransactionItem[]; // Itens da transação
ip?: string; // IP do cliente (opcional)
customer: Customer; // Dados do cliente
}
interface TransactionItem {
id: string;
title: string;
description?: string;
price: number;
quantity: number;
is_physical: boolean; // true = produto físico, false = digital
}
interface Customer {
name: string;
email: string;
phone: string;
document_type: "CPF" | "CNPJ";
document: string; // Apenas dígitos
}Parâmetros Principais
| Campo | Tipo | Descrição |
|---|---|---|
external_id | string | Sua referência interna para a transação. Use para cruzar com seus próprios registros. |
total_amountobrigatório | number | Valor total da transação em BRL (ex: 100.50). Deve ser positivo. |
payment_methodobrigatório | "PIX" | Método de pagamento. Atualmente apenas PIX é suportado. |
webhook_url | string | URL que receberá notificações POST quando o status da transação mudar. |
itemsobrigatório | TransactionItem[] | Array com os itens da transação. |
ip | string | Endereço IP do cliente. |
customerobrigatório | Customer | Dados completos do cliente pagador. |
TransactionItem
| Campo | Tipo | Descrição |
|---|---|---|
idobrigatório | string | Identificador do item |
titleobrigatório | string | Nome do produto ou serviço |
description | string | Descrição adicional do item |
priceobrigatório | number | Preço unitário em BRL |
quantityobrigatório | number | Quantidade |
is_physicalobrigatório | boolean | true para produto físico, false para digital/serviço |
Customer
| Campo | Tipo | Descrição |
|---|---|---|
nameobrigatório | string | Nome completo do cliente |
emailobrigatório | string | Email do cliente |
phoneobrigatório | string | Telefone do cliente (apenas dígitos) |
document_typeobrigatório | "CPF" | "CNPJ" | Tipo do documento |
documentobrigatório | string | Número do documento (apenas dígitos) |
Como usar o payload PIX
O campo
pix.payload contém o código PIX (copia e cola) que deve ser apresentado ao cliente para pagamento. Use este valor para gerar um QR Code ou permitir que o cliente copie diretamente.Erros Possíveis
400Parâmetros obrigatórios ausentes ou com formato inválido401API Secret ausente ou inválido500Erro interno ao processar a transaçãoPOST
https://api.genesys.finance/v1/transactionsHeaders
api-secret: seu_api_secret_aqui
Content-Type: application/jsonRequest Body (JSON)
{
"external_id": "pedido_12345",
"total_amount": 100.50,
"payment_method": "PIX",
"webhook_url": "https://sua-api.com/webhooks/transactions",
"items": [
{
"id": "item_001",
"title": "Assinatura Premium",
"price": 100.50,
"quantity": 1,
"is_physical": false
}
],
"customer": {
"name": "João Silva",
"email": "joao.silva@exemplo.com",
"phone": "11999999999",
"document_type": "CPF",
"document": "12345678901"
}
}cURL
curl -X POST "https://api.genesys.finance/v1/transactions" \
-H "api-secret: seu_api_secret_aqui" \
-H "Content-Type: application/json" \
-d '{
"total_amount": 100.50,
"payment_method": "PIX",
"customer": {
"name": "João Silva",
"email": "joao@exemplo.com",
"phone": "11999999999",
"document_type": "CPF",
"document": "12345678901"
},
"items": [
{
"id": "item_001",
"title": "Assinatura Premium",
"price": 100.50,
"quantity": 1,
"is_physical": false
}
]
}'Response 200
{
"id": "c22dc7e1-8b10-4580-9dc4-ebf78ceca475",
"external_id": "pedido_12345",
"status": "PENDING",
"total_value": 100.50,
"payment_method": "PIX",
"pix": {
"payload": "00020126580014br.gov.bcb.pix..."
},
"hasError": false
}