@vkx/pay
v0.1.0
Published
Aceite cripto no seu site em minutos. Cobre em reais, receba direto na sua carteira — split atômico on-chain, webhook assinado, zero blockchain no seu código.
Maintainers
Readme
VKX Pay — aceite cripto no seu site
Cobre em reais, receba cripto direto na sua carteira. O split é atômico on-chain (sua parte e a taxa numa única transação — ou tudo, ou nada), a confirmação chega por webhook assinado, e o seu código nunca toca em blockchain.
Começar
1. Crie sua conta em vkxtech.com.br/pay (login com Google), cadastre a carteira onde quer receber e copie as 2 credenciais (sk_vkxpay_... e whsec_...).
2. Instale:
npm install @vkx/pay3. No seu servidor, crie a cobrança e mande o cliente pro checkout:
const { createPaymentIntent } = require('@vkx/pay');
app.post('/api/pagar', async (req, res) => {
const payment = await createPaymentIntent({
apiKey: process.env.VKX_PAY_SECRET_KEY,
amount: '199.90', // reais
orderId: req.body.orderId, // o id do pedido NO SEU sistema
});
res.json({ checkoutUrl: payment.checkoutUrl });
});4. Receba a confirmação (webhook):
const { constructWebhookEvent } = require('@vkx/pay');
app.post('/webhooks/vkx', express.raw({ type: '*/*' }), (req, res) => {
const event = constructWebhookEvent({
secret: process.env.VKX_PAY_WEBHOOK_SECRET,
body: req.body,
signature: req.headers['x-vkx-signature'],
});
if (event.event === 'payment.completed') liberarPedido(event.data.orderId);
res.sendStatus(200);
});Pronto. O cliente escolhe no checkout hospedado como pagar (USDT, USDC, USD1 ou moeda nativa; MetaMask, Trust, VKX Wallet...), e você recebe na sua carteira, sem custódia da VKX.
Como funciona o dinheiro
- Você define o preço em reais. O cliente paga o valor cotado no momento + o spread da rede — o spread é sempre do cliente.
- Da sua parte sai só a taxa VKX de 1%. Exemplo: produto de R$100 pago em USDT → o cliente paga ~18,45 USDT, você recebe 17,82 USDT (R$99), tudo numa única transação on-chain.
- Sem chargeback: cripto confirmada é final.
Status de uma cobrança
OPEN → PENDING → PAID (ou EXPIRED / CANCELED). Devolveu por fora? Marque REFUNDED_EXTERNAL no painel para a conciliação fechar.
Suporte
Fale com a equipe VKX citando o id da cobrança (pay_...).
