Bastidores

Lançamento· Construindo o Currículo para Vaga · parte 2

A conta live do Stripe estava ativa, mas falhou na minha conferência.

O roteiro de conferência da conta live do Stripe no Currículo para Vaga: chaves restritas, versão dos webhooks, e-mails, Radar e retomada de entrega.

Uma lista de conferência do Stripe com webhooks, idioma dos e-mails, novas tentativas e Radar marcados.

Ter cobranças, repasses diários, PIX e cartão ligados no painel do Stripe não quer dizer que a conta live está pronta para vender. O modo de teste valida o fluxo de desenvolvimento, mas não garante versão de webhook, chaves restritas nem ajustes manuais do painel real.

O Currículo para Vaga cobra pelo Stripe, com PIX e cartão, e vende no meu CPF. Com a conta ativada em modo live, fiz em 8 de novembro de 2026 a conferência da produção no terminal e à mão no painel.

Um script confere a conta live e alinha a versão dos webhooks

O repositório tem um script que confere a conta inteira com bun stripe:check:production --live. Ele só passou em tudo depois de os dois webhooks de produção serem recriados na versão de API do SDK, 2026-10-28.endive, com os segredos novos guardados no Wrangler.

Os dois webhooks têm segredos distintos. Em staging, os webhooks seguem na versão 2026-08-26.dahlia, o que não afeta clientes. Um script cria o catálogo: os preços do plano Pro, o portal do cliente e os dois webhooks.

As chaves de acesso são restritas com permissões por tabela

As chaves do Stripe são restritas, com permissões por tabela. Uma chave atende os scripts de operação e fica só no arquivo local do ambiente.

Outra chave atende a API e fica só no Wrangler, depois de um teste de permissões passar. Assim, os scripts locais de operação e a API em produção nunca usam a mesma chave.

O painel exige conferência manual de e-mails, tentativas e Radar

Na conferência à mão no painel, os e-mails de pagamento e de reembolso do próprio Stripe estavam desligados e o idioma dos e-mails estava em Português (Brasil). O Smart Retries ficou com 8 tentativas em 2 semanas e cancelamento no fim, o padrão que o Stripe recomenda e que o SRS passou a registrar.

No Radar, conferi os controles de risco ligados. Entram nessa lista contestação por fraude, alerta antecipado, cartão roubado e fraude fora do cartão.

O código foi corrigido para tratar tentativas antigas e entregas pendentes

Antes disso, na fase de testes, dois defeitos graves tinham sido corrigidos no fluxo de pagamento. No primeiro, uma tentativa antiga de cartão continuava válida. Agora uma nova tentativa expira a sessão ou cancela o PIX anterior, o webhook só confirma a tentativa atual com o valor do pedido, e qualquer outro pagamento, seja tentativa antiga, segundo pagamento ou pedido vencido, é reembolsado inteiro e fica no registro de auditoria.

No segundo defeito, uma falha depois do pagamento deixava o pedido sem entrega. Agora o pedido pago fica marcado como entrega pendente até a transação que aplica o efeito, e a repetição do webhook ou uma rotina agendada, depois de 5 minutos, retoma a entrega uma vez só.

A troca do mensal para o semestral segue com decisão pendente

No portal do cliente, a troca do plano mensal para o semestral vale na hora e cobra sem rateio. Isso acontece porque o portal do Stripe só adia para o fim do período a troca que reduz o valor ou encurta o intervalo. O SRS pede outro comportamento, e essa decisão ainda está pendente comigo.

Ver o modo de teste passar valida a integração, mas só uma conferência própria na conta live protege quem cobra e quem compra. Para ver a base dessa operação como pessoa física, leia sobre anunciar e vender no CPF e confira também como publiquei o primeiro pacote no npm.

