Produto
POST /payment_links

Link de pagamento: crie por painel, API ou prompt e venda no WhatsApp

Gere link de pagamento por painel, API ou prompt no Claude e ChatGPT. Pix R$ 0 que cai na hora, cartão em 12x e boleto. Venda no WhatsApp hoje.

Pix, na hora
R$ 0
boleto
R$ 0
cartão em até 12x
3,49%
de mensalidade
R$ 0

Um link de pagamento é uma URL de checkout que você manda para o cliente pagar com Pix, cartão ou boleto, sem site e sem maquininha. No HeroPay você gera o link de três jeitos: no painel em segundos, pela API com uma chamada POST /payment_links ou pedindo em português ao Claude, ChatGPT, Cursor, Lovable e outros. Serve para quem vende produto digital, serviço, mentoria ou assinatura pelo WhatsApp, pela DM ou pela bio. Criar o link é grátis; o Pix custa R$ 0 e cai na hora na sua conta, o boleto custa R$ 0 e o cartão, em até 12x, custa 3,49% por venda aprovada. Sem mensalidade.

Resumo

O essencial em 60 segundos

  • O link de pagamento do HeroPay abre um checkout hospedado com Pix (QR Code e copia e cola), cartão em até 12x, boleto, Apple Pay e Google Pay; você escolhe os métodos por link.
  • Há três jeitos de gerar link de pagamento no HeroPay: pelo painel em app.heropay.tech, pela API (POST /payment_links) ou por prompt no Claude, ChatGPT, Cursor, Lovable e outros, com o llms.txt do HeroPay.
  • No HeroPay, o Pix pago pelo link custa R$ 0 e o dinheiro cai na hora na conta, disponível para saque; boleto também custa R$ 0 e cartão custa 3,49% por transação aprovada (preços).
  • Um mesmo link aceita vendas ilimitadas: cada cliente que abre a URL gera o próprio carrinho, então você pode fixar o link na bio ou num grupo de WhatsApp.
  • O link pode ser avulso (pagamento único) ou recorrente (mensal, trimestral, semestral ou anual), com renovação até o cancelamento ou por número fixo de ciclos.
  • O parâmetro src marca a origem de cada venda (?src=whatsapp, ?src=bio-instagram) e volta no campo cart.src de todo webhook; o checkout também preserva as UTMs da campanha.
  • Quem abre o link, preenche o contato e não paga vira carrinho abandonado: o checkout dispara a recuperação em 15 minutos com o próprio link de volta, e a API lista esses carrinhos para o seu CRM.
  1. Você cria o link com nome, valor em centavos, métodos aceitos, parcelas máximas e, se quiser, a periodicidade da assinatura. Criar não cobra ninguém e não custa nada.
  2. O cliente abre a URL que você mandou no WhatsApp, na DM ou na bio. Nesse momento nasce um carrinho com a origem (src) daquele acesso.
  3. Ele escolhe como pagar. No Pix, paga pelo QR Code ou copia e cola; no cartão, parcela em até 12x (você decide se absorve ou repassa os juros do parcelamento); no boleto, paga até o vencimento.
  4. O pagamento confirma e o seu sistema fica sabendo. O HeroPay envia o webhook spark_payment_confirmed, assinado com HMAC, para a URL que você cadastrou. Libere o acesso ou marque o pedido como pago nesse evento.
  5. O dinheiro entra no saldo. Pix cai na hora, disponível para saque para a sua chave Pix. O boleto fica disponível 2 dias após a aprovação e o cartão em 30 dias (D+30), aparecendo antes como saldo a receber; se precisar antes, você simula e pede a antecipação do cartão.
PainelAPIPrompt (IA)
Para quemQuem vende no WhatsApp, DM e bioDev, SaaS, plataformaQuem constrói com Claude, ChatGPT, Cursor, Lovable
Tempo até o linkSegundosUma chamada HTTPUma frase em português
Ondeapp.heropay.techPOST /payment_linksheropay.tech/llms.txt colado na sua ferramenta de IA
Precisa de códigoNãoSimA IA escreve por você
Melhor paraVenda avulsa, cobrança pontualUm link por cliente, plano ou pedido, gerado pelo seu sistemaCriar links, consultar vendas e montar a integração conversando

