Desenvolvedores
Integre em uma tarde
API REST com JSON, chaves de teste e produção, idempotência e webhooks assinados.
1. Autenticação
Gere as chaves no painel em Desenvolvedores → Chaves de API. Chaves de teste começam com uw_test_ e de produção com uw_live_. Envie no header Authorization: Bearer <chave> (ou X-API-Key).
2. URL base
https://api.uneway.pro/api/v1. Use o header Idempotency-Key nas criações: repetir a mesma chave devolve o mesmo resultado, sem cobrar duas vezes.
Criar uma cobrança
Um endpoint por método: /payments/europix (Pix), /payments/mbway e /payments/multibanco.
curl -X POST https://api.uneway.pro/api/v1/payments/europix \ -H "Authorization: Bearer uw_test_..." \ -H "Idempotency-Key: pedido-2001" \ -H "Content-Type: application/json" \ -d '{"order_id":"pedido-2001","amount":49.90, "customer_email":"cliente@exemplo.com"}'
Os campos aceitos por método (telefone no MB WAY, dados do pagador no Pix etc.) estão na documentação da API.
3. Webhooks
Cadastre a URL no painel. Enviamos eventos de pagamento, estorno, disputa e saque com os headers X-Uneway-Event, X-Uneway-Delivery-Id e X-Uneway-Signature. Falhas são reenviadas com espera crescente (até 6 tentativas) e o histórico fica no painel.
// Node.js: confira a assinatura
// X-Uneway-Signature: t=<unix>,v1=<hex>
const [t, v1] = header.split(',').map(p => p.split('=')[1]);
const expected = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(`${t}.${rawBody}`)
.digest('hex');
const ok = v1?.length === expected.length
&& Math.abs(Date.now() / 1000 - Number(t)) < 300
&& crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
Sandbox
Simule pagamento aprovado, falho ou expirado em cobranças de teste, sem dinheiro real.
Logs de API
Veja cada requisição feita com as suas chaves, com status e tempo de resposta, no painel.
Sem código
Prefere não integrar agora? Use links de pagamento e o checkout hospedado com a sua marca.