Este guia sai de “recebi as credenciais” e chega em “abri uma conta e recebi o webhook de crédito”.

Antes de começar

Você precisa de três coisas da PrismaPay:

Key ID e secret

pk_live_... e sk_live_...

IPs liberados

Os IPs de saída dos seus servidores, registrados por nós

Webhook

A sua URL cadastrada e o whsec_... para verificar a assinatura
A credencial nasce suspensa e é ativada pela PrismaPay depois das etapas de contrato e privacidade. Se todas as chamadas respondem 401, confirme com o time que a sua chave já foi liberada.

Passo 1: o assinador

Copie esta função. Ela é o único código sensível da integração.
O canonicalPath é usado nos dois lugares: para assinar e para chamar. É assim que o caminho assinado nunca diverge do caminho chamado.

Passo 2: valide a autenticação

A chamada mais barata para provar que assinatura, relógio e IP estão certos:
Se voltar 401 unauthorized, siga a lista de verificação em Autenticação. O erro é opaco de propósito e não diz qual das cinco checagens falhou.

Passo 3: abra uma conta

1

Guarde o accountId

É a chave de tudo depois: saldo, status e transações.
2

Leve o cliente ao onboardingUrl

Sem essa etapa o cadastro não é aprovado e a conta não movimenta dinheiro.
3

Acompanhe até approved

GET /v1/accounts/{accountId}/status. Consulte em minutos, não em segundos.

Passo 4: receba o webhook de crédito

Quando entrar um PIX nessa conta, chega um POST assinado na sua URL:
Detalhes de retentativa, janela de deduplicação e o log de reconciliação em Webhooks.

Checklist antes de ir para produção

NTP ativo em todos os servidores que chamam a API. Um relógio 6 minutos adiantado derruba 100% das chamadas com 401.
Gerada e gravada antes da primeira tentativa, reutilizada em toda retentativa. Ver Idempotência.
A última retentativa chega cerca de 24,5 h depois da primeira.
request_in_progress, 429 e 503. Qualquer outro 4xx não deve ser repetido. Ver Erros e retries.
Cofre de segredos ou variável de ambiente. Nunca no aplicativo, nunca no navegador, nunca em log.
Uma rotina lendo GET /v1/webhooks/deliveries para achar o que virou dead.