1. Pelo painel, em segundos

Entre em app.heropay.tech e, no painel, em poucos cliques, crie o link com nome, valor, métodos de pagamento e parcelas, e copie a URL. Cole no WhatsApp e mande.

No painel, um mesmo produto pode ter múltiplas ofertas: preço cheio, preço de lançamento, versão parcelada, versão com bônus. Cada oferta tem a própria URL, o próprio preço e os próprios pixels, e todas caem no mesmo relatório do produto.

2. Pela API, com uma chamada

Veja a seção Na prática, por código logo abaixo. É o caminho para gerar link sob demanda: um por cliente, um por plano do seu SaaS, um por pedido fechado no seu CRM.

3. Por prompt, no Claude, ChatGPT, Cursor ou Lovable

Cole https://heropay.tech/llms.txt na conversa, peça o link em português e a IA escreve a chamada ao mesmo POST /payment_links. Veja a seção Por prompt.

Na prática, por código

Os exemplos usam o sandbox (api.beta.heropay.tech). Para produção, troque a URL base e a chave. Referência completa em Criar link de pagamento.

curl -X POST "https://api.beta.heropay.tech/payment_links" \
  -H "Authorization: Bearer $HEROPAY_JWT_TOKEN" \
  -H "Accept: application/vnd.herospark.com; version=1" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_link": {
      "name": "Mentoria individual - 1 sessão",
      "description": "Sessão de 60 minutos por videochamada",
      "price_cents": 35000,
      "absorbs_fees": true,
      "max_installments": 6,
      "payment_methods": ["pix", "credit_card", "bank_slip"],
      "src": "whatsapp"
    }
  }'

Resposta 201 Created:

{
  "message": "Payment link created successfully",
  "data": {
    "id": 136,
    "name": "Mentoria individual - 1 sessão",
    "description": "Sessão de 60 minutos por videochamada",
    "price_cents": 35000,
    "absorbs_fees": true,
    "max_installments": 6,
    "period": "unitary",
    "frequency_type": "unlimited",
    "frequency_limit": null,
    "overdue_type": "none",
    "overdue_limit": null,
    "public_id": "fc280e25-7cbd-446f-b34f-5b8824bb5124",
    "offer": {
      "id": 6094,
      "kind": "payment_link",
      "url": "https://pay.beta.herospark.com/fc280e25-7cbd-446f-b34f-5b8824bb5124-6094?src=whatsapp",
      "accepted_payment_methods": ["pix", "credit_card", "bank_slip"]
    },
    "created_at": "2026-09-23T10:07:01.929-03:00",
    "updated_at": "2026-09-23T10:07:01.929-03:00"
  }
}

O link que você manda para o cliente é data.offer.url. O src já vem anexado na URL, sem você concatenar nada. Três regras que evitam 422: valor sempre em centavos (35000 = R$ 350,00), mínimo de R$ 5,00 e parcela mínima de R$ 1,99.

Mande period e o link vira assinatura. frequency_type: "limited" com frequency_limit encerra sozinho depois de N cobranças; "unlimited" renova até o cancelamento.

curl -X POST "https://api.beta.heropay.tech/payment_links" \
  -H "Authorization: Bearer $HEROPAY_JWT_TOKEN" \
  -H "Accept: application/vnd.herospark.com; version=1" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_link": {
      "name": "Comunidade Pro - mensal",
      "price_cents": 4990,
      "absorbs_fees": true,
      "period": "monthly",
      "frequency_type": "unlimited",
      "payment_methods": ["pix", "credit_card", "bank_slip"],
      "src": "bio-instagram"
    }
  }'

A assinatura aceita cartão, boleto e Pix; no Pix, a recorrência usa o Pix Automático: o cliente autoriza uma vez e as cobranças seguintes caem sozinhas. Detalhes de ciclo, cancelamento e eventos em /assinaturas.

Cadastre uma vez a URL que vai ouvir o pagamento confirmado:

curl -X POST "https://api.beta.heropay.tech/webhook" \
  -H "Authorization: Bearer $HEROPAY_JWT_TOKEN" \
  -H "Accept: application/vnd.herospark.com; version=1" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook": {
      "trigger": "spark_payment_confirmed",
      "webhook_url": "https://seuapp.com/webhooks/heropay",
      "request_method": "post"
    }
  }'

