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
Criar cobrança
POSThttp://vytronpay.com/api/create_charge.php
Corpo (JSON)
| Campo | Tipo | Descrição |
|---|---|---|
amount | number | Valor em reais (mín. 5.00). |
product_name | string | Descrição que aparece no extrato. |
customer_name | string | Opcional. |
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.
Links de pagamento
Sem programar nada: cadastre um produto no painel e compartilhe o link fixo.
| Link | Uso |
|---|---|
http://vytronpay.com/pagar.php?p=SEU-PRODUTO | Checkout de um produto (com imagem, cupom e estoque). |
http://vytronpay.com/index.php?u=SEU-USUARIO | Checkout 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)
200 OK rápido. Reenvios do mesmo evento não duplicam a venda (idempotência por external_id + status).Erros
| Código | Significado |
|---|---|
400 | Requisição inválida (JSON/valor). |
401 | Token ausente, inválido ou revogado. |
404 | Produto/gateway não encontrado. |
422 | Valor abaixo do mínimo ou cupom inválido. |
429 | Muitas requisições — aguarde alguns minutos. |
502 | Falha ao gerar a cobrança no processador. |
Erros retornam { "error": "mensagem" }.