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. Seu código não precisa transportar o
token.
Campos do cartão
string
required
Número do cartão. Espaços e traços são ignorados.
number
required
Mês de validade (
1–12).number
required
Ano de validade. Aceita 4 dígitos (
2030) ou 2 dígitos (30).string
required
Código de segurança (3 ou 4 dígitos).
string
required
Nome do titular impresso no cartão.
API de baixo nível: token
createPaymentToken() continua disponível para integrações que realmente
precisam controlar a credencial intermediária. Ele não é necessário no fluxo
recomendado de Cadastro de cartão.
string
O
token_id de uso único. Envie ao seu backend e use-o uma vez para
confirmar um setup intent ou um payment intent. Depois de consumido, ele morre
— para uma nova tentativa, gere outro token.string
Sempre
token.object
Dados não sensíveis para você exibir um resumo do cartão (
brand,
exp_month, exp_year, last4). O número completo e o CVC nunca são
retornados.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.
Como os objetos se encaixam
Erros
createPaymentToken rejeita a Promise com um erro que carrega type, code, message e, quando aplicável, param — o mesmo formato dos erros da API.
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 apenas para
tokenização live; a propagação de atribuição não faz request. Se a sua CSP for
restritiva e a tokenização for bloqueada, fale com o
suporte.
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).