Quando o cliente paga, sua URL recebe um POST JSON assinado no header X-HeroPay-Signature (HMAC SHA-256 do corpo bruto). Trecho do payload, com os campos do template padrão e valores ilustrativos:

{
  "buyer": { "name": "Ana Souza", "email": "ana@exemplo.com", "phone": "+55 11 99999-0000" },
  "payment": { "id": "98231", "method": "pix", "status": "paid", "net_value_cents": "35000" },
  "offer": { "title": "Mentoria individual - 1 sessão", "price": "350.00" },
  "product": { "name": "Mentoria individual - 1 sessão" },
  "cart": { "src": "whatsapp" },
  "installments": { "count": "1", "fees": "0" }
}

O cart.src diz de onde veio a venda. Confie no evento, não no polling: libere o acesso quando o webhook chegar, não quando o cliente voltar para a página de obrigado. Validação da assinatura e lista dos 9 gatilhos em /webhooks.

Por prompt, com a sua ferramenta de IA

Cole https://heropay.tech/llms.txt na conversa com Claude, ChatGPT, Cursor, Lovable e outros, e peça:

Com base em https://heropay.tech/llms.txt, escreva o código que cria um
link de pagamento de R$ 350 para "Mentoria individual - 1 sessão",
aceitando Pix, boleto e cartão em até 6x, com origem "whatsapp".
Depois me dá a mensagem pronta para eu mandar pro cliente.

O código gerado chama POST /payment_links com price_cents: 35000 (em centavos, não 350) e src: "whatsapp", e a URL volta pronta em data.offer.url. A chave fica no seu ambiente, nunca colada no chat, e criar link não mexe no seu saldo. Para o botão "Pagar" num app, o passo a passo está em /integracoes/lovable. Um MCP server oficial está em desenvolvimento; hoje o caminho é llms.txt, docs abertas e API REST. Mais em /ai.

No Pix, sim. O Pix pago pelo link do HeroPay cai na hora no seu saldo, disponível para saque para a chave Pix cadastrada no seu CPF ou CNPJ, e custa R$ 0 por transação. Numa venda de R$ 350 no Pix, entram R$ 350,00.

No cartão e no boleto, "cai na hora" não é verdade em nenhum gateway sem custo extra. No HeroPay, o cartão fica disponível em 30 dias (D+30) e o boleto 2 dias após a aprovação. Quando um concorrente anuncia "cartão que cai na hora", o que existe por trás é antecipação de recebíveis, e antecipação tem tarifa. No HeroPay, isso fica explícito: você consulta GET /financial/anticipation_simulation, vê quanto cai e quanto custa, e só então decide. Regras em /antecipacao.

Método no linkTarifa HeroPayQuando o dinheiro fica disponível
Pix (à vista ou com parcelamento via Pix)R$ 0Na hora, no saldo
BoletoR$ 02 dias após a aprovação
Cartão em até 12x3,49% por transação aprovadaEm 30 dias (D+30), ou antes via antecipação simulada

Taxas do HeroPay verificadas em setembro de 2026. Tabela completa e comparação com outros gateways em /precos.

O link de pagamento é o checkout que cabe numa conversa. Três usos que funcionam:

  • WhatsApp, cobrança um a um. Fechou no áudio, manda o link. O checkout tem widget de WhatsApp para o cliente tirar dúvida sem sair da página, e o cupom aplicado pela própria URL resolve o "consegue um desconto?" sem você criar outro link.
  • DM do Instagram ou TikTok. Resposta automática com o link e ?src=dm-instagram. No fim do mês você sabe quanto a DM vendeu, separado do resto.
  • Bio e grupos. O mesmo link aceita vendas ilimitadas, então ele pode ficar fixo na bio ou na descrição do grupo. Cada acesso gera um carrinho próprio.

Para ticket alto vendido no WhatsApp, o checkout traz os recursos que salvam venda de cartão: pagamento com 2 cartões, Parcelamento Inteligente que tenta de novo a venda recusada por limite, e compra 1-click para quem já comprou na rede.