Teste local verde até no S23, e o staging ainda achou um defeito.08 nov · DesenvolvimentoOutra IA revisou 4.170 traduções da IA em inglês e corrigiu 307.08 nov · Inteligência artificialA conta live do Stripe estava ativa, mas falhou na minha conferência.08 nov · LançamentoTrês regras de HSTS num só domínio: por que deixei o preload de fora.08 nov · DesenvolvimentoUma palavra a menos derrubou 13 páginas que já estavam no ar.08 nov · DesenvolvimentoOutro agente de IA revisou meu código 71 vezes e criou dois defeitos.08 nov · Inteligência artificialDepois de 20 anos de carreira, publiquei meu primeiro pacote no npm.08 nov · LançamentoSozinho com IA: iPhone, Android, SaaS com MCP e CLI, e já faturando.07 nov · BastidoresCopiei a mecânica dos líderes e recusei a mentira deles.07 nov · BastidoresA pergunta de LGPD que trava a venda: e o backup?07 nov · ProdutoA IA calibrou minha câmera pelos números. Ficou cara de lanterna.07 nov · BastidoresUm usuário não via o dia de ontem. Abri todo o passado do Garfim.07 nov · Produto62% baixavam o Garfim. O problema estava antes da página.07 nov · LançamentoO idioma certo na tela pode virar o errado no servidor.07 nov · DesenvolvimentoO limite de 10 por minuto que deixou passar muito mais.07 nov · DesenvolvimentoUm PR do Dependabot travou meu banco e as rotas voltaram 500.07 nov · DesenvolvimentoMeus produtos novos não começam do zero. Começam de um clone.07 nov · DesenvolvimentoTirei uma trava da minha IA e a resposta caiu de 5,5 s para 3,7 s.07 nov · DesenvolvimentoTroquei velocidade por uma auditora que confere cada frase.07 nov · Inteligência artificialEscrevi o método CERNE lendo seis especificações reais.07 nov · Inteligência artificialComo anunciar na Meta e vender online no CPF sem abrir empresa.05 nov · BastidoresPausei anúncios depois de ignorar o resultado anterior.05 nov · BastidoresComo depurei um erro de API sem log no registro do Garfim.05 nov · DesenvolvimentoComo forçar atualização no React Native antes de um defeito grave.05 nov · DesenvolvimentoComo levei o LCP do ClipLeve de 9,9 s para menos de 1,5 s.05 nov · DesenvolvimentoPubliquei 650 páginas contra a regra do meu método.05 nov · Inteligência artificialUma conta para organizar erros, métricas e IA dos meus produtos.05 nov · BastidoresSeparei o painel do site e pus o Access na porta.05 nov · DesenvolvimentoUma lista de 69 itens encontrou requisitos só no papel.05 nov · BastidoresO antispam esperou tanto que parou o formulário.05 nov · DesenvolvimentoCortei a publicação de 17 minutos para 4 na minha máquina.05 nov · DesenvolvimentoEu gravo. A IA corta, legenda e entrega o vídeo curto.05 nov · Inteligência artificialComo criar anúncios UGC com IA usando o método PROVA.05 nov · Inteligência artificialA IA disse que usou as skills. A página provou o contrário.05 nov · Inteligência artificialNove páginas reprovadas antes de encontrar uma identidade.05 nov · Inteligência artificialEm 48 horas, juntei domínios, e‑mail, sites e medição num padrão só.30 out · BastidoresPor que tirei os três sites do GPT Sites.30 out · DesenvolvimentoComo troquei o luisjunior.ai com cerca de 10 segundos fora do ar.30 out · DesenvolvimentoRefiz o luisjunior.ai do zero: cada afirmação com prova.30 out · LançamentoUm padrão para todos os domínios, inclusive os de produtos futuros.30 out · BastidoresTodo o e‑mail dos meus domínios saiu do VPS num só dia.30 out · DesenvolvimentoDecidi mover o envio do Garfim do Resend para a Cloudflare.30 out · DesenvolvimentoO método FONTE para aparecer no Google e nas respostas de IA.30 out · Inteligência artificialTrês sites, três decisões de busca, e uma delas é não gerar páginas.30 out · Inteligência artificialMedição de vários sites num painel só, com consentimento.30 out · BastidoresComo a IA me apresenta mídias para aprovação29 out · Inteligência artificialO Garfim chegou ao Google Play. Agora tem Android e iPhone.22 out · LançamentoConseguir testadores e esperar 14 dias: a reta final do Garfim no Android.22 out · BastidoresO ClipLeve chegou à App Store. O que aprendi até aqui.20 out · LançamentoO ClipLeve foi rejeitado de novo. Dessa vez, por uma palavra.20 out · ProdutoO Garfim foi aprovado. E já está na App Store.16 out · LançamentoA última negativa do Garfim: câmera, assinatura e o caminho inteiro.16 out · LançamentoClipLeve: o cuidado por trás de um vídeo mais leve.12 out · ProdutoPor que restaurar uma assinatura pode falhar em outra conta.12 out · ProdutoQuando um aplicativo pode dizer que sua conta foi excluída?12 out · ProdutoO que a primeira negativa da App Store me fez explicar.08 out · LançamentoO que quero aprender com o teste fechado do Garfim.08 out · ProdutoO trabalho de uma assinatura continua depois da compra.03 out · DesenvolvimentoPor que o Garfim ganhou um plano gratuito.03 out · ProdutoO login funcionou. Por que a tela do Garfim não saiu do lugar?03 out · LançamentoPagenello: um site começa pelo que o visitante veio fazer.03 out · LançamentoComo uma foto do almoço vira um produto.27 set · ConcepçãoAs decisões que continuo tomando ao desenvolver com IA.27 set · DesenvolvimentoApresentar o Garfim ao público também é um teste do produto.27 set · Lançamento

GET luisjunior.ai/llms.txt

Esta é a versão do site escrita para modelos de linguagem: os mesmos fatos, sem layout, prontos para um assistente de IA ler e citar. Agentes no Chrome também encontram aqui ferramentas WebMCP para consultar produtos, textos e contato.

conectando…0 tokens · 0 tok/s