API PIX - FlexusPag
Documentação completa para integrar o gateway de pagamentos FlexusPag ao seu sistema
Introdução
A API da FlexusPag permite que você integre pagamentos via PIX de forma simples e segura em sua aplicação. Com ela, você pode:
- Gerar QR Codes PIX para recebimento
- Realizar transferências PIX (saques)
- Receber notificações em tempo real via Webhook
- Consultar saldo e transações
https://flexuspag.site/v3/pix/
Autenticação
Todas as requisições à API devem incluir suas credenciais de acesso. Suas chaves são únicas e identificam sua conta no sistema FlexusPag.
Content-Type: application/x-www-form-urlencoded
Os parâmetros client_id e client_secret devem ser enviados no corpo da requisição (POST body), não nos headers.
Como obter suas credenciais
- Acesse o painel da FlexusPag com sua conta
- Vá até a seção "API"
- Clique em "Credenciais"
- Preencha as informações solicitadas (nome do projeto, domínio, etc.)
- Confirme com seu PIN de segurança
- Suas chaves Client ID e Client Secret serão geradas
Suas credenciais são únicas e intransferíveis. Nunca compartilhe sua Client Secret com terceiros.
Gerar QR Code PIX
Este endpoint permite a geração de um QR Code PIX para recebimento de pagamentos. Ideal para e-commerces, aplicações mobile e sistemas que necessitam de integração com pagamentos via PIX.
https://flexuspag.site/v3/pix/qrcode
Exemplo de Código
<?php
$apiUrl = 'https://flexuspag.site/v3/pix/qrcode';
$postData = [
'client_id' => 'SEU_CLIENT_ID',
'client_secret' => 'SEU_CLIENT_SECRET',
'nome' => 'Nome do Cliente',
'cpf' => '12345678901',
'valor' => 100.00,
'descricao' => 'Descrição do pagamento',
'urlnoty' => 'https://seuservidor.com/callback'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
if (curl_errno($ch)) {
echo 'Erro cURL: ' . curl_error($ch);
} elseif ($result['success']) {
echo 'QR Code: ' . $result['data']['qrcode'];
echo 'Transação ID: ' . $result['data']['transaction_id'];
} else {
echo 'Erro: ' . $result['message'];
}
curl_close($ch);
?>
Parâmetros da Requisição
| Parâmetro | Descrição | Tipo | Obrigatório |
|---|---|---|---|
client_id |
Seu Client ID da FlexusPag (fornecido no painel) | string | Sim |
client_secret |
Sua Client Secret da FlexusPag (fornecido no painel) | string | Sim |
nome |
Nome completo do pagador | string | Sim |
cpf |
CPF do pagador (apenas números, 11 dígitos) | string | Sim |
valor |
Valor da transação em reais (use ponto como separador decimal) | float | Sim |
descricao |
Descrição da transação (opcional) | string | Não |
urlnoty |
URL para receber notificações de callback (Webhook) | string | Não |
Respostas da API
{
"success": true,
"message": "QR Code gerado com sucesso!",
"data": {
"qrcode": "00020126850014br.gov.bcb.pix2563pix...",
"transaction_id": "e6e6827c1ca7ff368916371791529fvue",
"external_id": "6a1f623b0b66b",
"amount": 100.00,
"status": "PENDING"
}
}
{
"success": false,
"message": "client_id ou client_secret inválidos."
}
Transferência PIX (Saque)
Este endpoint permite realizar transferências PIX para qualquer chave PIX cadastrada. Ideal para sistemas que necessitam de pagamentos automáticos, saques ou transferências entre contas.
https://flexuspag.site/v3/pix/payment
Exemplo de Código
<?php
$apiUrl = 'https://flexuspag.site/v3/pix/payment';
$postData = [
'client_id' => 'SEU_CLIENT_ID',
'client_secret' => 'SEU_CLIENT_SECRET',
'nome' => 'Nome do Destinatário',
'cpf' => '12345678901',
'chave_pix' => '11970142332',
'valor' => 100.00,
'descricao' => 'Pagamento via API',
'urlnoty' => 'https://seuservidor.com/callback'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
if (curl_errno($ch)) {
echo 'Erro cURL: ' . curl_error($ch);
} elseif ($result['success']) {
echo 'Transferência solicitada com sucesso!';
echo 'Transação ID: ' . $result['data']['transaction_id'];
} else {
echo 'Erro: ' . $result['message'];
}
curl_close($ch);
?>
Parâmetros da Requisição
| Parâmetro | Descrição | Tipo | Obrigatório |
|---|---|---|---|
client_id |
Seu Client ID da FlexusPag | string | Sim |
client_secret |
Sua Client Secret da FlexusPag | string | Sim |
nome |
Nome do destinatário | string | Sim |
cpf |
CPF do destinatário (apenas números) | string | Sim |
chave_pix |
Chave PIX do destinatário (CPF, Email, Telefone ou Aleatória) | string | Sim |
valor |
Valor da transferência | float | Sim |
descricao |
Descrição da transferência (opcional) | string | Não |
urlnoty |
URL para receber notificações | string | Não |
Respostas da API
{
"success": true,
"message": "Transferência solicitada com sucesso!",
"data": {
"transaction_id": "e7940527273174f0afe5ec5fd8ekrn3dp",
"external_id": "e106c4fa1bc2c91e04ad74cda565ch8us",
"amount": 100.00,
"tax": 5.00,
"net_amount": 105.00,
"status": "PENDING"
}
}
{
"success": false,
"message": "Saldo insuficiente para realizar a transferência."
}
Webhook - Pagamento Confirmado
Quando um pagamento PIX for confirmado, a FlexusPag enviará uma notificação para a URL informada no parâmetro urlnoty.
{
"event": "payment.confirmed",
"transaction_id": "c327ce8bee2a18565ec2m1zdu6px2keu",
"external_id": "seu_id_interno",
"status": "completed",
"amount": 100.00,
"paid_at": "2026-06-14T15:30:00-03:00",
"pix_data": {
"end2end_id": "E12345678202406141530abcdef12345"
}
}
Para garantir a autenticidade do webhook, validamos a assinatura no header X-Signature. Exemplo de validação em PHP:
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_SIGNATURE'] ?? '';
$secretKey = 'SUA_CLIENT_SECRET';
$expected = hash_hmac('sha256', $payload, $secretKey);
if (!hash_equals($expected, $signature)) {
http_response_code(401);
exit('Assinatura inválida');
}
$data = json_decode($payload, true);
// Atualize o status do pedido no seu sistema
Webhook - Transferência Concluída
Quando uma transferência PIX for concluída, a FlexusPag enviará uma notificação para a URL informada no parâmetro urlnoty.
{
"event": "withdrawal.completed",
"transaction_id": "a2f5aeca7762c4b1fbd65ef0f0ee6014",
"external_id": "seu_id_interno",
"status": "completed",
"amount": 100.00,
"updated_at": "2026-06-14T15:30:00-03:00",
"pix_data": {
"end2end_id": "E29477089202606142626111199e7408",
"recipient_name": "NOME DO DESTINATÁRIO"
}
}
Precisa de Ajuda?
Estamos aqui para ajudar! Entre em contato com nosso suporte técnico:
- Telegram: @gerenteraspaay
Nosso suporte está disponível todos os dias, incluindo fins de semana e feriados.