Link avulsoLink recorrente
Campo na APIsem period (unitary)period: monthly, quarterly, semiannual ou annual
CobrançaUma vezAutomática a cada ciclo, com reprocessamento de falha
MétodosPix, cartão até 12x, boletoCartão, boleto e Pix (Pix Automático)
DuraçãoNão se aplicaAté cancelar (unlimited) ou N ciclos (limited + frequency_limit)
Internacional multi-moedaSim (enable_international_sales)Não
Bom paraCurso, ebook, evento, sessão avulsa, serviço fechadoComunidade, clube, SaaS, mentoria de 12 meses
Eventos de webhookspark_payment_confirmed, payment_pix_created, spark_payment_boleto_created, payment_credit_cart_refusedOs mesmos, mais subscription_activate, subscription_update, subscription_cancel

Regra prática: se você vai cobrar o mesmo cliente de novo em 30 dias, é recorrente. Mandar link avulso todo mês é pedir para o cliente esquecer.

Com o src. O mesmo link serve a todos os canais; o que muda é a origem no fim da URL:

https://pay.herospark.com/<public_id>-<offer_id>?src=whatsapp-lista
https://pay.herospark.com/<public_id>-<offer_id>?src=bio-instagram
https://pay.herospark.com/<public_id>-<offer_id>?src=email-lancamento

O valor é salvo no carrinho quando o cliente abre o checkout e chega em cart.src em todos os webhooks daquela compra: pagamento confirmado, recusa, estorno, chargeback. O src aceita letras, números e . _ - ~, até 255 caracteres. Se você cria o link pela API, mande src no corpo e a URL já volta montada.

Para mídia paga, o checkout preserva as UTMs de ponta a ponta e envia os eventos para Meta Pixel com CAPI e deduplicação, Google Ads, GA4 e outros pixels (TikTok, Kwai, Taboola, Outbrain), configurados por oferta. O src é o rastreamento que chega no seu sistema pelo webhook; as UTMs alimentam as suas ferramentas de anúncio.

Um link HeroPay não é de uso único. Ele aceita quantas vendas você quiser, até ser excluído. Para vender o mesmo produto em condições diferentes, crie uma oferta por condição:

  • Por preço: lançamento a R$ 297 e preço cheio a R$ 497, dois links, um só produto.
  • Por método: um link só Pix para a lista quente, com preço especial à vista, e outro com cartão em 12x para o anúncio.
  • Por canal: o mesmo link com src diferente, quando o preço é igual e você só quer medir a origem.

Pela API, cada POST /payment_links cria um link com uma oferta; GET /payment_links lista todos (paginado com page e items) e DELETE /payment_links/{id} tira um do ar. No painel, as ofertas ficam agrupadas no produto.

Todo cliente que abre o link, preenche e-mail ou telefone e não paga vira carrinho abandonado. A recuperação acontece em duas camadas:

  1. Automática, no checkout. A recuperação de carrinho dispara em 15 minutos, com cerca de 25 variáveis para personalizar a mensagem, e leva o link de volta para o cliente terminar a compra de onde parou. Boleto não pago recebe recobrança depois de 4 dias; parcela recusada, até 3 tentativas.
  2. No seu CRM, pela API. GET /reports/tracking/abandoned_carts?start_date=2026-09-22&end_date=2026-09-23 lista os abandonos do período para você disparar a sua própria sequência, pelo WhatsApp do vendedor ou pelo e-mail que já usa.

Para recusa de cartão, o webhook payment_credit_cart_refused traz o motivo da operadora em payment_methods.credit_card.refused_message. Limite estourado pede outra conversa que cartão bloqueado, e o relatório de recusadas mostra qual das duas é a sua maior perda.

Casos de uso, com a conta em reais

Mentora que vende sessão avulsa pelo WhatsApp. Sessão de R$ 350. No Pix, entram R$ 350,00 na hora. No cartão, a tarifa é 3,49%, ou R$ 12,22, e ficam R$ 337,78 (com absorbs_fees: true, os juros do parcelamento também saem do lado dela; com false, o cliente paga). Vinte sessões por mês no Pix são R$ 7.000,00 sem desconto nenhum.

