Criar um cliente e cobrar no PIX
Nesta recipe
- Aponte para o sandbox
- Cadastre o cliente
- Crie a cobrança PIX
- Use o id e o uuid
Checkout embutido (ninepay.js)
Coloque o pagamento de uma fatura dentro da sua página, com o seu botão de pagar e o iframe da NinePay para cartão, PIX e boleto.
6 passos
Abrir recipe: Checkout embutido (ninepay.js)Cobrança no cartão de crédito
Gere um card hash com um cartão de teste do sandbox, cobre no cartão em parcelas e confira o status.
4 passos
Abrir recipe: Cobrança no cartão de créditoCriar um cliente e cobrar no PIX
Cadastre o cliente com POST /customers e gere uma cobrança PIX para ele com POST /payments.
4 passos
Abrir recipe: Criar um cliente e cobrar no PIXCriar plano e assinatura recorrente
Crie um plano mensal, assine um cliente nele e mande o cliente para o checkout ativar a assinatura.
3 passos
Abrir recipe: Criar plano e assinatura recorrenteEstornar um pagamento
Devolva ao cliente um pagamento pago no cartão ou no PIX e acompanhe o reembolso até ser concluído.
3 passos
Abrir recipe: Estornar um pagamentoReceber e validar webhooks
Receba os eventos da NinePay, responda rápido, valide a assinatura, ignore entregas repetidas e confirme o pagamento na API antes de liberar o acesso.
6 passos
Abrir recipe: Receber e validar webhooks
Criar um cliente e cobrar no PIX
Cadastre o cliente com POST /customers e gere uma cobrança PIX para ele com POST /payments.
Pressione Enter para destacar o código deste passo1. Aponte para o sandbox
Todas as chamadas de teste vão para
https://api.sandbox.cefispay.com.br/api/v1, com a chave de sandbox (prefixosk_hmlg_) no headerAuthorization: Bearer. Guarde a chave em variável de ambiente e chame a API só do seu servidor.2. Cadastre o cliente
nameeemailsão obrigatórios; CPF (ou CNPJ) ajuda a identificar o pagador. Guarde oidretornado junto do usuário no seu sistema, para não criar o mesmo cliente duas vezes.Se depois for cobrar no cartão, o cadastro também precisa de
phone,cepenumber.3. Crie a cobrança PIX
Envie
method: "pix", o cliente e o valor em centavos. Odue_date(AAAA-MM-DD) define o vencimento do PIX.Para emitir um boleto, troque o
methodporbillet: odue_datepassa a ser obrigatório e a resposta traz também oinvoice_url.4. Use o id e o uuid
Use o
idnas rotas autenticadas, comoGET /payments/{id}, e ouuidno que é público, como o checkout embutido. Para saber quando o cliente pagou, escute o webhookpayment.approved(veja a recipe Receber e validar webhooks).
const BASE_URL = 'https://api.sandbox.cefispay.com.br/api/v1';
const headers = {
Authorization: `Bearer ${process.env.NINEPAY_TOKEN}`,
'Content-Type': 'application/json',
Accept: 'application/json',
};
// 1. Cadastre o cliente
const customerRes = await fetch(`${BASE_URL}/customers`, {
method: 'POST',
headers,
body: JSON.stringify({
name: 'Maria Souza',
email: 'maria@exemplo.com.br',
cpf: '13690958725',
}),
});
const customer = await customerRes.json();
// 2. Crie a cobrança PIX para esse cliente
const paymentRes = await fetch(`${BASE_URL}/payments`, {
method: 'POST',
headers,
body: JSON.stringify({
method: 'pix',
customer: { id: customer.id },
value: 5000, // R$ 50,00, sempre em centavos
due_date: '2026-11-10',
}),
});
const { payment } = await paymentRes.json();
console.log(payment.id, payment.uuid);Resposta
{
"customer": {
"id": 315968,
"name": "Maria Souza",
"email": "maria@exemplo.com.br",
"cpf": "13690958725"
},
"payment": {
"id": 1470491,
"uuid": "6f1c1a52-1d7e-4f43-a7a4-0a5a2b1c9e10",
"value": 5000,
"due_date": "2026-11-10T03:00:00.000000Z"
}
}