Skip to main content
POST
Criar Payin

Autorização

Você deve obrigatoriamente fornecer sua credencial no cabeçalho.
string
required
Use o Basic Auth base64 de suas chaves de produção. Ex: Basic cGtf...

Body

string
required
Os valores aceitos são: "CREDIT_CARD", "PIX" ou "BOLETO"
integer
required
Valor total da transação em centavos. Exemplo: para R$100,00 envie 10000
string
required
ID único ou número do pedido dentro do banco de dados da sua aplicação associada à cobrança.
string
Opcional. Uma URL do seu backend (https://...) que deverá ser notificada quando o status deste pagamento mudar (Ex: o Pix for pago).
boolean
required
Indica se o item cobrado exige entrega física (true) ou se é digital ou serviço (false).
string
required
Endereço de IPv4 de quem está efetuando o pagamento originário (Necessário para a prevenção de Fraudes e Anti-Chargeback).

Customer (Cliente)

Objeto encapsulando quem está comprando de você.
object
required

Items (Carrinho)

Array de objetos especificando o que está sendo comprado e taxado.
array
required

Card (Cartão de Crédito)

Se o paymentMethod escolhido foi "CREDIT_CARD", o objeto card é obrigatório. Para PIX e Boleto, omita este objeto por inteiro.
Recomendado: envie apenas card.token (gerado pelo SDK LegacyPay — veja Tokenização). Com o token, os campos de PAN bruto (number, cvv, etc.) são preenchidos com segurança pela plataforma e podem ser omitidos. Quando a tokenização é exigida, PAN bruto é rejeitado com 400 INVALID_DATA.
object

Antifraud (Antifraude)

Opcional. Identificador da sessão de device fingerprint coletada pelo SDK. Veja Antifraude.
object

Response

A resposta varia ligeiramente dependendo do método de pagamento escolhido. A API sempre tentará devolver um 201 Created.

Sucesso: Criação de PIX

Sucesso: Criação de Boleto

Sucesso: Cartão de Crédito

Pendente: Desafio 3DS (pós-ordem)

Quando a adquirente exige um desafio 3D Secure após a criação do payin, a resposta vem com status: "PENDING_3DS" e os campos do desafio. Use o SDK (client.handlePendingThreeDS()) para concluir.
status: "APPROVED" na resposta do /payin não garante liquidação. Confirme sempre a venda final via webhook ou GET /payin/{id}.

Exemplo de request com cartão tokenizado