Skip to main content
Não existe endpoint separado para cripto. Você usa o mesmo POST /v1/payments com paymentMethod: "ltc". O valor continua indo em valueCents, em reais. A conversão para LTC é feita na hora, pela cotação do momento.
Resposta

O valor exato importa

Cobre exatamente o ltc.amount, com todas as casas decimais. Os últimos satoshis são aleatórios de propósito: é assim que a gente sabe qual pagamento chegou quando duas cobranças têm o mesmo preço. Valor diferente não é reconhecido automaticamente.
Na prática isso significa que você mostra ltc.amount como está, sem arredondar para exibição. Um toFixed(4) na interface é o suficiente para o cliente pagar o valor errado.

Três diferenças em relação ao PIX

Expira em 25 min

PIX expira em 30 minutos, LTC em 25. O expiresAt sempre manda.

3 confirmações

Não é instantâneo. O webhook sai quando a rede fecha as confirmações.

Sem sandbox

Com chave ps_test_ a resposta é 400. Cotação e endereço vêm da rede real.

Erros específicos

Consulta e webhook

Iguais aos do PIX. A consulta é GET /v1/payments/{paymentId} e o webhook chega em callbackUrl quando as confirmações fecham.
Como a confirmação demora, cripto combina bem com entrega assíncrona: confirme o pedido na hora com status “aguardando rede” e libere o produto quando o webhook chegar. Prender o cliente numa tela de espera por vários minutos derruba conversão.

E o USDT?

USDT aparece na PurinCash só na saída, como forma de saque, não como forma de receber. Está em Saques.