Chargefy.Checkout, para preservar a atribuição de campanha ao enviar o comprador para uma página hospedada;Chargefy(), para salvar um cartão no seu checkout white-label e devolver umpayment_methodreutilizável.
Chargefy.js não cobra nem cria customer. O backend cria o cadastro com uma
chave secreta; o navegador usa uma chave publicável e o
client_secret
daquele cadastro.Carregar o script
Inclua o script servido pela Chargefy. Carregue-o sempre da origem oficial — não faça cópia local, para receber correções de segurança automaticamente.Chargefy.
Propagar atribuição para o Checkout hospedado
UseChargefy.Checkout.trackLinks() na página que recebe o tráfego da
campanha:
localStorage da origem atual e os adiciona aos links de Checkout Session e
Payment Link encontrados na página.
Ele observa também:
- links inseridos depois do carregamento;
- mudanças de
href; - navegação por
pushState,replaceStateepopstateem aplicações SPA.
URLs criadas por JavaScript
Quando o redirect não parte de uma tag<a>, use
Chargefy.Checkout.createTrackedUrl():
https://pay.chargefy.io/session/... ou
https://pay.chargefy.io/link/... voltam sem alteração.
Dados propagados
A landing page e o referrer são reduzidos a origem + path. Query string e
fragmento não são armazenados nem propagados.
O SDK não copia a query string inteira, não lê cookies de mídia e não captura
e-mail, telefone,
client_secret ou parâmetros desconhecidos. Ele também não
faz request de rede para atribuição: apenas grava o snapshot local e atualiza
os links reconhecidos.prefilled_email, locked_prefilled_email, prefilled_promo_code, locale
e client_reference_id).
Regras de precedência
- O primeiro conjunto de campanha salvo na origem é preservado enquanto aquele armazenamento existir.
- Um parâmetro já escrito explicitamente na URL de destino vence o valor salvo.
- Chamadas repetidas de
trackLinks()são idempotentes e não duplicam parâmetros ou observadores.
Inicializar
Salvar o cartão
O backend cria umsetup_intent com customer e entrega o client_secret à
página. O navegador chama confirmSetup() e recebe diretamente o cartão salvo:
POST /v1/setup-intents/{id}/confirm com a credencial de uso único. O número do
cartão e o CVC saem do navegador direto para o processador de cartões; nem o
seu servidor nem a Chargefy recebem esses dados, e seu código não precisa
transportar o token.
Campos do cartão
string
obrigatório
Número do cartão. Espaços e traços são ignorados.
number
obrigatório
Mês de validade (
1–12).number
obrigatório
Ano de validade. Aceita 4 dígitos (
2030) ou 2 dígitos (30).string
obrigatório
Código de segurança (3 ou 4 dígitos).
string
obrigatório
Nome do titular impresso no cartão.
Consultar o estado no navegador
Use o mesmoclient_secret para recuperar o cadastro sem expor a chave secreta
do backend:
customer, metadata, histórico de tentativas ou outros dados da conta.
Chargefy for Platforms: cadastros das organizações filhas
A plataforma recebe automaticamente suas próprias chavespk_test_* e
pk_live_*. Copie a chave do ambiente em Developers → Chaves de API no
console da plataforma; não use a chave da organização dona.
O backend cria o cadastro na organização filha com a chave secreta da
plataforma e o header Organization. No navegador, use a PK da plataforma e o
client_secret recebido:
Como os objetos se encaixam
Erros
confirmSetup rejeita a Promise com um erro que carrega type, code, message e, quando aplicável, param — o mesmo formato dos erros da API. Os campos do cartão são validados no navegador antes de qualquer request:
O número do cartão e o CVC saem do navegador direto para o processador de
cartões; eles nunca passam pelo seu servidor nem pela Chargefy, que recebe
apenas uma credencial opaca de uso único dentro de
confirmSetup().
Erros ao concluir o cadastro
confirmSetup rejeita a Promise no mesmo formato. Os códigos que a tela
precisa tratar são:
Cartões de teste
Compk_test_*, o número do cartão escolhe o cenário. A credencial interna é
sintética e carrega o cenário até a confirmação.
Use qualquer CVC de 3 dígitos e uma validade futura. A tabela completa de cartões para todos os
payment_error.code públicos fica em Sandbox.
Content Security Policy
Se a sua página usa CSP, libere a Chargefy para carregar e se comunicar:script-src permite carregar o SDK. connect-src é necessário para o
cadastro de cartão e os botões de oferta dos funis; a propagação de atribuição não faz request. Em produção,
confirmSetup() também se conecta à origem do processador de cartões para
tokenizar no navegador, então uma CSP restritiva precisa liberá-la. Fale com o
suporte para obter a origem a liberar.
Para que os botões de oferta carreguem a fonte escolhida em Marca, acrescente
também estas origens à sua política existente:
Próximos passos
Checkout white-label
Monte uma tela de pagamento com a sua marca, de ponta a ponta.
Tokenização de cartão
Salve o cartão para cobrar depois (assinaturas, recompra).

