# Stripe

A Stripe recebe cartões do mundo todo, com o dinheiro caindo na sua conta Stripe.
É a escolha para vender a jogadores de fora do Brasil.

Você precisa de uma conta Stripe ativada para receber (com os dados da empresa e a
conta bancária cadastrados no Dashboard da Stripe).

![O cartão da Stripe no painel com o passo a passo do webhook](shots/payments-stripe.webp)

## 1. Copie as chaves de API

1. No [Dashboard da Stripe](https://dashboard.stripe.com/apikeys), abra
   **Desenvolvedores > Chaves de API**.
2. Mude para o modo de produção (o modo de teste fica desligado).
3. Copie a **chave publicável**, que começa com `pk_live_`, e cole no campo
   **Public Key** do painel.
4. Revele e copie a **chave secreta**, que começa com `sk_live_`, e cole no campo
   **Secret Key**. A Stripe mostra a chave secreta uma vez só: guarde num lugar
   seguro.

## 2. Crie o webhook

1. No Dashboard da Stripe, abra **Desenvolvedores > Webhooks** e clique em
   adicionar endpoint.
2. Cole como destino a URL que o painel mostra. Ela tem este formato:

   ```text URL do webhook
   https://webhooks.hystore.com.br/api/v1/webhooks/stripe/<id da sua loja>
   ```

3. Selecione estes eventos:

   ```text Eventos do webhook
   checkout.session.completed
   checkout.session.async_payment_succeeded
   checkout.session.async_payment_failed
   checkout.session.expired
   charge.refunded
   charge.dispute.closed
   ```

4. Salve o endpoint e copie o **segredo de assinatura**, que começa com `whsec_`.
5. Cole em **Segredo do webhook**, no painel.

> [!WARNING]
> O segredo do webhook é obrigatório. Sem ele, a loja não consegue conferir que o
> aviso veio mesmo da Stripe, e o pedido pago nunca é confirmado.

## 3. Ligue e salve

Ligue a chave do cartão da Stripe e salve. O jogador paga numa página segura da
Stripe e volta para a loja com o pedido aprovado.

> [!NOTE]
> O checkout da Stripe não informa se a venda foi no cartão ou em outro meio, então
> o Financeiro usa a taxa do cartão para todas as vendas da Stripe. Veja
> [Taxas dos gateways](/pt/payments/fees/).

## Estornos e disputas

Com os eventos `charge.refunded` e `charge.dispute.closed`, o estorno e a disputa
perdida na Stripe marcam o pedido como **Reembolsado** sozinhos: as entregas que
ainda não tinham saído são canceladas. Veja [Pedidos](/pt/products/orders/).
