# Receber com cartão, Apple Pay, Google Pay e débito direto (Stripe)

Liga o Stripe para aceitar cartões de crédito e débito, Apple Pay, Google Pay e Débito Direto SEPA, com reembolsos devolvidos automaticamente.

Os pagamentos com cartão chegam à Feitora através do **Stripe**, um dos maiores processadores de pagamentos do mundo. O cliente escolhe "Cartão de crédito/débito" no checkout, é levado para a página segura do Stripe (Stripe Checkout) e volta à tua loja com a encomenda paga. Os dados do cartão nunca passam pela tua loja.

Na mesma página do Stripe o cliente pode pagar com **Apple Pay** ou **Google Pay**, se estiverem ativos na tua conta Stripe e o aparelho dele os suportar.

## Antes de começar

- Cria uma conta em [stripe.com](https://stripe.com) e conclui a verificação da empresa (o Stripe pede os dados da empresa, um documento de identificação e o IBAN para onde transfere as vendas).
- No painel do Stripe, em **Developers → API keys**, vais precisar da **chave publicável** (`pk_…`) e da **chave secreta** (`sk_…`).
- Só o proprietário da loja altera as definições de pagamento.

> **Dica — Começa com as chaves de teste do Stripe**
> O Stripe tem um modo de testes próprio, com chaves `pk_test_…` e `sk_test_…` e cartões de teste (por exemplo, 4242 4242 4242 4242). Usa-as primeiro: vês o fluxo real do Stripe sem mexer em dinheiro.

## Ligar o Stripe à loja

1. No painel, abre **Definições → Pagamentos**.
2. Desce até ao cartão **Stripe (cartão, Apple Pay, Google Pay)**.
3. Cola a **Chave pública** e a **Chave secreta**.
4. Copia o **Endpoint do webhook (configurar no Stripe)** com o botão ao lado do campo.
5. No Stripe, abre **Developers → Webhooks**, carrega em **Add endpoint**, cola o endereço e escolhe os eventos (lista abaixo).
6. O Stripe mostra o **Signing secret** do webhook (`whsec_…`). Copia-o para o campo **Segredo do webhook** na Feitora.
7. Carrega em **Guardar**.
8. Em **Métodos de pagamento**, liga **Cartão de crédito/débito** (e, se quiseres, **Débito Direto SEPA**) e guarda outra vez.

*(Captura do painel: O cartão Stripe com as chaves, o segredo e o endpoint do webhook)*

### Eventos a escolher no webhook

| Evento | Para que serve |
|---|---|
| `checkout.session.completed` | Marca a encomenda como paga quando o cliente paga com cartão. |
| `checkout.session.async_payment_succeeded` e `checkout.session.async_payment_failed` | Pagamentos que só confirmam mais tarde, como o Débito Direto SEPA. |
| `checkout.session.expired` | O cliente abandonou a página de pagamento: a tentativa fica como falhada e ele pode tentar outra vez. |
| `payment_intent.succeeded` e `payment_intent.payment_failed` | Cobranças automáticas das [subscrições](https://feitora.pt/ajuda/subscricoes/gerir-subscricoes). |

> **Aviso — Sem webhook, nada fica pago**
> É o webhook que avisa a loja de que o pagamento entrou. Se faltar (ou se o segredo estiver errado), o cliente paga no Stripe mas a encomenda continua **Por pagar**. Em **Definições → Sistema e diagnóstico** vês se o Stripe responde e quando chegou o último evento.

## Débito Direto SEPA

O **Débito Direto SEPA** cobra diretamente numa conta bancária (IBAN). É útil sobretudo para [subscrições](https://feitora.pt/ajuda/subscricoes/criar-planos). Tem uma diferença importante: o banco só confirma o pagamento **alguns dias depois**. Até lá a encomenda fica por pagar; se o banco recusar, a tentativa passa a falhada e o cliente pode pagar de outra forma.

## Reembolsos

Quando reembolsas uma encomenda paga com cartão (no detalhe da encomenda, **Reembolsar**), a Feitora pede o reembolso ao Stripe e o dinheiro volta ao cartão do cliente — a cronologia mostra "devolvido automaticamente no Stripe". Também podes reembolsar só uma parte. Vê [Devoluções e reembolsos](https://feitora.pt/ajuda/encomendas/devolucoes-e-reembolsos).

## Vender noutras moedas

Se usas [mercados e moedas](https://feitora.pt/ajuda/idiomas-mercados/mercados-e-moedas), o Stripe cobra o cliente na moeda que ele escolheu no site. O MB WAY, o Multibanco e os métodos manuais cobram sempre em euros.

> **Em testes — Ligação por validar com conta real**
> A integração segue a documentação pública do Stripe Checkout e dos webhooks, mas ainda não foi validada com uma conta Stripe real (incluindo SEPA e a autenticação pedida pelos bancos). Testa com as chaves de teste do Stripe e depois com uma compra real de valor baixo antes de abrir a loja.

## Problemas frequentes

| Problema | O que fazer |
|---|---|
| O cartão não aparece no checkout | Confirma que o método **Cartão de crédito/débito** está ligado e que a **Chave secreta** está preenchida. Fora do modo de testes, sem chave secreta o cartão não aparece. |
| Não aparece Apple Pay nem Google Pay | Ativa-os no painel do Stripe (Settings → Payment methods). Só aparecem em aparelhos e browsers compatíveis. |
| O cliente pagou e a encomenda está por pagar | Verifica o endpoint e os eventos do webhook no Stripe e se o **Segredo do webhook** corresponde a esse endpoint. |
