PagNow
Pagamentos

Criar cobrança Binance Pay 🟡

POST /v1/payments com paymentMethods: ["BINANCE_PAY"]. O cliente é redirecionado para o checkout do Binance Pay e paga em segundos com o saldo da conta Binance dele (cripto ou fiat) — sem endereço on-chain, sem taxa de rede, sem esperar confirmações de blockchain. A liquidação cai na sua carteira USDT PagNow.

É o método ideal para vendas na América Latina quando seu cliente já usa Binance: a experiência é de carteira digital (como um "pagar com app"), e você recebe stablecoin.

Os valores são denominados em USDT (currency: "USDT"). Para mostrar o preço em moeda local (R$, AR$, …) no seu site, converta antes de criar a cobrança e trate o valor local como estimativa de exibição.

cURL

curl -X POST 'https://v2.pagnow.com/v1/payments' \
  -H 'apikey: pnk_sua_chave_aqui' \
  -H 'content-type: application/json' \
  -d '{
    "amount": 1000,
    "currency": "USDT",
    "paymentMethods": ["BINANCE_PAY"],
    "idempotencyKey": "pedido-7821",
    "customerName": "Maria Silva",
    "customerEmail": "maria@exemplo.com",
    "metadata": { "orderId": "ORD-7821" },
    "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": 1000,
        "currency": "USDT",
        "paymentMethods": ["BINANCE_PAY"],
        "idempotencyKey": "pedido-7821",
        "customerName": "Maria Silva",
        "customerEmail": "maria@exemplo.com",
        "metadata": {"orderId": "ORD-7821"},
        "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" => 1000,
    "currency" => "USDT",
    "paymentMethods" => ["BINANCE_PAY"],
    "idempotencyKey" => "pedido-7821",
    "customerName" => "Maria Silva",
    "customerEmail" => "maria@exemplo.com",
    "metadata" => ["orderId" => "ORD-7821"],
    "webhookUrl" => "https://sua-loja.com/webhooks/pagnow",
  ]),
]);
$charge = json_decode(curl_exec($ch), true);
echo $charge["cardRedirectUrl"];

Resposta (201)

{
  "id": "a1b2c3d4-e5f6-4789-9abc-def012345678",
  "status": "WAITING_PAYMENT",
  "amount": 1000,
  "currency": "USDT",
  "cardRedirectUrl": "https://pay.binance.com/en/checkout/...",
  "createdAt": "2026-07-05T15:42:11.000Z"
}

Redirecione o cliente para cardRedirectUrl (funciona em desktop e mobile — no celular abre direto o app da Binance). A cobrança expira em 1 hora se não for paga.

Campos principais

CampoTipoObrigatórioNotas
amountintsimUSDT em centavos (2 casas). 1000 = 10,00 USDT.
currencystringsimUSDT.
paymentMethodsstring[]sim["BINANCE_PAY"].
idempotencyKeystringsimReenvio retorna a cobrança original.
metadataobjectnãoCampos livres, ecoados no webhook.
webhookUrlstringnãoRecebe o POST de mudança de status.

Campos da cobrança

CampoNotas
cardRedirectUrlURL do checkout Binance Pay. Redirecione o cliente para cá.

Liquidação

Quando o cliente confirma o pagamento no app/checkout da Binance, a cobrança vira PAID e o valor é creditado na sua carteira USDT (ver Carteiras). Aguarde sempre o webhook payment.completed para dar baixa no pedido — nunca o retorno do redirect.

Nesta página