Conectar o Stripe
Como pegar as chaves pk_live_/sk_live_ do Stripe e validar a conexão na CopyFunnel (Pix + cartão à vista em BRL).
O que é a integração
Ao conectar o Stripe na CopyFunnel, seu checkout passa a oferecer Pix e cartão de crédito internacional à vista em BRL. O número do cartão é tokenizado no navegador do comprador (endpoint /v1/tokens do Stripe, com a Publishable Key — o mesmo que o Stripe.js usa) e o dado cru nunca chega ao servidor da CopyFunnel, que confirma o PaymentIntent só com o token (tok_...). No Pix, o PaymentIntent é criado direto pelo servidor e o comprador paga pela string copia-e-cola/QR (limite de R$ 3.000 por transação — acima disso o checkout usa o próximo gateway da sua rota). O reembolso de vendas feitas pelo Stripe é suportado (POST /v1/refunds). Boleto não é coberto por este gateway — use um gateway brasileiro para isso.
Atalho sem credencial nenhuma: com o Stripe Connect ativo (intermediação da CopyFunnel), sua conta Stripe Express é criada automaticamente na aprovação da curadoria — você completa o onboarding hospedado a partir de Financeiro e passa a receber Pix e cartão com saldo e saque na própria Stripe, sem configurar API key, webhook ou nada desta página. Esta página é para o caminho avançado (sua própria credencial Stripe, sem split da comissão).
Onde pegar as credenciais
O Stripe usa duas credenciais:
- Publishable Key (
pk_live_...) — chave pública usada para tokenizar o cartão no navegador do comprador. - Secret Key (
sk_live_...) — chave secreta usada pelo servidor (autenticação Bearer na API).
Para pegar as duas:
- Faça login no painel do Stripe (dashboard.stripe.com) com a conta que recebe o dinheiro.
- Procure por Developers → API keys.
- Copie a Publishable key e revele/copie a Secret key de produção. Chaves de teste (
sk_test_/pk_test_) só funcionam em modo de teste.
Conectar na CopyFunnel
- No painel da CopyFunnel, entre em Integrações.
- Clique no card do Stripe (status do card: Não configurado, Configurado ou Conectado).
- No drawer que abre, preencha:
- Publishable Key (placeholder: "Publishable Key (pk_live_...)") — campo visível, obrigatório.
- Secret Key (placeholder: "sk_live_...") — campo de senha, cifrado na CopyFunnel e nunca exibido de novo (só os 4 últimos dígitos).
- Se estiver usando chaves
sk_test_, marque Usar sandbox (credenciais de teste) — desmarque para produção. Obs.: o prefixo da Secret Key (sk_test_/sk_live_) decide o ambiente na API do Stripe. - Clique em Testar conexão. O teste consulta o saldo da conta (
GET /balance) — a chamada mínima da API Stripe, que prova que a Secret Key autentica. Com a chave válida aparece "Conexão realizada com sucesso." - Clique em Salvar. Ao salvar, a conexão é testada de novo: com sucesso você vê "Credenciais salvas e conexão verificada." e o card passa a Conectado.
Só a credencial Conectado entra no checkout. Se o teste falhar ao salvar, a credencial fica Configurado — corrija e teste novamente.
O que acontece depois
Com a conexão validada, o checkout exibe Pix (QR + copia-e-cola, sem custo de configuração extra) e cartão à vista em BRL (sem parcelamento — a API do Stripe Brasil não expõe parcelamento para este caso, então o seletor de parcelas é escondido no checkout Stripe). O botão de cartão só aparece com a Publishable Key salva; o de Pix entra sozinho quando a rota do Pix inclui o Stripe.
A confirmação usa webhook do Stripe validado por assinatura HMAC-SHA256 (stripe-signature, janela de 5 minutos) — e nenhuma notificação aprova a venda sozinha: a CopyFunnel sempre reconfirma o status do PaymentIntent direto na API do Stripe. Se a notificação atrasar, há polling automático (botão "Conferir pgto." + cron de reconciliação). Cada cobrança leva metadata[order_id] = ID do pedido da CopyFunnel (auditoria no painel Stripe).
Para finalizar, faça uma compra de teste de R$ 1,00 (em produção: um cartão real; em sandbox, use os cartões de teste do Stripe) e confira se ela aparece em Vendas no painel com o status correto.
Dicas de erro comuns
- "Informe Publishable Key." — o campo visível ficou vazio ao salvar. Os dois campos são obrigatórios.
- "Informe Secret Key para conectar." — o segredo ficou vazio. Deixá-lo vazio em um save posterior preserva a chave já salva.
- "Falha na autenticação. Verifique as credenciais." — a Secret Key foi rejeitada (401). Confira se copiou a chave completa (começa com
sk_live_ousk_test_) e se o sandbox está marcado só para chaves de teste. - Public e Secret de ambientes diferentes —
pk_live_comsk_test_(ou o contrário) quebra a tokenização no navegador: o teste de conexão pode passar, mas a venda falha. Use o par do mesmo ambiente. - Cartão recusado (HTTP 402) — o Stripe devolve a recusa com o código (
decline_code) e mensagem do emissor; a CopyFunnel registra o pedido como recusado mantendo o vínculo com o PaymentIntent real (permitindo reembolso/consulta depois). É recusa do emissor, não erro de integração. - Erro na mensagem da API — quando o Stripe devolve
error.message, a CopyFunnel repassa a mensagem; leia-a com atenção (geralmente aponta o campo ou parâmetro exato que falhou).