Kit de Integração

Documentação oficial para desenvolvedores. Integre pagamentos Pix, saques e notificações automáticas com facilidade.

Começar Integração

1. Gerar Pix (Gateway)

Endpoint para criar cobranças Pix dinâmicas. Suporta divisão de pagamento (Split), identificadores externos e webhooks dinâmicos.

POST https://gouat.com/api/v1/gateway/

Novos Parâmetros Opcionais

Campo Tipo Descrição
external_reference opcional String ID do pedido no seu sistema para conciliação (ex: "PEDIDO-1050").
notification_url opcional String (URL) Sua URL para receber o Webhook automaticamente quando o pagamento for aprovado.
JSON Payload
PHP (cURL)
Node.js (Axios)
{
  "api-key": "SUA_CHAVE_AQUI",
  "amount": 100.50,
  "method": "pix",
  "external_reference": "SEU_ID_DO_PEDIDO_123",
  "notification_url": "https://seu-site.com/webhook-retorno",
  "client": {
    "name": "Cliente Teste",
    "document": "12345678900",
    "email": "cliente@email.com"
  },
  "split": {
    "percentual": 10,
    "destino": "ID_USUARIO_PARCEIRO"
  }
}
<?php

$curl = curl_init();

$payload = [
    "api-key" => "SUA_CHAVE_AQUI",
    "amount" => 100.50,
    "method" => "pix",
    "external_reference" => "PEDIDO-123456",
    "notification_url" => "https://seu-site.com/webhook",
    "client" => [
        "name" => "Cliente Teste",
        "document" => "12345678900",
        "email" => "cliente@email.com"
    ]
];

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gouat.com/api/v1/gateway/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>
const axios = require('axios');

let data = JSON.stringify({
  "api-key": "SUA_CHAVE_AQUI",
  "amount": 100.50,
  "method": "pix",
  "external_reference": "PEDIDO-123456",
  "notification_url": "https://seu-site.com/webhook",
  "client": {
    "name": "Cliente Teste",
    "document": "12345678900",
    "email": "cliente@email.com"
  }
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://gouat.com/api/v1/gateway/',
  headers: { 
    'Content-Type': 'application/json'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

Exemplo de Resposta (Sucesso)

HTTP 200 OK
{
    "status": "success",
    "message": "ok",
    "paymentCode": "00020126580014br.gov.bcb.pix0136123...",
    "idTransaction": "52fc5262-4063-4900-933b-55e69850",
    "paymentCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA..."
}

2. Solicitar Saque (Cash Out)

Envie valores da sua carteira para chaves Pix de terceiros.

POST https://gouat.com/api/c1/cashout/
JSON Payload
PHP (cURL)
{
    "api-key": "SUA_CHAVE_AQUI",
    "amount": 50.00,
    "name": "Favorecido da Silva",
    "cpf": "12345678900",
    "keypix": "chave@email.com",
    "tipo_chave": "EMAIL"
}
<?php
$payload = [
    "api-key" => "SUA_CHAVE_AQUI",
    "amount" => 50.00,
    "name" => "Favorecido da Silva",
    "cpf" => "12345678900",
    "keypix" => "chave@email.com",
    "tipo_chave" => "EMAIL"
];

$ch = curl_init("https://gouat.com/api/c1/cashout/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

3. Consultar Status da Transação

Verifique manualmente se um pagamento foi aprovado usando o ID da transação (Polling).

POST https://gouat.com/api/v1/webhook/
JSON Payload
PHP (cURL)
{
    "idtransaction": "52fc5262-4063-4900-933b-55e69850"
}
<?php
$payload = ["idtransaction" => "SEU_ID_TRANSACAO"];

$ch = curl_init("https://gouat.com/api/v1/webhook/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$data = json_decode($response, true);

if ($data['status'] === 'PAID') {
    echo "Pagamento Aprovado!";
} else {
    echo "Status: " . $data['status'];
}
?>

4. Webhook (Notificação Automática)

Se você enviou o campo notification_url na criação do Pix, nossa API enviará uma requisição POST para o seu servidor assim que o pagamento for confirmado.

Payload Recebido
{
  "status": "PAID",
  "idTransaction": "52fc5262-4063-4900-933b-55e69850",
  "amount": 100.50,
  "external_reference": "SEU_ID_DO_PEDIDO_123",
  "paid_at": "2025-01-30 14:30:00"
}
ℹ️ Importante

O Webhook é disparado apenas quando o status muda para PAID. Certifique-se de retornar HTTP 200 OK para confirmar o recebimento.

5. Health Check (Status da API)

Verifique a disponibilidade e o status operacional da nossa API em tempo real.

GET https://gouat.com/api/status

Ao acessar este endpoint, você receberá uma confirmação visual ou um código de status HTTP 200 indicando que os serviços estão operacionais.

PHP (Check Simples)
<?php
$ch = curl_init("https://gouat.com/api/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true); // Faz apenas uma requisição HEAD para ser rápido
curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    echo "API Online ✅";
} else {
    echo "API Offline ❌";
}
?>