Documentation Index — nucleopay.com.br/llms.txt

Cartão no seu app ou SaaS

Crie a cobrança na API, redirecione o comprador para a página da Nucleo e libere o plano no webhook. Você nunca vê o número do cartão.

Não envie PAN/CVV para a Nucleo. O endpoint devolve checkoutUrl — o cartão é tokenizado na nossa página (PCI / Mercado Pago).

1. Criar sessão

curl -X POST https://nucleopay.com.br/api/card/charge/create \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-42" \
  -d '{
    "value": 49.90,
    "title": "Plano Pro",
    "external_id": "sub_42",
    "customer_email": "cliente@email.com",
    "success_url": "https://meusaaS.com/obrigado",
    "cancel_url": "https://meusaaS.com/checkout"
  }'

Resposta inclui chargeId (NCC-…) e checkoutUrl (https://nucleopay.com.br/pay/NCC-…).

2. Redirecionar o comprador

// No seu backend — nunca exponha o Bearer no browser
res.redirect(charge.checkoutUrl);

// App mobile: abra checkoutUrl em WebView / Custom Tab / SFSafariViewController

3. Sandbox

Com token np_test_ a página mostra Simular cartão aprovado. Ou no backend:

curl -X POST https://nucleopay.com.br/api/card/charge/simulate-pay \
  -H "Authorization: Bearer np_test_…" \
  -H "Content-Type: application/json" \
  -d '{"charge_id":"NCC-…"}'

4. Liberar no webhook

if (event === "charge.approved" && data.statusCode === "approved") {
  await unlockPlan(data.external_id || data.chargeId);
}

Status: GET /api/card/charge/status?charge_id=NCC-…. Webhooks: guia.

Prompt pronto para IA

Cole isto no Cursor, Claude, Lovable ou Trae:

Integre cartão Nucleo Pay no meu app/SaaS.
Base URL: https://nucleopay.com.br
Docs: https://nucleopay.com.br/docs/card
Manifesto: https://nucleopay.com.br/api/integrations/mcp/manifest
llms.txt: https://nucleopay.com.br/llms.txt
Auth: Authorization: Bearer SEU_TOKEN

NÃO peça nem envie número/CVV do cartão.
POST /api/card/charge/create { "value": 49.90, "title": "Plano Pro", "external_id": "pedido-1", "success_url": "https://meusite.com/obrigado", "cancel_url": "https://meusite.com/checkout" }
Redirecione o comprador para data.checkoutUrl (web) ou abra em WebView (app).
Webhook X-NucleoPay-Signature (HMAC SHA256): em charge.approved (data.statusCode === "approved"), libere o plano.
Sandbox: token np_test_ e POST /api/card/charge/simulate-pay { "charge_id": "NCC-..." }

SDK

const charge = await np.createCardCharge({
  value: 49.9,
  title: "Plano Pro",
  success_url: "https://meusaaS.com/obrigado",
  idempotencyKey: "pedido-42",
});
// charge.checkoutUrl

Quickstart PIX

O mesmo padrão, com QR.

Webhooks

charge.approved + assinatura HMAC.

SDKs

@nucleopay/sdk