Guia

Comece em 3 minutos

A API VorksPay é REST, aceita JSON, usa autenticação Bearer e retorna códigos HTTP padrão. Todos os valores são inteiros em centavos.

create-pix
import { VorksPay } from "vorkspay";
const vp = new VorksPay(process.env.VORKSPAY_SECRET_KEY);

const charge = await vp.charges.create({
  amount: 4990,
  currency: "BRL",
  payment_method: "pix",
  customer: { name: "Maria Silva", document: "12345678900", email: "maria@ex.com" },
});
console.log(charge.pix.qr_code);

Autenticação

Todas as requisições devem incluir o header Authorization: Bearer sk_live_.... Chaves com prefixo sk_test_ operam no sandbox.

Referência

Endpoints principais da API v1.

MétodoEndpointDescrição
POST/v1/chargesCria uma cobrança (PIX, cartão ou boleto)
GET/v1/charges/:idRecupera uma cobrança
POST/v1/charges/:id/refundEstorna total ou parcial
POST/v1/customersCria cliente
GET/v1/customers/:idRecupera cliente
POST/v1/subscriptionsCria assinatura recorrente
POST/v1/subscriptions/:id/cancelCancela assinatura
POST/v1/withdrawalsSolicita saque
GET/v1/balanceConsulta saldos
POST/v1/webhooksCria endpoint de webhook
POST/v1/splitsConfigura regra de split

Webhooks

A cada evento (por exemplo sale.paid, sale.refunded) enviamos um POST JSON para os endpoints ativos cadastrados em Webhooks. A requisição é assinada com HMAC-SHA256 usando o secret do endpoint no header X-VorksPay-Signature. Também enviamos X-VorksPay-Event com o nome do evento.

Payload exemplo
{
  "event": "sale.paid",
  "sale": {
    "id": "b1f9...",
    "product_id": "8a2c...",
    "product_name": "Curso Pro",
    "amount_cents": 19700,
    "currency": "BRL",
    "method": "pix",
    "status": "paid",
    "customer_name": "João Silva",
    "customer_email": "joao@ex.com",
    "created_at": "2026-07-25T14:32:11Z"
  }
}
Verificando a assinatura (Node.js)
import crypto from "node:crypto";

const signature = req.headers["x-vorkspay-signature"];
const expected = crypto
  .createHmac("sha256", process.env.VORKSPAY_WEBHOOK_SECRET)
  .update(rawBody)
  .digest("hex");

if (signature !== expected) {
  return res.status(401).send("invalid signature");
}

Responda com 2xx em até 10s. Retornos diferentes disso são retentados com backoff exponencial por até 72h.

SDKs oficiais

Node.js
Instalação, autenticação e exemplos.
Python
Instalação, autenticação e exemplos.
PHP
Instalação, autenticação e exemplos.
Go
Instalação, autenticação e exemplos.
Java
Instalação, autenticação e exemplos.
C#
Instalação, autenticação e exemplos.
Pronto para começar?

Crie sua conta grátis e obtenha suas chaves em segundos.

Criar conta grátis