Infoprodutor em lançamento, um link por canal. Curso de R$ 497 com ?src=whatsapp-lista, ?src=bio-instagram e ?src=email-lancamento. Cada venda no cartão custa R$ 17,35 de tarifa e líquida R$ 479,65; cada venda no Pix, R$ 0. No fim do carrinho aberto, o cart.src dos webhooks mostra qual canal pagou o lançamento, e os abandonos das últimas horas voltam pela recuperação automática com o link.

Comunidade paga ou micro-SaaS com link recorrente. Plano de R$ 49,90 por mês. No cartão, cada cobrança custa R$ 1,74 de tarifa; com 100 assinantes, R$ 174,00 por mês, ou R$ 2.088,00 por ano. Com a assinatura no Pix Automático, a tarifa por cobrança é R$ 0 e os R$ 4.990,00 mensais entram inteiros.

Limites e regras honestas

  • Valor mínimo de R$ 5,00 por link (price_cents ≥ 500). Parcelas de 1 a 12, com parcela mínima de R$ 1,99.
  • Valor fixo. Pela API, todo link tem preço definido; não existe link de valor livre, em que o cliente digita quanto quer pagar.
  • Sem edição pela API. A v1 tem criar, listar, consultar e excluir (POST, GET, DELETE), mas não tem PUT. Para mudar o preço, crie um link novo e exclua o antigo.
  • Sem validade ou limite de usos por campo. O link aceita vendas até ser excluído; para encerrar uma oferta, exclua o link.
  • POST /payment_links não é idempotente. Duas chamadas iguais criam dois links; grave o id antes de repetir.
  • Internacional só no avulso. enable_international_sales não vale para link recorrente.
  • Pix pelo checkout. A v1 não cria cobrança Pix solta, fora do link; o QR Code sempre nasce no checkout. Se o Pix gerado expirar, o cliente abre o mesmo link e gera um novo.
  • Split de pagamento não tem endpoint público na v1; acompanhe em /split-de-pagamentos.
  • Conta: a conta de produção aceita CPF, MEI ou CNPJ. A exceção é regra do Banco Central, não do HeroPay: para receber via Pix Automático, o recebedor precisa ter CNPJ. A chave Pix de saque precisa estar no mesmo CPF ou CNPJ do titular.

Gerar o link não custa nada, nem pelo painel, nem pela API, nem por prompt. Você paga só quando vende: Pix R$ 0, boleto R$ 0 e cartão 3,49% por transação aprovada, em até 12x. Não tem mensalidade, taxa de ativação nem volume mínimo, e a API não cobra por chamada. Numa venda de R$ 97, a tarifa fica em R$ 0 no Pix e R$ 3,39 no cartão. Link criado e nunca pago não gera cobrança nenhuma. Tabela completa em /precos.

No Pix, sim: o pagamento confirma em segundos, o valor entra no seu saldo na hora e fica disponível para saque para a sua chave Pix, sem tarifa na transação. No cartão, o dinheiro fica disponível em 30 dias (D+30) e no boleto, 2 dias após a aprovação. Se você precisa do cartão antes, a antecipação existe, tem custo e é mostrada antes de você aceitar pelo endpoint de simulação. Desconfie de quem promete cartão "na hora" sem explicar que isso é antecipação.

Crie o link no painel do HeroPay ou peça ao Claude ou ChatGPT, copie a URL e cole na conversa do WhatsApp. O cliente abre, escolhe Pix, cartão em até 12x ou boleto e paga no checkout, sem instalar nada. Adicione ?src=whatsapp no fim da URL para saber quantas vendas vieram dali. O checkout tem widget de WhatsApp para dúvida de última hora e cupom aplicado pela URL, útil quando o cliente pede desconto na conversa. Quem abre e não paga recebe a recuperação automática em 15 minutos.

Inclua "pix" em payment_methods no POST /payment_links, ou marque Pix ao criar o link no painel. O checkout gera QR Code e copia e cola para o cliente, à vista ou com parcelamento via Pix, e você recebe o webhook payment_pix_created quando o Pix é gerado e spark_payment_confirmed quando é pago. O Pix custa R$ 0 por transação e cai na hora. Se quiser um link só de Pix, mande apenas ["pix"]; se não mandar nada, o padrão da API é Pix e cartão. Mais em /pix.

