Seu próximo projeto.
Conectado em poucos passos.
Do botão de compra ao agente de IA, o mesmo checkout acompanha seu produto. Escolha a integração que combina com o seu site.
01. Prepare seu espaço de vendas.
- Crie sua conta e confirme o link enviado ao seu e-mail.
- No painel, abra Recebimentos. Conecte uma chave exclusiva da conta Asaas do produtor e confira a aprovação cadastral.
- Em Meu checkout, preencha razão social ou nome completo, CPF/CNPJ, endereço de atendimento e e-mail de suporte. Autorize a exibição da identificação do vendedor para habilitar a venda real. Você também pode ocultar a marca Eazy.
- Em Produtos, cadastre nome, descrição, preço e forma de pagamento. A URL de entrega é opcional; para membros, use um webhook.
- Em Instalação, autorize a origem do seu site:
https://seusite.com.br. Cadastre tambémhttps://www.seusite.com.br, se necessário. - Escolha link, modal, widget ou botão flutuante. Copie o código exibido para o seu produto.
O pagamento real exige que a operação financeira da plataforma e a conta recebedora estejam habilitadas. Um cadastro pendente mostra “Quase pronto” ao comprador. Explore o painel de demonstração e experimente uma compra simulada: ela não gera cobrança nem e-mail.
02. Copie. Cole. Comece.
Troque SEU_PRODUTO pelo identificador exibido no seu painel. O script funciona em páginas que permitem JavaScript e iframe. Em plataformas que bloqueiam esses recursos, use o link direto.
Um botão que abre o checkout sobre seu site
<script src="https://checkout.bizz.builders/embed.js" defer></script> <button data-eazy-product="SEU_PRODUTO">Comprar agora</button>
Um widget dentro da sua página
<script src="https://checkout.bizz.builders/embed.js" defer></script> <div data-eazy-widget="SEU_PRODUTO"></div>
Um botão flutuante
<script src="https://checkout.bizz.builders/embed.js" data-product="SEU_PRODUTO" data-mode="floating" data-label="Quero participar →" defer></script>
No WordPress, cole em um bloco HTML personalizado ou na área de scripts do construtor. Alguns planos e perfis removem scripts: nesse caso, quem administra o site deve autorizar o bloco, ou você pode usar https://checkout.bizz.builders/p/SEU_PRODUTO.
React, Next.js ou outros aplicativos
Carregue o script uma vez, após a montagem do cliente. O objeto global é criado quando o arquivo termina de carregar; use o evento load do script. Na desmontagem, remova a instância para evitar widgets duplicados.
// Código executado no navegador, após carregar embed.js:
const instance = window.EazyCheckout.mount('#checkout', {
productId: 'SEU_PRODUTO',
onEvent(event) { console.log(event.type, event.status); }
});
// Também disponível: EazyCheckout.open({ productId: 'SEU_PRODUTO' })
// Limpeza do componente: instance.destroy()Para um carrinho ou pedido criado pela API, use { sessionToken: resposta.token }. O token é uma permissão temporária de acesso àquela compra: não o publique em catálogos, logs ou analytics. O widget usa iframe isolado e mensagens com origem, janela e canal verificados.
Se seu site usa Content-Security-Policy, permita https://checkout.bizz.builders em script-src e frame-src. O SDK usa estilos no Shadow DOM; uma política que proíba estilos embutidos exige autorização desses estilos pelo responsável do site. Veja a instalação funcionando.
03. Conecte seu servidor.
Em API & MCP, crie uma chave com as permissões necessárias. Ela aparece uma única vez, tem validade e pode ser revogada. Guarde-a no cofre de segredos do seu servidor. Não a inclua em HTML, aplicativos distribuídos, links ou prompts públicos.
| Ação | Endpoint | Permissão |
|---|---|---|
| Listar produtos | GET /api/v1/products | products:read |
| Criar / atualizar produto | POST /api/v1/products PUT /api/v1/products/{id} | products:write |
| Preparar um checkout | POST /api/v1/sessions | sessions:write |
| Consultar pedidos | GET /api/v1/orders GET /api/v1/orders/{id} | orders:read |
| Dados do comprador para entrega | GET /api/v1/orders/{id}/customer | orders:customers |
| Cancelar recorrência | POST /api/v1/orders/{id}/cancel-subscription | subscriptions:write |
| Gerar código de instalação | GET /api/v1/integration/{produto} | integration:read |
| Solicitar estorno integral | POST /api/v1/orders/{id}/refund | refunds:write |
O catálogo de pedidos e o MCP não expõem documentos ou endereço do comprador. Para a entrega, use o endpoint de comprador com a permissão específica orders:customers, desativada por padrão; cada consulta é auditada e limitada aos seus pedidos. Proteja esses dados no seu servidor.
Produtos físicos pedem CEP, logradouro, número, cidade e UF no checkout. O preço cadastrado deve incluir a entrega aplicável; descreva regiões atendidas, prazo, restrições e eventuais despesas na oferta. Esta versão não calcula frete por transportadora. Produtos digitais podem informar a URL de acesso liberada após confirmação ou integrar a entrega por webhook.
Estorno e cancelamento exigem Idempotency-Key e JSON {"confirmed":true,"reason":"Motivo informado pelo produtor"}. As permissões financeiras são opcionais e devem ser concedidas somente a serviços autorizados.
Criar um produto com JavaScript no servidor
const base = 'https://checkout.bizz.builders';
const headers = {
Authorization: `Bearer ${process.env.EAZY_API_KEY}`,
'Content-Type': 'application/json'
};
const response = await fetch(`${base}/api/v1/products`, {
method: 'POST', headers,
body: JSON.stringify({
title: 'Meu programa', description: 'Aulas e materiais de apoio.',
priceCents: 29700, category: 'digital',
methods: ['PIX', 'CREDIT_CARD'], maxInstallments: 6
})
});
if (!response.ok) throw new Error(`Eazy: ${response.status}`);
const product = await response.json();Preparar o link para o comprador
const response = await fetch(`${base}/api/v1/sessions`, {
method: 'POST', headers,
body: JSON.stringify({
productId: product.id,
externalReference: 'pedido-123',
metadata: { accountId: 'conta-interna-123' },
successUrl: 'https://seusite.com.br/obrigado',
expiresIn: 3600
})
});
if (!response.ok) throw new Error(`Eazy: ${response.status}`);
const checkout = await response.json();
// Mostre checkout.url ao comprador, ou use checkout.token no widget.Preços são inteiros em centavos. A URL de retorno deve pertencer a uma origem autorizada. Criar produto ou sessão não cobra ninguém. Ao autorizar o pagamento, o checkout exige Idempotency-Key; repetições com a mesma sessão e os mesmos dados devolvem a tentativa existente. Uma tentativa incerta é reconciliada sem emitir outra cobrança automaticamente.
A API não transforma POST /products ou POST /sessions em uma operação idempotente: se você repetir essas ações, poderá criar outro registro. Guarde os IDs no seu sistema. Não envie documentos ou dados sensíveis em metadata.
Erros: 401 chave inválida; 403 permissão; 409 conflito ou conta pendente; 422 dados inválidos; 429 limite de solicitações; 502/503 provedor indisponível. Consulte o contrato OpenAPI completo.
04. Libere o acesso com confirmação.
Cadastre seu endpoint HTTPS no painel. Os eventos chegam com X-Eazy-Event-Id, X-Eazy-Timestamp e X-Eazy-Signature. Guarde o segredo exibido após salvar a integração. O segredo é privado e não pertence ao script do checkout.
{
"id": "evt_…", "type": "order.paid", "createdAt": 1790000000,
"data": {
"orderId": "ord_…", "productId": "prod_…", "status": "PAID",
"amountCents": 29700, "externalReference": "pedido-123",
"metadata": { "accountId": "conta-interna-123" }
}
}Verifique a assinatura usando o corpo bruto recebido, antes de interpretar o JSON. O conteúdo assinado é timestamp + "." + corpoBruto; a assinatura é sha256= seguida do HMAC-SHA256 hexadecimal com seu segredo.
// Node.js, em uma rota configurada para receber Buffer bruto:
import { createHmac, timingSafeEqual } from 'node:crypto';
const ts = req.headers['x-eazy-timestamp'];
const signature = req.headers['x-eazy-signature'] || '';
if (!/^\d+$/.test(ts || '') || Math.abs(Date.now()/1000-Number(ts)) > 300)
throw new Error('Evento expirado');
const expected = 'sha256=' + createHmac('sha256', process.env.EAZY_WEBHOOK_SECRET)
.update(ts + '.').update(req.body).digest('hex');
const actualBuffer = Buffer.from(signature);
const expectedBuffer = Buffer.from(expected);
if (actualBuffer.length !== expectedBuffer.length ||
!timingSafeEqual(actualBuffer, expectedBuffer)) throw new Error('Assinatura inválida');
const event = JSON.parse(req.body.toString('utf8'));
// Transação: persistir event.id com UNIQUE + liberar acesso se PAID.
// Só responder 200 depois de persistir. Repetições devem responder 200.Eventos disponíveis: order.paid, order.partially_refunded, order.refunded e order.chargeback, além de subscription.cancelled para o fim da recorrência e order.updated para outros estados. Entregas podem se repetir; deduplique por event.id. Antes de conceder um acesso importante, consulte também o pedido com a API autenticada e confira produto, preço, status e sua referência interna.
eazy:checkout ajudam a atualizar a tela. A liberação de produto ou serviço deve depender do webhook assinado e do pedido confirmado no servidor.Uma cobrança pode estar confirmada e a comissão ainda não liquidada. O pedido expõe splitStatus; a plataforma considera comissão recebida apenas após o split próprio estar SETTLED. O pagamento é consultado novamente na Asaas antes da atualização e da entrega.
05. Um checkout que conversa com sua IA.
Endpoint MCP: https://checkout.bizz.builders/mcp. Transporte Streamable HTTP, modo stateless com respostas JSON, autenticação por chave Bearer do produtor. Versões suportadas: 2025-11-25, 2025-06-18 e 2025-03-26.
Clientes com suporte a URL e headers
{
"mcpServers": {
"eazy-checkout": {
"url": "https://checkout.bizz.builders/mcp",
"headers": { "Authorization": "Bearer SUA_CHAVE_PRIVADA" }
}
}
}Este é um exemplo genérico. O formato e a injeção de segredos variam por cliente; prefira o cofre ou a variável de ambiente do programa. Clientes que exigem OAuth precisam de um adaptador: o Eazy oferece autenticação Bearer, sem descoberta OAuth.
Clientes com transporte stdio
No código do projeto, scripts/eazy_mcp.py oferece uma ponte stdio → HTTPS sem dependências extras. Python 3.11 ou superior. Configure o caminho absoluto no seu cliente e forneça a chave em variável de ambiente.
{
"mcpServers": {
"eazy-checkout": {
"command": "python",
"args": ["/caminho/absoluto/eazy_mcp.py"],
"env": {
"EAZY_MCP_URL": "https://checkout.bizz.builders/mcp",
"EAZY_API_KEY": "SUA_CHAVE_PRIVADA"
}
}
}
}| Ferramenta | O que faz |
|---|---|
| products_list | Consulta seus produtos. |
| products_create | Cadastra um produto com título, preço e métodos. |
| checkout_create | Prepara um link para o comprador. |
| orders_list | Consulta seus pedidos sem documentos dos compradores. |
| integration_generate | Gera script, widget, botão flutuante e link. |
| account_status | Explica a prontidão da conta conectada. |
As ferramentas visíveis dependem das permissões da chave. O MCP não efetua cobranças nem oferece ferramenta de estorno. O comprador escolhe e autoriza o pagamento no checkout.
Instrução sugerida para seu agente
Use o Eazy para preparar produtos e checkouts do produtor autenticado. Preços são centavos inteiros. Não invente status, vendas ou comprovantes. Peça os dados comerciais ausentes antes de criar um produto. Não inclua segredos em textos, HTML, logs ou links. checkout_create só prepara o link: o comprador autoriza o pagamento. Use webhook assinado e consulta do pedido para conceder acesso. Confirme com o responsável antes de alterar conteúdo comercial.
Para descoberta por agentes: llms.txt, manifesto MCP e OpenAPI.
06. Uma divisão transparente.
A comissão da plataforma é 5% do valor bruto, arredondada para centavos. Em uma venda de R$ 100,00, a comissão Eazy é R$ 5,00; as tarifas da Asaas também são descontadas, e o saldo fica na conta do produtor. As tarifas dependem da conta e do método, podendo haver custos de antecipação, parcelamento, estorno e contestação.
O servidor envia um split de valor fixo; para parcelamento, envia o valor fixo total distribuído nas parcelas. Assim, os 5% não são calculados sobre o líquido após as tarifas. Valores, parcelas e o split da carteira Eazy são conferidos antes da liberação do pedido.
O produtor conecta sua própria conta aprovada. Criação automática de subcontas é uma capacidade BaaS separada, exige conta-pai PJ e habilitação da Asaas. Também dependem da Asaas a aceitação de carteiras no arranjo, KYC, métodos de cobrança e liberação do saldo.
Pix aparece na interface Eazy. Cartão é preenchido no ambiente seguro Asaas, aberto em outra aba; isso evita transmitir PAN/CVV ao Eazy ou ao site do produtor. Boleto depende de habilitação da conta. Assinaturas usam cartão e os ciclos configurados. Para cancelar a recorrência, solicite ao produtor; ele pode encerrar a assinatura pelo botão Cancelar recorrência nos pedidos. Essa ação também remove cobranças pendentes ou vencidas, sem estornar pagamentos anteriores.
O painel permite solicitar estorno integral de Pix e cartão. Pedidos que já tiveram estorno parcial com split liquidado exigem revisão na Asaas, pois a distribuição devolvida pode ser personalizada. A solicitação permanece pendente até a confirmação da instituição. No boleto, o produtor deve usar o fluxo específico da Asaas, que pode exigir dados bancários. Taxas que a instituição não devolve não são prometidas como reembolso automático.
O produtor é responsável pela oferta, entrega, suporte, obrigações fiscais e direitos do comprador. A comissão e a autorização de integração são registradas no momento da conexão da conta. Leia os termos da operação.
07. Avisos no momento certo.
Nos avisos ao comprador, o nome e a cor do produtor acompanham a mensagem, com respostas direcionadas ao suporte publicado. O envio usa o domínio verificado bizz.builders; usar um domínio próprio como remetente exige verificação adicional. O Eazy usa Resend para confirmar o e-mail, avisar a criação e a confirmação de pedidos e informar estornos ou contestações. Os avisos saem por uma fila persistente com deduplicação. Um e-mail aceito pelo provedor ainda pode ter entrega atrasada, rejeitada ou marcada como spam.
Links de acesso são de uso único e expiram em 15 minutos; a abertura do link não confirma automaticamente o e-mail. Clique em Confirmar e entrar para concluir. Confira sua pasta de spam e peça um novo link se o anterior expirar.
08. Se algo não aparecer.
- Widget bloqueado: cadastre exatamente a origem do site, com HTTPS e www quando usado; confira a política CSP do site hospedeiro.
- Conta pendente: confira documentação e aprovação na seção Recebimentos. Uma chave de sandbox não é compatível com produção.
- Split em revisão: não repita o pagamento. O produtor e a plataforma devem conferir a cobrança e a carteira na Asaas.
- Cartão não abre: use o botão para abrir o ambiente seguro; a página precisa permitir a nova aba.
- MCP não conecta: confira URL, transporte, validade e permissões da chave; clientes exclusivamente OAuth exigem adaptação.
- Webhook não chega: use endpoint público HTTPS na porta padrão, sem redirecionamento, e responda 200 após persistir.
Suporte da plataforma: llmdevstudio2@gmail.com. Inclua o ID do pedido e uma descrição do problema, sem chaves API, documentos ou dados de cartão.