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
| Campo | Tipo | Obrigatório | Notas |
|---|---|---|---|
amount | int | sim | USDT em centavos (2 casas). 1000 = 10,00 USDT. |
currency | string | sim | USDT. |
paymentMethods | string[] | sim | ["BINANCE_PAY"]. |
idempotencyKey | string | sim | Reenvio retorna a cobrança original. |
metadata | object | não | Campos livres, ecoados no webhook. |
webhookUrl | string | não | Recebe o POST de mudança de status. |
Campos da cobrança
| Campo | Notas |
|---|---|
cardRedirectUrl | URL 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.
