PagNow
Pagamentos

Criar cobrança Boleto 🇧🇷

POST /v1/payments com paymentMethods: ["BOLETO"]. A PagNow retorna o código de barras, a linha digitável e um PDF do boleto. O cliente paga em qualquer banco, lotérica ou internet banking até o vencimento.

cURL

curl -X POST 'https://v2.pagnow.com/v1/payments' \
  -H 'apikey: pnk_sua_chave_aqui' \
  -H 'content-type: application/json' \
  -d '{
    "amount": 12500,
    "currency": "BRL",
    "paymentMethods": ["BOLETO"],
    "idempotencyKey": "pedido-3311",
    "customerName": "Rui Mendes",
    "customerDocument": "52998224725",
    "customerEmail": "rui@exemplo.com",
    "metadata": { "orderId": "ORD-3311" },
    "webhookUrl": "https://sua-loja.com/webhooks/pagnow"
  }'

Python

import requests

resp = requests.post(
    "https://v2.pagnow.com/v1/payments",
    headers={"apikey": "pnk_sua_chave_aqui"},
    json={
        "amount": 12500,
        "currency": "BRL",
        "paymentMethods": ["BOLETO"],
        "idempotencyKey": "pedido-3311",
        "customerName": "Rui Mendes",
        "customerDocument": "52998224725",
        "customerEmail": "rui@exemplo.com",
        "metadata": {"orderId": "ORD-3311"},
        "webhookUrl": "https://sua-loja.com/webhooks/pagnow",
    },
    timeout=30,
)
resp.raise_for_status()
charge = resp.json()
print(charge["boletoLine"])

PHP

<?php
$ch = curl_init("https://v2.pagnow.com/v1/payments");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ["apikey: pnk_sua_chave_aqui", "Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode([
    "amount" => 12500,
    "currency" => "BRL",
    "paymentMethods" => ["BOLETO"],
    "idempotencyKey" => "pedido-3311",
    "customerName" => "Rui Mendes",
    "customerDocument" => "52998224725",
    "customerEmail" => "rui@exemplo.com",
    "metadata" => ["orderId" => "ORD-3311"],
    "webhookUrl" => "https://sua-loja.com/webhooks/pagnow",
  ]),
]);
$charge = json_decode(curl_exec($ch), true);
echo $charge["boletoLine"];

Resposta (201)

{
  "id": "d4e5f6a7-b8c9-4012-9def-012345678901",
  "status": "WAITING_PAYMENT",
  "amount": 12500,
  "currency": "BRL",
  "boletoBarcode": "34191790010104351004791020150008291070026000",
  "boletoLine": "34191.79001 01043.510047 91020.150008 2 91070026000",
  "boletoPdfUrl": "https://checkout.v2.pagnow.com/boleto/d4e5f6a7.pdf",
  "boletoExpiresAt": "2026-07-07T23:59:59.000Z",
  "createdAt": "2026-06-30T16:00:11.000Z"
}

Exiba a linha digitável (boletoLine) e o link do PDF (boletoPdfUrl) para o cliente. A confirmação chega por webhook após a compensação bancária (geralmente 1–2 dias úteis).

Campos principais

CampoTipoObrigatórioNotas
amountintsimCentavos (> 0).
currencystringnãoPadrão BRL.
paymentMethodsstring[]sim["BOLETO"].
customerDocumentstringrecomendadoCPF/CNPJ do pagador — exigido pela maioria dos emissores.
idempotencyKeystringsimReenvio retorna a cobrança original.
webhookUrlstringnãoRecebe o POST de mudança de status.

Campos da cobrança

CampoNotas
boletoBarcodeCódigo de barras (numérico) para leitura.
boletoLineLinha digitável formatada.
boletoPdfUrlURL do PDF do boleto para download/impressão.
boletoExpiresAtVencimento. Após esta data, a cobrança vai para EXPIRED.

Nesta página