Gateway de pagamentos PIX
Receba por PIX e tenha o dinheiro no saldo na hora.
A LunexPay gera a cobrança, confirma o pagamento e coloca o valor no seu saldo já com a taxa descontada. Pelo painel ou pela API, com saque para qualquer banco.
- PIX 24 horas
- Saque para qualquer banco
- API REST e webhooks
Hoje a LunexPay atende apenas operações white: produtos e serviços lícitos, com entrega de verdade. O nicho black ainda não é aceito e será liberado no futuro.
Como funciona
Do pedido ao saque, em cinco passos
Pelo painel ou pela API. A LunexPay gera o QR Code e o copia e cola na hora.
Ele lê o QR Code ou cola o código no app do banco dele. Qualquer banco, a qualquer hora.
R$ 100,00 pago, com a taxa de 2% já descontada. Se você tem sistema, ele recebe o webhook na hora.
Direto para a sua chave PIX, em qualquer banco. Cada saque custa 1% (mín. R$ 0,65); chave nova libera em 24 horas.
Cada entrada, taxa e saque, com filtro por período e exportação em CSV.
Nova cobrança
Gerar PIXCobrança #1042
Aguardando pagamentoR$ 100,00
Copiar código PIXSaldo disponível
R$ 98,00
Sacar
Extrato
Confiabilidade
PIX pago é PIX no seu saldo
O pagamento é conferido por mais de um caminho. Se um aviso atrasar ou se perder no meio do caminho, o sistema vai atrás e o valor entra do mesmo jeito.
- Confirmação em dobroAlém do aviso do processador, toda cobrança pendente é consultada de novo a cada minuto, por até 3 dias.
- Pagou depois do vencimento? Entra.Uma cobrança vencida que for paga passa para paga e o valor vai para o saldo.
- Aviso fora de ordem não estraga nadaOs avisos podem chegar embaralhados: o status de uma cobrança nunca volta para trás.
- Sem cobrança duplicadaPedido repetido com a mesma
Idempotency-Keydevolve a mesma cobrança, não cria outra.
Taxas
Você só paga quando recebe
A taxa é descontada do PIX na hora em que ele é pago. Sem mensalidade e sem taxa de adesão.
2% sobre cada PIX pago, com mínimo de R$ 0,65. Sem tarifa extra do processador.
- Taxa mínima por PIXR$ 0,65
- Tarifa do processadorSem tarifa
- Saque para chave PIX1% (mín. R$ 0,65)
- Transferência entre contas LunexPayGrátis
- Mensalidade e adesãoGrátis
Valor mínimo por cobrança: R$ 1,00.
- Taxa LunexPay
- —
- Tarifa do processador
- —
- Você recebe
- —
Digite um valor para ver o cálculo.
| PIX de | Taxa | Você recebe |
|---|---|---|
| R$ 20,00 | R$ 0,65 | R$ 19,35 |
| R$ 50,00 | R$ 1,00 | R$ 49,00 |
| R$ 100,00 | R$ 2,00 | R$ 98,00 |
| R$ 500,00 | R$ 10,00 | R$ 490,00 |
| R$ 1.000,00 | R$ 20,00 | R$ 980,00 |
Regras de saque
- Custo por saque
- 1% (mín. R$ 0,65)
- Valor mínimo
- R$ 10,00
- Limite por dia
- R$ 50.000,00
- Aprovação manual acima de
- R$ 5.000,00
Atendimento
Você não fica sozinho
Quando precisar, fale direto com a equipe da LunexPay pelo painel. Cada conversa fica registrada, do primeiro contato até a solução.
- Assistente com IA no painelTira dúvidas da integração na hora e consulta a sua conta (uma cobrança, um webhook que falhou, um saque). Quando precisa da equipe, ele mesmo abre o chamado.
- Chamado pelo painelEscolha o assunto (cobranças e PIX, saques, conta e verificação, API, taxas ou MED) e explique o que aconteceu.
- Aviso quando respondermosA resposta chega como notificação no painel. Você não precisa ficar atualizando a página.
- Histórico de tudoTodas as mensagens ficam no chamado, com a etapa em que ele está: aberto, respondido, aguardando você ou resolvido.
- Apoio nas contestações (MED)Se um cliente contestar um PIX, você vê o caso e o prazo no painel e manda a sua defesa por lá.
Para desenvolvedores
Integre em uma tarde
A sua loja cria cobranças pela API REST e recebe um webhook quando cada uma é paga. Toda chamada passa por 3 etapas: credenciais, senha da API no robot e resultado. Sem a senha certa, nada é executado.
auth_public+auth_private+ senha da API em cada pedido- Senha errada bloqueia a credencial na hora e avisa você com o IP
- Credenciais trocadas sozinhas a cada 6 horas, entregues no seu webhook
Idempotency-Keypara não duplicar cobrança- Webhooks reenviados em 1 min, 5 min, 30 min, 2 h, 6 h e 24 h se a sua rota falhar
# 1) Pedido: volta com os links "robot" e "pagamento"
curl -X POST https://api.lunexpay.com.br/v2/cobrancas \
-H "X-Auth-Public: $AUTH_PUBLIC" -H "X-Auth-Private: $AUTH_PRIVATE" \
-H "Idempotency-Key: pedido-1042" -H "Content-Type: application/json" \
-d '{ "metodo": "PIX", "valor": 149.90,
"pagador": { "nome": "Maria Silva", "cpfCnpj": "52998224725" } }'
# 2) Senha da API no robot: só agora a cobrança é gerada
curl -X POST https://robot.lunexpay.com.br/auth/verify/1iojsdapien123ks... \
-H "Content-Type: application/json" -d '{ "senha": "'$SENHA_API'" }'
# 3) QR Code e copia e cola
curl https://pagamento.lunexpay.com.br/api/v2/pag/1asjdn19u23nd... \
-H "X-Auth-Public: $AUTH_PUBLIC" -H "X-Auth-Private: $AUTH_PRIVATE"
const auth = { 'X-Auth-Public': process.env.AUTH_PUBLIC, 'X-Auth-Private': process.env.AUTH_PRIVATE };
const json = { 'Content-Type': 'application/json' };
// 1) Pedido
const { links } = await (await fetch('https://api.lunexpay.com.br/v2/cobrancas', {
method: 'POST',
headers: { ...auth, ...json, 'Idempotency-Key': `pedido-${pedido.id}` },
body: JSON.stringify({ metodo: 'PIX', valor: 149.90,
pagador: { nome: 'Maria Silva', cpfCnpj: '52998224725' } }),
})).json();
// 2) Senha da API no robot
await fetch(links.robot, { method: 'POST', headers: json,
body: JSON.stringify({ senha: process.env.SENHA_API }) });
// 3) Pagamento
const { cobranca } = await (await fetch(links.pagamento, { headers: auth })).json();
mostrarPix(cobranca.pix.copiaCola, cobranca.pix.qrCodeBase64);
POST /sua-rota-de-webhook
Content-Type: application/json
X-Gateway-Evento: cobranca.paga
X-Gateway-Assinatura: t=1793476863,v1=5b1f0c...
{
"id": "evt_Pq72...",
"tipo": "cobranca.paga",
"criadoEm": "2026-10-31T18:21:03.000Z",
"dados": {
"id": "cob_mZp3A0kq9uWm1xYd", "status": "PAGO",
"valor": 149.9, "taxa": 6, "liquido": 143.9
}
}
const crypto = require('crypto');
app.post('/webhooks', express.raw({ type: 'application/json' }), (req, res) => {
const partes = String(req.get('X-Gateway-Assinatura') || '')
.split(',').map((p) => p.split('='));
const t = Number(partes.find(([k]) => k === 't')?.[1]);
const esperada = crypto.createHmac('sha256', process.env.WEBHOOK_SEGREDO)
.update(`${t}.${req.body}`).digest('hex');
const valida = partes.some(([k, v]) => k === 'v1' && v.length === esperada.length
&& crypto.timingSafeEqual(Buffer.from(v), Buffer.from(esperada)));
if (!valida || Math.abs(Date.now() / 1000 - t) > 300) return res.sendStatus(401);
res.sendStatus(200);
});
Abra sua conta e receba o primeiro PIX hoje
Cadastro online, como pessoa física ou empresa, para operações white. Você só paga quando receber.