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.
Abra o App InfinitePay.
Toque em Vendas na aba superior.
Deslize a tela para baixo e toque em Checkout.
Vá até a aba Configurações.
Toque em Habilitar Checkout Integrado.
Na mesma área, crie uma API Key e dê a ela um nome que identifique sua integração, como produção ou minha-loja.
A API Key é opcional: sem ela, basta enviar sua InfiniteTag. Ela é necessária para usar as opções avançadas.
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.
