intake

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

On this page