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.

POST /connect
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:

201 Created
{
  "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

  1. 1Redirecione o navegador para a redirect_url.
  2. 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.
  3. 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

Tem certeza?

Atalhos de teclado

⌘ KBuscar e navegar⌘ JAbrir e fechar o Workbenchg hIníciog pPagamentosg cClientesg sSubscriptionsg aAppsg gGateways?Esta listaEscFechar