API PagoraPay
para Integrações
Integre geração de boletos e PIX diretamente no seu sistema. Receba notificações automáticas de pagamento via webhook.
A API PagoraPay permite que seu sistema (ERP, e-commerce, sistema de gestão) gere cobranças e receba baixas automáticas sem precisar se integrar diretamente com bancos ou processadoras de pagamento.
ERP / E-commerce
/erp/gerar_cobranca
Boleto + PIX
recebe a baixa
COBRANCA_PAGA
Boleto ou PIX
Todas as requisições precisam do header Authorization com sua API Key. Crie uma chave para cada sistema integrado em Painel → API & Integrações → Chaves API.
curl -X POST https://pagorapay.com.br/api/v1/erp/gerar_cobranca.php \ -H "Authorization: Bearer pp_SUA_CHAVE_AQUI" \ -H "Content-Type: application/json" \ -d '{"nome": "João Silva", ...}'
Se a autenticação falhar, a API retornará:
{
"sucesso": false,
"mensagem": "API Key inválida."
}
Todas as respostas seguem o mesmo formato, com o campo sucesso indicando o resultado:
// Sucesso { "sucesso": true, "mensagem": "Cobrança gerada com sucesso.", "dados": { /* objeto com os dados */ } } // Erro { "sucesso": false, "mensagem": "Descrição do erro." }
Cria um boleto bancário híbrido que também aceita pagamento via PIX. O campo id_externo é o identificador do pedido no seu sistema — use-o para correlacionar a cobrança quando receber o webhook de pagamento.
| Campo | Tipo | Req. | Descrição |
|---|---|---|---|
| nome | string | sim | Nome completo do cliente pagador |
| cpf_cnpj | string | sim | CPF ou CNPJ — apenas números |
| valor | number | sim | Valor em reais. Mínimo: 5.00 |
| vencimento | string | sim | Data de vencimento no formato YYYY-MM-DD |
| id_externo | string | sim | ID único do pedido no seu sistema. Não pode se repetir. |
| descricao | string | não | Descrição que aparece no boleto |
| string | não | E-mail do cliente | |
| celular | string | não | Celular do cliente — apenas números |
| multa | number | não | Percentual de multa após vencimento. Ex: 2.00 |
| juros | number | não | Percentual de juros ao mês. Ex: 1.00 |
{
"nome": "João Silva",
"cpf_cnpj": "12345678901",
"valor": 150.00,
"vencimento": "2026-03-10",
"id_externo": "PED-001234",
"descricao": "Pedido #1234",
"email": "joao@email.com",
"multa": 2.00,
"juros": 1.00
}
{
"sucesso": true,
"mensagem": "Cobrança gerada com sucesso.",
"dados": {
"id_pagorapay": 89, // ID interno PagoraPay
"id_externo": "PED-001234", // seu ID de pedido
"id_transacao": "pay_abc123", // ID interno da transação
"link_pagamento": "https://pagorapay.com.br/pagar.php?id=pay_abc123",
"link_boleto": "https://...",
"linha_digitavel": "46191.10000 00000.000000 12063.261015 6 13860000002000", // linha digitável do boleto
"codigo_barras": "46196138600000020001110000000000001206326101", // código de barras
"pix_qrcode": "base64...", // imagem QR Code
"pix_copia_cola": "00020101...", // código copia e cola
"valor_bruto": 150.00,
"valor_taxa": 1.99,
"valor_liquido": 148.01,
"vencimento": "2026-03-10",
"status": "AGUARDANDO"
}
}
pix_qrcode contém a imagem em Base64. Para exibir: <img src="data:image/png;base64,VALOR_AQUI">Use este endpoint para consultar o status de uma cobrança usando o mesmo id_externo que você enviou na criação.
| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| id_externo | string | sim | O ID do pedido que você usou na criação |
{
"sucesso": true,
"mensagem": "Cobrança encontrada.",
"dados": {
"id_pagorapay": 89,
"id_externo": "PED-001234",
"nome_cliente": "João Silva",
"valor_bruto": 150.00,
"valor_liquido": 148.01,
"status": "PAGO",
"data_vencimento":"2026-03-10",
"data_pagamento": "2026-02-25 14:30:00"
}
}
Cancela uma cobrança usando o mesmo id_externo informado na criação. Apenas cobranças com status AGUARDANDO podem ser canceladas. O cancelamento é feito simultaneamente na PagoraPay e no Asaas.
| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| id_externo | string | sim | O ID do pedido usado na criação da cobrança |
curl -X POST https://pagorapay.com.br/api/v1/erp/cancelar_cobranca.php \\ -H "Authorization: Bearer pp_sua_chave_aqui" \\ -H "Content-Type: application/json" \\ -d apos;{"id_externo":"PED-001234"} apos;
{
"sucesso": true,
"mensagem": "Cobrança cancelada com sucesso.",
"dados": {
"id_externo": "PED-001234",
"id_pagorapay": 89,
"cancelado_gateway": true
}
}
{
"sucesso": false,
"mensagem": "Apenas cobranças com status AGUARDANDO podem ser canceladas. Status atual: PAGO"
}
Quando um boleto gerado pela API for pago, a PagoraPay enviará automaticamente um POST para a URL que você configurar no painel. Configure em Painel → API & Integrações → Chaves API, clicando no ícone de webhook da chave desejada.
{
"evento": "COBRANCA_PAGA",
"id_externo": "PED-001234", // seu ID — use para localizar o pedido
"id_pagorapay": 89,
"id_transacao": "pay_abc123",
"valor_bruto": 150.00,
"valor_liquido": 148.01,
"data_pagamento": "2026-02-25T14:30:00-03:00",
"forma_pagamento": "BOLETO", // BOLETO ou PIX
"status": "PAGO",
"parceiro_id": 5
}
id_externo para identificar o pedido e evitar processamento duplicado.<?php // seu-sistema.com/webhook/pagorapay $payload = json_decode(file_get_contents('php://input'), true); if ($payload['evento'] === 'COBRANCA_PAGA') { $id_pedido = $payload['id_externo']; // ex: "PED-001234" $valor = $payload['valor_bruto']; // Localize o pedido no seu banco e marque como pago marcarPedidoComoPago($id_pedido, $valor); } // OBRIGATÓRIO: responder 200 http_response_code(200); echo 'ok';
- Acesse o Painel PagoraPay
- Navegue até API & Integrações → Chaves API
- Clique no ícone de webhook da chave desejada
- Clique em Salvar
- Use o botão Testar para verificar se seu servidor está respondendo corretamente
TESTE_WEBHOOK para sua URL. Seu servidor deve responder com HTTP 200. Verifique os logs do seu sistema para confirmar o recebimento.# Gerar cobrança curl -X POST https://pagorapay.com.br/api/v1/erp/gerar_cobranca.php \ -H "Authorization: Bearer pp_SUA_CHAVE" \ -H "Content-Type: application/json" \ -d '{ "nome": "João Silva", "cpf_cnpj": "12345678901", "valor": 150.00, "vencimento": "2026-03-10", "id_externo": "PED-001234", "descricao": "Pedido #1234" }' # Consultar status curl -X GET \ "https://pagorapay.com.br/api/v1/erp/consultar_cobranca.php?id_externo=PED-001234" \ -H "Authorization: Bearer pp_SUA_CHAVE"
<?php class PagoraPay { private $apiKey; private $baseUrl = 'https://pagorapay.com.br/api/v1'; public function __construct($apiKey) { $this->apiKey = $apiKey; } public function gerarCobranca($dados) { return $this->request('POST', '/erp/gerar_cobranca.php', $dados); } public function consultarCobranca($idExterno) { return $this->request('GET', '/erp/consultar_cobranca.php?id_externo=' . $idExterno); } private function request($metodo, $endpoint, $dados = []) { $ch = curl_init($this->baseUrl . $endpoint); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => $metodo, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . $this->apiKey, 'Content-Type: application/json' ] ]); if (!empty($dados)) { curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dados)); } $response = json_decode(curl_exec($ch), true); curl_close($ch); return $response; } } // Uso $pp = new PagoraPay('pp_SUA_CHAVE'); $result = $pp->gerarCobranca([ 'nome' => 'João Silva', 'cpf_cnpj' => '12345678901', 'valor' => 150.00, 'vencimento' => '2026-03-10', 'id_externo' => 'PED-001234' ]); if ($result['sucesso']) { echo $result['dados']['link_pagamento']; }
import requests class PagoraPay: BASE_URL = "https://pagorapay.com.br/api/v1" def __init__(self, api_key): self.headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } def gerar_cobranca(self, dados): r = requests.post( self.BASE_URL + "/erp/gerar_cobranca.php", json=dados, headers=self.headers ) return r.json() def consultar_cobranca(self, id_externo): r = requests.get( self.BASE_URL + f"/erp/consultar_cobranca.php?id_externo={id_externo}", headers=self.headers ) return r.json() # Uso pp = PagoraPay("pp_SUA_CHAVE") result = pp.gerar_cobranca({ "nome": "João Silva", "cpf_cnpj": "12345678901", "valor": 150.00, "vencimento": "2026-03-10", "id_externo": "PED-001234" }) if result["sucesso"]: print("Link:", result["dados"]["link_pagamento"])
const BASE_URL = 'https://pagorapay.com.br/api/v1'; const API_KEY = 'pp_SUA_CHAVE'; async function gerarCobranca(dados) { const res = await fetch(BASE_URL + '/erp/gerar_cobranca.php', { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify(dados) }); return res.json(); } async function consultarCobranca(idExterno) { const res = await fetch( BASE_URL + `/erp/consultar_cobranca.php?id_externo=${idExterno}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } } ); return res.json(); } // Uso const result = await gerarCobranca({ nome: 'João Silva', cpf_cnpj: '12345678901', valor: 150.00, vencimento: '2026-03-10', id_externo: 'PED-001234' }); if (result.sucesso) { console.log('Link:', result.dados.link_pagamento); }
-
1
Obtenha sua API Key no painelAcesse Painel → API & Integrações → Chaves API e crie uma chave para cada integração
-
2
Configure o WebhookNa aba Webhooks, cadastre a URL do seu endpoint e teste a conexão.
-
3
Chame
/erp/gerar_cobranca.phpao criar um pedidoPasse oid_externocom o ID do pedido no seu sistema. Guarde olink_pagamentopara exibir ao cliente. -
4
Receba o webhook quando o cliente pagarA PagoraPay enviará
COBRANCA_PAGAcom oid_externo. Use-o para localizar e atualizar o pedido no seu sistema. -
5
Responda HTTP 200 e processe a baixaConfirme o recebimento respondendo
200e marque o pedido como pago no seu sistema.
id_externo antes de processar — isso evita baixas duplicadas caso o webhook seja enviado mais de uma vez.