Pode. O link do HeroPay aceita vendas ilimitadas até você excluí-lo, e cada pessoa que abre a URL gera o próprio carrinho, com os próprios dados e tentativas. Por isso ele pode ficar fixo na bio, na descrição de um grupo ou num botão do seu site. Se quiser saber de onde veio cada comprador, use o mesmo link com src diferente por canal. Se quiser condições diferentes (preço de lançamento, só Pix, cartão em 12x), crie uma oferta por condição.

Dá. Pela API, envie period com monthly, quarterly, semiannual ou annual e o link vira assinatura. Com frequency_type: "unlimited" renova até o cancelamento; com "limited" e frequency_limit: 12, encerra sozinho depois de 12 cobranças. A assinatura aceita cartão, boleto e Pix, e no Pix usa o Pix Automático, em que o cliente autoriza uma vez. O HeroPay cobra cada ciclo, reprocessa falhas e avisa por webhook (subscription_activate, subscription_update, subscription_cancel). Veja /assinaturas.

Faça POST /payment_links com os headers Authorization: Bearer <jwt> e Accept: application/vnd.herospark.com; version=1, mandando payment_link com price_cents (em centavos) e absorbs_fees, que são obrigatórios, e opcionalmente name, description, max_installments, payment_methods, period e src. A resposta 201 traz a URL do checkout em data.offer.url. Teste no sandbox (api.beta.heropay.tech) de graça e sem homologação; para produção, troque a chave e a URL base. Referência completa em /desenvolvedores.

Dá. Cole https://heropay.tech/llms.txt na conversa com Claude, ChatGPT, Cursor, Lovable e outros, e peça em português: "escreva o código que cria um link de R$ 197 com Pix e cartão em 12x". A IA monta a chamada ao POST /payment_links com o valor em centavos, e o seu código recebe a URL do checkout. A chave fica no seu ambiente, nunca colada no chat, e criar link não mexe no seu saldo. Um MCP server oficial está em desenvolvimento. Detalhes em /ai.

Use o parâmetro src. Mande src ao criar o link pela API ou adicione ?src=nome-do-canal no fim da URL. O valor é salvo no carrinho e entregue no campo cart.src de todos os webhooks daquela compra, do pagamento confirmado ao chargeback. Aceita letras, números e os caracteres . _ - ~, até 255 caracteres. Para campanhas pagas, o checkout também preserva as UTMs e envia eventos para Meta Pixel com CAPI, Google Ads e GA4, configurados por oferta.

Se ele preencheu e-mail ou telefone, vira carrinho abandonado. O checkout dispara a recuperação automática em 15 minutos, com o link de volta para ele terminar a compra, e você pode personalizar a mensagem com cerca de 25 variáveis. Boleto não pago recebe recobrança após 4 dias. Se preferir tocar a recuperação no seu CRM, GET /reports/tracking/abandoned_carts lista os abandonos por período. Recusa de cartão chega pelo webhook payment_credit_cart_refused, com o motivo da operadora.

O valor mínimo é R$ 5,00 (price_cents: 500). O cartão parcela de 1 a 12 vezes, com parcela mínima de R$ 1,99, então um link de R$ 20 aceita no máximo 10x. Você define o teto com max_installments e escolhe com absorbs_fees se os juros do parcelamento ficam com você (true) ou com o comprador (false). O checkout também oferece parcelamento via Pix e boleto parcelado. Mandar valor em reais em vez de centavos é o erro mais comum: 97 vira R$ 0,97 e a API responde 422.

Pela API v1, não: existem criar, listar, consultar e excluir, mas não editar. Para mudar o preço, crie um link novo e exclua o antigo com DELETE /payment_links/{id}, para ninguém pagar o valor velho. Se a ideia é dar desconto pontual a um cliente, você não precisa de link novo: use cupom aplicado pela URL do próprio checkout. Se o preço muda com frequência (lançamento, virada de lote), crie uma oferta por preço desde o início e troque o link divulgado.

Crie a conta, gere o primeiro link no sandbox e pague você mesmo para ver o webhook chegar. Quando estiver certo, troque a chave e vá pro ar.

Teste esta função no sandbox

Crie a conta, pegue o token e faça a primeira chamada em minutos.

Pix e boleto R$ 0 · cartão 3,49% em até 12x · saque sem tarifa