1. Gerar Pix (Gateway)
Endpoint para criar cobranças Pix dinâmicas. Suporta divisão de pagamento (Split), identificadores externos e webhooks dinâmicos.
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. |
{
"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)
{
"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.
{
"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).
{
"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.
{
"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"
}
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.
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
$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 ❌";
}
?>