Skip to content

Exemplos de código ​

Exemplos com dados fictícios. Troque API_URL pela URL base do seu ambiente e os valores em maiúsculas pelas suas credenciais. Para testar sem dinheiro real, use uma conta do banco Teste.

1. Obter o token ​

sh
curl -X POST "$API_URL/access/account/get-token" \
  -H "Content-Type: application/json" \
  -d '{"email": "erp@exemplo.com", "token": "SEU_ACCOUNT_TOKEN"}'
js
const response = await fetch(`${process.env.API_URL}/access/account/get-token`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: 'erp@exemplo.com', token: process.env.FASTGIVR_ACCOUNT_TOKEN })
})
const { data } = await response.json()
const token = data.token // vale 10 minutos
php
$ch = curl_init(getenv('API_URL') . '/access/account/get-token');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'email' => 'erp@exemplo.com',
        'token' => getenv('FASTGIVR_ACCOUNT_TOKEN'),
    ]),
]);
$token = json_decode(curl_exec($ch), true)['data']['token']; // vale 10 minutos

2. Criar uma cobrança BolePix ​

O cabeçalho Idempotency-Key evita criar a cobrança duas vezes se a requisição for repetida. Use um valor único por cobrança, como o id do pedido no seu sistema.

sh
curl -X POST "$API_URL/billing/charges" \
  -H "Authorization: Bearer $TOKEN" \
  -H "account: 1" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-1042" \
  -d '{
    "payment_method": "BOLEPIX",
    "amount": 150.00,
    "due_date": "2026-10-31",
    "name": "Ana Exemplo Costa",
    "email": "ana.exemplo@exemplo.com",
    "document": "12345678909",
    "description": "Pedido 1042",
    "webhook": "https://seusistema.com.br/fastgivr/webhook"
  }'
js
const charge = await fetch(`${process.env.API_URL}/billing/charges`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${token}`,
    account: '1',
    'Content-Type': 'application/json',
    'Idempotency-Key': 'pedido-1042'
  },
  body: JSON.stringify({
    payment_method: 'BOLEPIX',
    amount: 150.0,
    due_date: '2026-10-31',
    name: 'Ana Exemplo Costa',
    email: 'ana.exemplo@exemplo.com',
    document: '12345678909',
    description: 'Pedido 1042',
    webhook: 'https://seusistema.com.br/fastgivr/webhook'
  })
}).then((r) => r.json())
php
$ch = curl_init(getenv('API_URL') . '/billing/charges');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer {$token}",
        'account: 1',
        'Content-Type: application/json',
        'Idempotency-Key: pedido-1042',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'payment_method' => 'BOLEPIX',
        'amount' => 150.00,
        'due_date' => '2026-10-31',
        'name' => 'Ana Exemplo Costa',
        'email' => 'ana.exemplo@exemplo.com',
        'document' => '12345678909',
        'description' => 'Pedido 1042',
        'webhook' => 'https://seusistema.com.br/fastgivr/webhook',
    ]),
]);
$charge = json_decode(curl_exec($ch), true);

A resposta traz a cobrança com os dados para pagamento: a do boleto e o código do Pix.

3. Consultar o status ​

sh
curl "$API_URL/billing/charges/102" \
  -H "Authorization: Bearer $TOKEN" \
  -H "account: 1"
js
const { data } = await fetch(`${process.env.API_URL}/billing/charges/102`, {
  headers: { Authorization: `Bearer ${token}`, account: '1' }
}).then((r) => r.json())
php
$ch = curl_init(getenv('API_URL') . '/billing/charges/102');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer {$token}", 'account: 1'],
]);
$charge = json_decode(curl_exec($ch), true);

Prefira receber o aviso de pagamento por webhook a consultar o status repetidamente.