Quick start
Seu produto nunca fala direto com a Stripe. Ele chama o /connect com a key do app, envia o cliente para o checkout e recebe o resultado.
1. Guarde a key do app no servidor
Cada app em Apps tem sua própria secret key (a do Default app começa com sk_app_live_…). Guarde como PAY_SECRET_KEY no seu backend; nunca envie para um navegador ou app mobile.
2. Inicie o checkout
Faça POST /connect do seu backend. Envie o valor, o cliente e para onde voltar. A key diz qual app está chamando; o app decide se é um pagamento ou uma subscription e qual gateway recebe, então esta request não muda quando você troca de gateway.
curl -X POST https://pay.contagorda.com/connect \ -H "Authorization: Bearer $PAY_SECRET_KEY" \ -H "Idempotency-Key: order-1042" \ -H "Content-Type: application/json" \ -d '{ "amount": "49.90", "currency": "BRL", "return_to": "https://yourapp.com/billing/callback", "customer": { "external_ref": "user_42", "email": "[email protected]" } }'
A resposta traz a redirect_url, o checkout do gateway:
{ "id": "7f3a9c1e-…", "kind": "payment", "status": "processing", "redirect_url": "https://checkout.stripe.com/c/pay/…", "links": { "self": "https://pay.example.com/api/v1/sessions/7f3a9c1e-…" } }
Quer que o broker redirecione o cliente por você, sem chamada de API? Renderize um signed checkout form, com o Fluxo de checkout do app em API + signed forms.
3. Envie o cliente e confie no resultado
- 1Redirecione o navegador para a redirect_url.
- 2Depois de pagar, o cliente volta para o return_to com ?session_id=…&pay_token=… — verifique o token no seu servidor antes de liberar qualquer coisa.
- 3Ouça também o webhook session.paid: ele chega mesmo se o cliente fechar a aba.
Próximos: Apps e roteamento · Tratar o resultado · Outbound events