Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chargefy.io/llms.txt

Use this file to discover all available pages before exploring further.

Endpoint público sem autenticação. É a URL retornada no campo url da resposta de POST /v1/payment-links e é o que você compartilha com compradores. A cada acesso:
  1. Resolve o payment link pelo client_secret.
  2. Cria uma nova checkout.session copiando os line_items e metadata do link.
  3. Mescla parâmetros utm_* e reference_id da query string no metadata da session (sem sobrescrever chaves do link).
  4. Emite o webhook checkout.session.created pra todos os endpoints ativos da org dona (e plataformas-pai).
  5. Responde 302 Found redirecionando pro hosted checkout.
Cabeçalhos Cache-Control: no-store evitam cache em browsers e CDNs — cada visita gera uma session nova.

Parâmetros de Path

client_secret
string
required
Token incluído na URL do payment link. Não tem prefixo público — vem direto na URL.

Parâmetros de Query (opcionais)

embed_origin
string
Origem para checkout incorporado (iframe). Quando informado, é preservado no redirect e adicionado ao registro da session.
reference_id
string
Identificador externo do parceiro pra correlação. Aparece no metadata.reference_id da session.
utm_source
string
Tracking de campanha. Vai pro metadata.utm_source da session (a menos que já exista a chave no metadata do link).
utm_medium
string
Tracking de campanha — mesmo comportamento.
utm_campaign
string
Tracking de campanha — mesmo comportamento.
utm_term
string
Tracking de campanha — mesmo comportamento.
utm_content
string
Tracking de campanha — mesmo comportamento.

Regra de metadata

Em conflito de chave, o metadata do link prevalece. UTMs e reference_id da URL só populam chaves que não existem no metadata do link.
CenárioResultado
Link tem metadata: { campaign: "spring" }, URL traz ?utm_source=emailSession: { campaign: "spring", utm_source: "email" }
Link tem metadata: { utm_source: "instagram" }, URL traz ?utm_source=emailSession: { utm_source: "instagram" } (link vence)
Não use utm_*, reference_id ou embed_origin como chaves no metadata do link se você usa essas chaves em campanhas externas — ou aceite que o link sempre sobrescreve.

Resposta

StatusDescrição
302 FoundRedireciona pra https://pay.chargefy.io/session/<new_client_secret>. Header Location contém a URL final.
400 Bad Requestclient_secret ausente.
404 Not FoundPayment link não existe ou está arquivado.
422 Unprocessable EntityLink sem line items (estado inválido — não deveria acontecer em links criados via POST).
500 Internal Server ErrorFalha ao materializar a session.

Exemplos

https://pay.chargefy.io/link/9a1bc3d2e4f5...
Ou via curl seguindo redirect:
cURL
curl -L "https://pay.chargefy.io/link/9a1bc3d2e4f5..."

Com tracking de campanha

https://pay.chargefy.io/link/9a1bc3d2e4f5...?utm_source=email&utm_medium=newsletter&reference_id=lead_42
A session resultante carrega metadata: { ..., utm_source: "email", utm_medium: "newsletter", reference_id: "lead_42" } (mais o que veio do link).
Você sempre compartilha a URL completa do campo url retornado ao criar o payment link. Não tente compor a URL manualmente a partir de partes — o client_secret interno não deve ser tratado como ID estável de produto.