Passar para o conteúdo principal

Como usar o Checkout Integrado da InfinitePay?

Veja como conectar seu site ou sistema à API da InfinitePay para gerar links de pagamento automaticamente.

O Checkout Integrado da InfinitePay conecta seu site ou sistema de vendas à nossa API para gerar links de pagamento automaticamente. Quando seu cliente finaliza um pedido, seu servidor cria o link e direciona ele direto para a tela de pagamento.

Além de criar o link, você pode escolher os meios de pagamento, oferecer desconto por método, definir validade, limitar o link a um único pagamento e receber atualizações automáticas por webhook.


📝 Antes de começar

Para usar o Checkout Integrado, você precisa habilitar a integração e criar uma API Key.

  1. Abra o App InfinitePay.

  2. Toque em Vendas na aba superior.

  3. Deslize a tela para baixo e toque em Checkout.

  4. Vá até a aba Configurações.

  5. Toque em Habilitar Checkout Integrado.

  6. Na mesma área, crie uma API Key e dê a ela um nome que identifique sua integração, como produção ou minha-loja.

    1. A API Key é opcional: sem ela, basta enviar sua InfiniteTag. Ela é necessária para usar as opções avançadas.

  7. Copie e guarde a chave em um local seguro.

Se preferir fazer isso pela web, é só clicar aqui.

Importante: a API Key aparece somente no momento da criação. Guarde em uma variável de ambiente ou em um cofre de segredos e use apenas no seu servidor. Nunca exponha a chave no frontend do seu site.


📌 Termos importantes

  • Vendedor: você, o dono do site ou sistema de vendas.

  • Comprador: a pessoa que vai fazer a compra.

  • API Key: a chave que identifica sua conta nas requisições. Ela vai no header X-Api-Key, então não é necessário enviar sua InfiniteTag.

  • order_nsu: o identificador do pedido no seu sistema.


🔧 Como funciona a integração?

Quando alguém faz um pedido no seu site, seu servidor envia os dados do pedido para a InfinitePay. Em resposta, você recebe uma URL de Checkout para redirecionar o cliente e concluir o pagamento.


1️⃣ Crie o link de pagamento

Envie uma requisição POST para https://api.checkout.infinitepay.io/links com sua API Key no header X-Api-Key:

curl -X POST https://api.checkout.infinitepay.io/links \
-H "X-Api-Key: inchk_sua_chave_secreta" \
-H "Content-Type: application/json" \
-d '{
"order_nsu": "pedido-123",
"redirect_url": "https://seusite.com/pagamento-concluido",
"items": [
{"quantity": 1, "price": 1000, "description": "Curso de vendas"}
]
}'curl -X POST https://api.checkout.infinitepay.io/links \
  • items (obrigatório): precisa ter pelo menos um produto ou serviço, cada um com quantity, price e description.

  • Preço em centavos: 1000 representa R$ 10,00.

  • order_nsu (opcional): associa o link a um pedido do seu sistema e volta nos eventos e na URL de redirecionamento. Se você não enviar, a InfinitePay gera um identificador para o link.

Na resposta, você recebe a URL de Checkout. É só direcionar seu cliente para ela!


2️⃣ Antecipe os dados do comprador

Se você já tem os dados do cliente e o endereço, envie junto para deixar o preenchimento do Checkout mais rápido. Todos os campos são opcionais:

"customer": {
"name": "João Silva",
"email": "joao@email.com",
"phone_number": "+5511999887766"
},

"address": {

"cep": "12345678",
"street": "Rua das Flores",
"number": "123",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"complement": "Apto 45"
}


3️⃣ Redirecione o cliente depois do pagamento

O campo redirect_url é opcional e define a página de sucesso no seu site. Depois de pagar, o cliente pode continuar para essa URL. Se você não informar, ele verá o recibo da compra.

A URL de redirecionamento recebe estes parâmetros:

  • receipt_url: link do comprovante, que você pode disponibilizar ao comprador.

  • order_nsu: o identificador do pedido no seu sistema.

  • slug: código da fatura na InfinitePay.

  • capture_method: como foi pago (credit_card ou pix).

  • transaction_nsu: identificador único da transação.


