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étodo | Endpoint | Descrição |
|---|---|---|
| POST | /v1/charges | Cria uma cobrança (PIX, cartão ou boleto) |
| GET | /v1/charges/:id | Recupera uma cobrança |
| POST | /v1/charges/:id/refund | Estorna total ou parcial |
| POST | /v1/customers | Cria cliente |
| GET | /v1/customers/:id | Recupera cliente |
| POST | /v1/subscriptions | Cria assinatura recorrente |
| POST | /v1/subscriptions/:id/cancel | Cancela assinatura |
| POST | /v1/withdrawals | Solicita saque |
| GET | /v1/balance | Consulta saldos |
| POST | /v1/webhooks | Cria endpoint de webhook |
| POST | /v1/splits | Configura 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.
