Como gerar pedido
Guia passo a passo para criar pedidos com PIX, Cartão ou Boleto.
Este guia mostra como criar pedidos usando nossa API. Você pode alternar entre diferentes métodos de pagamento (PIX, Cartão de Crédito ou Boleto) alterando apenas o campo payment_method.
Pré-requisitos
Antes de começar, certifique-se de ter:
- ✅ Chave de Cash-In configurada
- ✅ URL base da API:
https://api.intake.finance/v1 - ✅ Webhook configurado (opcional, mas recomendado)
Passo a Passo
Chamar o Endpoint de Criação de Pedido
Use a Chave de Cash-In para autenticar a requisição e chame o endpoint POST /orders:
curl -X POST https://api.intake.finance/v1/orders \
-H "Authorization: Bearer SUA_CHAVE_DE_CASH_IN" \
-H "Content-Type: application/json" \
-d '{
"external_id": "pedido-12345",
"payment_method": "PIX",
"amount": 10000
}'O campo external_id é obrigatório e deve ser único por pedido. Use o ID do
seu sistema para facilitar a reconciliação.
Processar a Resposta
A resposta conterá todas as informações necessárias para processar o pagamento:
{
"data": {
"id": "c1eec672-ed2a-428f-ab53-77a47838e8d6",
"status": "pending",
"payment_method": "pix",
"pix": {
"code": "00020126580014br.gov.bcb.pix...",
"qrcode_base64": "iVBORw0KGgoAAAANSUhEUg..."
},
"total_amount": 10000,
"net_amount": 9700,
"created_at": "2026-01-15T10:30:00Z"
}
}Exibir o QR Code PIX
Use data.pix.qrcode_base64 para exibir o QR Code diretamente, ou data.pix.code para gerar você mesmo:
// Exibir QR Code diretamente com o base64 retornado
const img = document.getElementById('qrcode');
img.src = `data:image/png;base64,${order.data.pix.qrcode_base64}`;
// Ou copiar o código PIX copia-e-cola
const pixCode = order.data.pix.code;Alternando entre Métodos de Pagamento
PIX
{
"external_id": "pedido-12345",
"payment_method": "PIX",
"amount": 10000
}Cartão de Crédito
Para pagamentos com cartão, envie os dados do cartão diretamente no campo credit_card:
{
"external_id": "pedido-12345",
"payment_method": "CREDIT_CARD",
"amount": 10000,
"credit_card": {
"number": "4111111111111111",
"holderName": "JOAO SILVA",
"expirationMonth": "12",
"expirationYear": "2027",
"cvv": "123"
},
"installments": 1
}Nunca armazene ou registre dados de cartão. Certifique-se de que a transmissão ocorre sempre via HTTPS.
Boleto Bancário
{
"external_id": "pedido-12345",
"payment_method": "BOLETO",
"amount": 10000,
"customer": {
"name": "João Silva",
"email": "joao@exemplo.com",
"document": {
"number": "12345678900",
"type": "CPF"
}
}
}Monitorando o Status do Pedido
Após criar o pedido, você pode monitorar seu status de duas formas:
Consultar o Pedido
Use o endpoint GET /orders/{id} para verificar o status:
curl -X GET https://api.intake.finance/v1/orders/c1eec672-ed2a-428f-ab53-77a47838e8d6 \
-H "Authorization: Bearer SUA_CHAVE_DE_CASH_IN"Status possíveis: pending, paid, med, failed, refunded.
Receber Notificação via Webhook
Configure um webhook na plataforma para receber notificações automáticas quando o status mudar:
{
"event": "order.paid",
"data": {
"id": "c1eec672-ed2a-428f-ab53-77a47838e8d6",
"external_id": "pedido-12345",
"payment_method": "pix",
"amount": "100",
"net_amount": "97",
"fees": { "fixed": "1", "variable": "2" },
"status": { "name": "paid", "detail": null },
"created_at": "2026-01-15T10:30:00Z"
}
}Sempre valide os webhooks recebidos verificando o header Authorization antes
de processar.
Exemplos Completos
JavaScript/TypeScript
async function createOrder(externalId: string, amount: number) {
const response = await fetch('https://api.intake.finance/v1/orders', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CASH_IN_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
external_id: externalId,
payment_method: 'PIX',
amount,
}),
});
const { data } = await response.json();
// Exibir QR Code
const img = document.getElementById('qrcode') as HTMLImageElement;
img.src = `data:image/png;base64,${data.pix.qrcode_base64}`;
return data;
}Python
import os
import requests
def create_order(external_id: str, amount: int):
url = "https://api.intake.finance/v1/orders"
headers = {
"Authorization": f"Bearer {os.getenv('CASH_IN_KEY')}",
"Content-Type": "application/json"
}
payload = {
"external_id": external_id,
"payment_method": "PIX",
"amount": amount,
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
return response.json()["data"]Próximos Passos
- Configure webhooks para receber notificações automáticas
- Veja como fazer saques após receber os pagamentos
- Explore a Referência de API