PulsantPulsantDocs
GuiasAPI e integraçõesOperação

Registrar receita

Registre pagamentos confirmados dos seus clientes, com valores e vínculos determinísticos.

Antes de registrar

A receita dos seus clientes é diferente da cobrança do seu plano Pulsant. Use integrations:write e envie somente um pagamento confirmado pelo provedor.

Valores monetários

amountMinor e feeMinor são strings de inteiros em unidades mínimas. BRL usa centavos: 12480 representa R$ 124,80. Não use ponto flutuante para dinheiro.

Enviar um pagamento confirmado

Use IDs estáveis do pedido e do pagamento para retries e notificações repetidas. O SDK local e o exemplo HTTP abaixo chamam a mesma rota.

payment-confirmed.ts
const siteId = process.env.PULSANT_SITE_ID!;
const payment = {
  externalId: 'pedido_123456',
  logicalId: 'pedido_123456',
  amountMinor: '12480',
  currency: 'BRL',
  occurredAt: new Date().toISOString(),
  status: 'paid',
  // feeMinor: '85', // apenas quando confirmada pelo provedor
};

const response = await fetch(
  `https://api.pulsant.app/v1/account/sites/${siteId}/payments`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.PULSANT_SECRET_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(payment),
  },
);
if (!response.ok) throw new Error(`Pagamento recusado: ${response.status}`);

SDK local

O SDK está disponível no monorepo. Para integrar um projeto externo, use o exemplo HTTP.

Vincular aquisição

Use attributionId retornado pelo tracker ou o ID externo opaco associado por identify. Sem um vínculo determinístico elegível, o pagamento permanece sem atribuição; IP ou coincidência de horário não substituem essa ligação.

Ajustes e taxas

feeMinor é opcional; omitir mantém a taxa desconhecida. Use a rota de ajustes para estornos e chargebacks, sem registrar o mesmo pagamento como nova receita. Confira o schema vigente no OpenAPI.

Nesta página