⚙️ Personalize cada link

O objeto options é opcional e vale só para aquele link, sem alterar as configurações gerais do seu Checkout:

"options": {
"assured_installments": 3,
"require_delivery_address": true,
"single_payment": true,
"valid_until": "2026-12-31T23:59:59-03:00",
"payment_methods_enabled": ["credit_card", "pix"],
"discounts": { "pix": 5, "credit_card": 2.5 }
}

  • assured_installments (0 a 12): define até quantas parcelas têm as taxas absorvidas por você. Com 3, por exemplo, o cliente parcela em até 3x sem repasse das taxas correspondentes. Use 0 quando não quiser absorver taxas de parcelamento. Consulte os valores na tabela de taxas.

  • require_delivery_address (true ou false): define se o Checkout pede o endereço de entrega do comprador.

  • single_payment (true ou false): com true, o link aceita apenas um pagamento. Depois disso, novas tentativas com o mesmo link são bloqueadas.

  • valid_until (data ISO 8601): define quando o link expira. A data precisa estar no futuro e dentro de um ano a partir da criação do link.

  • payment_methods_enabled: escolhe os meios de pagamento do link. Os valores aceitos são credit_card e pix. O credit_card sempre vai estar disponível.

  • discounts: aplica desconto percentual por meio de pagamento, maior que 0 e menor que 100. As chaves aceitas são pix e credit_card.


🔔 Receba atualizações por webhook

Para ser avisado automaticamente sobre mudanças no pagamento, envie uma URL HTTPS e escolha os eventos que seu sistema deve receber:

"webhook": {
"url": "https://seusite.com/webhook-infinitepay",
"events": ["paid", "refunded", "canceled"]
}

Eventos disponíveis:

  • created: o pedido foi feito, mas ainda não foi pago.

  • paid: o pagamento foi aprovado.

  • settled: o pagamento foi liquidado.

  • canceled: a cobrança foi cancelada antes da conclusão do pagamento.

  • refunded: um pagamento aprovado foi estornado.

  • payment_failed: uma tentativa de pagamento não foi aprovada.

Responda com status 200 assim que processar o evento. Em caso de erro, a entrega pode ser tentada novamente.


🔍 Consulte o status manualmente

Se preferir não usar webhook, você pode consultar se o pagamento foi aprovado enviando uma requisição POST para https://api.checkout.infinitepay.io/payment_check, também com sua API Key no header X-Api-Key:

curl -X POST https://api.checkout.infinitepay.io/payment_check \
-H "X-Api-Key: inchk_sua_chave_secreta" \
-H "Content-Type: application/json" \
-d '{
"handle": "minha-handle",
"order_nsu": "pedido-123",
"transaction_nsu": "UUID-que-recebeu",
"slug": "codigo-da-fatura"
}'

Use os valores de order_nsu, transaction_nsu e slug que chegaram na URL de redirecionamento. A resposta mostra, entre outros dados, se o pagamento foi aprovado (paid), o valor (amount), o valor pago (paid_amount), as parcelas (installments) e o meio de pagamento (capture_method).


💡 Dicas práticas

  • Proteja sua API Key: use apenas no servidor e nunca em código que roda no navegador.

  • Prefira o webhook: ele avisa seu sistema na hora. Deixe o payment_check como alternativa ou para conferir um pedido específico.

  • Valide o order_nsu: confira se ele corresponde a um pedido real no seu sistema.

  • Guarde o transaction_nsu: ele ajuda em consultas futuras.

  • Use single_payment e valid_until em cobranças únicas: assim o link não é reaproveitado nem fica ativo para sempre.

  • Incentive o Pix com discounts: um pequeno desconto por método pode acelerar o recebimento.


🔔 Precisa de ajuda?

Fale com nossa equipe pelo chat no App InfinitePay.

🔒 Cuide da sua segurança!

A InfinitePay entra em contato apenas através de canais oficiais e números verificados. Nunca clique em links suspeitos ou compartilhe senhas e códigos de segurança. Saiba mais acessando nosso Guia de Segurança.

Respondeu à sua pergunta?