Skip to main content
Você pode copiar e colar nosso snippet de código para começar em segundos ou usar nossa biblioteca JavaScript para integrações avançadas. O checkout embarcado permite uma experiência de compra sem redirecionar o usuário para fora do seu site.

Script hospedado (chargefy.js)

Um único bundle chargefy.min.js expõe checkout e onboarding: window.openChargefyCheckout, window.openChargefyOnboarding, além de window.Chargefy.EmbedOnboarding para compatibilidade com o snippet de onboarding. Para só checkout, continue usando openChargefyCheckout como antes.

Carregar o script

Use a versão minificada em produção, servida em /scripts/ no domínio do app (ex.: app.chargefy.io):
  • chargefy.min.js — recomendado em produção (checkout + onboarding).
  • chargefy.js — mesma API, sem minificar (útil para depuração).
  • checkout-load.min.js — por compatibilidade, o build copia o mesmo conteúdo de chargefy.min.js por um período; prefira chargefy.min.js em novas integrações.
Atributos opcionais no <script> (sem barra final nas origens): Alternativa: window.__CHARGEFY_APP_ORIGIN__ e window.__CHARGEFY_API_ORIGIN__ antes de carregar o script. Em produção, os padrões embutidos são https://app.chargefy.io e https://api.chargefy.io. Se o seu painel usar outro domínio, ajuste os atributos ou as globais acima; o caminho do arquivo continua /scripts/chargefy.min.js no host do app. O script define openChargefyCheckout (e as demais APIs) no window ao executar. Chame-as depois do script ter carregado (por exemplo em um segundo <script defer> abaixo, ou após DOMContentLoaded).

Retorno (Promise)

openChargefyCheckout e openChargefyOnboarding devolvem Promise<{ close: () => void }>. O close remove o overlay e limpa listeners. Em onboarding, a Promise costuma resolver quando o iframe envia o evento loaded (ou após timeout de segurança).

Uso e opções

Exemplos:
Para sessões criadas via API, configure embed_origin com a origem da página onde o iframe é exibido (ex.: https://seusite.com.br), assim o checkout em iframe é permitido.

Snippet de Código (pacote @chargefy/checkout)

O snippet abaixo usa o pacote npm publicado no CDN. É uma alternativa ao script hospedado chargefy.min.js quando você quer a mesma API tipada no bundler ou builds npm. Com chargefy.min.js e data-auto-init, também é possível usar o atributo data-chargefy-checkout no gatilho (o script unificado abre o checkout em modal ao clicar, resolvendo href como URL, path ou slug). O snippet pode ser usado em qualquer site ou CMS que permita inserir HTML. Primeiro, crie um Checkout Link conforme descrito na seção anterior. O snippet pode ser copiado diretamente clicando em Copiar Código Embed. O snippet fica assim:
Isso exibirá um link “Comprar” que abrirá o checkout inline quando clicado. Você pode estilizar o elemento gatilho como quiser, desde que mantenha o atributo data-chargefy-checkout.

Importar Biblioteca

Se você tem um projeto JavaScript mais avançado, como um app React, adicionar a tag <script> pode não ser ideal. Nesse caso, instale nossa biblioteca dedicada.
Importe a classe ChargelyEmbedCheckout e chame manualmente ChargelyEmbedCheckout.init(). Isso adicionará os handlers necessários nos elementos com o atributo data-chargefy-checkout. Exemplo em React:
Em vez de um Checkout Link, você pode usar a URL de uma Checkout Session criada dinamicamente via API.Para isso funcionar, defina corretamente o parâmetro embed_origin ao criar a Checkout Session. Por exemplo, se a página de checkout está em https://seusite.com.br/checkout, defina embed_origin como https://seusite.com.br.

Integração Avançada

Para quem precisa de mais controle sobre o fluxo de checkout embarcado, a classe ChargefyEmbedCheckout oferece funcionalidades avançadas.

Criar embed programaticamente

Em vez de usar triggers declarativos com atributos data-chargefy-checkout, crie e controle instâncias de checkout programaticamente:

Ouvir eventos do checkout

Escute eventos do checkout para reagir às interações do usuário:

Integração React com eventos

Exemplo completo em React com gerenciamento de eventos:

Fechar checkout programaticamente

Em alguns casos, pode ser necessário fechar o checkout programaticamente:

Ver também

  • Hosted Onboarding — cadastro de sub-organizações com URL hospedada ou iframe embarcado, mesmo estilo de snippet/script.