Endpoint público sem autenticação. É a URL retornada no campoDocumentation Index
Fetch the complete documentation index at: https://docs.chargefy.io/llms.txt
Use this file to discover all available pages before exploring further.
url da resposta de POST /v1/payment-links e é o que você compartilha com compradores.
A cada acesso:
- Resolve o payment link pelo
client_secret. - Cria uma nova
checkout.sessioncopiando osline_itemsemetadatado link. - Mescla parâmetros
utm_*ereference_idda query string no metadata da session (sem sobrescrever chaves do link). - Emite o webhook
checkout.session.createdpra todos os endpoints ativos da org dona (e plataformas-pai). - Responde
302 Foundredirecionando pro hosted checkout.
Cache-Control: no-store evitam cache em browsers e CDNs — cada visita gera uma session nova.
Parâmetros de Path
Token incluído na URL do payment link. Não tem prefixo público — vem direto na URL.
Parâmetros de Query (opcionais)
Origem para checkout incorporado (iframe). Quando informado, é preservado no redirect e adicionado ao registro da session.
Identificador externo do parceiro pra correlação. Aparece no
metadata.reference_id da session.Tracking de campanha. Vai pro
metadata.utm_source da session (a menos que já exista a chave no metadata do link).Tracking de campanha — mesmo comportamento.
Tracking de campanha — mesmo comportamento.
Tracking de campanha — mesmo comportamento.
Tracking de campanha — mesmo comportamento.
Regra de metadata
Em conflito de chave, o metadata do link prevalece. UTMs ereference_id da URL só populam chaves que não existem no metadata do link.
| Cenário | Resultado |
|---|---|
Link tem metadata: { campaign: "spring" }, URL traz ?utm_source=email | Session: { campaign: "spring", utm_source: "email" } |
Link tem metadata: { utm_source: "instagram" }, URL traz ?utm_source=email | Session: { utm_source: "instagram" } (link vence) |
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
| Status | Descrição |
|---|---|
302 Found | Redireciona pra https://pay.chargefy.io/session/<new_client_secret>. Header Location contém a URL final. |
400 Bad Request | client_secret ausente. |
404 Not Found | Payment link não existe ou está arquivado. |
422 Unprocessable Entity | Link sem line items (estado inválido — não deveria acontecer em links criados via POST). |
500 Internal Server Error | Falha ao materializar a session. |
Exemplos
Acesso direto (cliente colando o link no browser)
cURL
Com tracking de campanha
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.
