● API v1 · Pix

API de pagamentos VYTRON

Integre cobranças Pix no seu site, loja ou sistema. Gere uma cobrança e receba a confirmação por webhook — tudo por HTTP simples.

Introdução

Base URL:

http://vytronpay.com/

Todas as respostas são application/json. O valor mínimo de cada cobrança é R$ 5,00. Há um limite de 20 criações a cada 10 minutos por IP.

Autenticação

Gere um token em Painel → API → Gerar token. Ele se parece com gwk_... e identifica a sua conta. Envie no cabeçalho Authorization:

Authorization: Bearer gwk_SEU_TOKEN_AQUI
O token completo só aparece uma vez, na hora de gerar. Guarde-o com segurança.

Criar cobrança

POSThttp://vytronpay.com/api/create_charge.php

Corpo (JSON)

CampoTipoDescrição
amountnumberValor em reais (mín. 5.00).
product_namestringDescrição que aparece no extrato.
customer_namestringOpcional.

Resposta

{
  "external_id": "ord_9f2c...",
  "qr_image": "data:image/png;base64,...",
  "pix_code": "00020126...",
  "amount": 25.90
}

Exemplo (curl)

curl -X POST http://vytronpay.com/api/create_charge.php \
  -H "Authorization: Bearer gwk_SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount": 25.90, "product_name": "Pedido #123"}'

Exemplo (PHP)

$ch = curl_init('http://vytronpay.com/api/create_charge.php');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer gwk_SEU_TOKEN',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['amount' => 25.90, 'product_name' => 'Pedido #123']),
]);
$res = json_decode(curl_exec($ch), true);
// $res['qr_image'], $res['pix_code'], $res['external_id']

Consultar status

GEThttp://vytronpay.com/api/check_status.php?external_id=ord_9f2c...

{
  "status": "paid",          // pending | paid | refunded
  "amount": 25.90,
  "redirect_url": "https://..." // opcional (link pós-pagamento do produto)
}

Use como fallback do webhook, ou no seu front pra fazer polling a cada 5 segundos.

Sem programar nada: cadastre um produto no painel e compartilhe o link fixo.

LinkUso
http://vytronpay.com/pagar.php?p=SEU-PRODUTOCheckout de um produto (com imagem, cupom e estoque).
http://vytronpay.com/index.php?u=SEU-USUARIOCheckout de valor livre (o cliente digita o valor).

Webhook

Quando um pagamento é confirmado, enviamos um POST para http://vytronpay.com/webhook.php com JSON:

{ "external_id": "ord_9f2c...", "status": "paid" }

Para autenticar a origem, o corpo cru é assinado via HMAC-SHA256 com a chave secreta da plataforma, no cabeçalho X-Webhook-Signature:

sha256=HMAC_SHA256(corpo_cru, CHAVE_SECRETA)
Sempre responda 200 OK rápido. Reenvios do mesmo evento não duplicam a venda (idempotência por external_id + status).

Erros

CódigoSignificado
400Requisição inválida (JSON/valor).
401Token ausente, inválido ou revogado.
404Produto/gateway não encontrado.
422Valor abaixo do mínimo ou cupom inválido.
429Muitas requisições — aguarde alguns minutos.
502Falha ao gerar a cobrança no processador.

Erros retornam { "error": "mensagem" }.