PagNow
Pagamentos

Criar cobrança Cartão 🌐

POST /v1/payments com paymentMethods: ["CREDIT_CARD"]. A PagNow retorna uma URL de checkout hospedado — você redireciona o cliente para lá; ele preenche os dados do cartão na página segura (com 3-D Secure quando aplicável) e volta para a sua loja.

Não trafegue dados de cartão pelo seu servidor. O fluxo é por redirect para a página hospedada — a PagNow cuida de PCI e 3-D Secure por você.

cURL

curl -X POST 'https://v2.pagnow.com/v1/payments' \
  -H 'apikey: pnk_sua_chave_aqui' \
  -H 'content-type: application/json' \
  -d '{
    "amount": 1990,
    "currency": "BRL",
    "paymentMethods": ["CREDIT_CARD"],
    "idempotencyKey": "pedido-123",
    "customerName": "João Silva",
    "customerEmail": "joao@exemplo.com",
    "metadata": { "orderId": "ORD-456" },
    "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": 1990,
        "currency": "BRL",
        "paymentMethods": ["CREDIT_CARD"],
        "idempotencyKey": "pedido-123",
        "customerName": "João Silva",
        "customerEmail": "joao@exemplo.com",
        "metadata": {"orderId": "ORD-456"},
        "webhookUrl": "https://sua-loja.com/webhooks/pagnow",
    },
    timeout=30,
)
resp.raise_for_status()
charge = resp.json()
print(charge["cardRedirectUrl"])

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" => 1990,
    "currency" => "BRL",
    "paymentMethods" => ["CREDIT_CARD"],
    "idempotencyKey" => "pedido-123",
    "customerName" => "João Silva",
    "customerEmail" => "joao@exemplo.com",
    "metadata" => ["orderId" => "ORD-456"],
    "webhookUrl" => "https://sua-loja.com/webhooks/pagnow",
  ]),
]);
$charge = json_decode(curl_exec($ch), true);
echo $charge["cardRedirectUrl"];

Resposta (201)

{
  "id": "b2c3d4e5-f6a7-4890-9bcd-ef0123456789",
  "status": "WAITING_PAYMENT",
  "amount": 1990,
  "currency": "BRL",
  "cardRedirectUrl": "https://checkout.v2.pagnow.com/c/b2c3d4e5...",
  "createdAt": "2026-05-27T13:00:00.000Z"
}

Redirecione o cliente para cardRedirectUrl. Após o pagamento ele retorna à sua loja e você confirma a aprovação pelo webhook.

Campos principais

CampoTipoObrigatórioNotas
amountintsimCentavos (> 0).
currencystringnãoA moeda aceita depende da conta de cartão habilitada na sua conta (ex.: EUR).
paymentMethodsstring[]sim["CREDIT_CARD"].
idempotencyKeystringsimReenvio retorna a cobrança original.
customerName/EmailstringnãoPré-preenchem o checkout.
metadataobjectnãoCampos livres associados à cobrança.
webhookUrlstringnãoRecebe o POST de mudança de status.

Campos da cobrança

CampoNotas
cardRedirectUrlURL do checkout hospedado. Redirecione o cliente para cá.

O status só vira PAID/APPROVED após a confirmação do provedor — sempre confie no webhook, não no retorno do redirect.

Nesta página