# Integração com o Stripe

<Aside type="caution" icon="setting" title="Necessária a assistência do desenvolvedor">
Você precisará da ajuda da sua equipe de desenvolvimento para passar metadados (jornada, usuário, dispositivo) ao criar Sessões de Checkout do Stripe. Compartilhe este guia com eles.
</Aside>

O [Stripe](https://stripe.com/) é uma plataforma de pagamentos que permite aceitar pagamentos e gerenciar assinaturas. A integração do Stripe com o Pushwoosh permite que você rastreie pagamentos e assinaturas em [campanhas](/pt/product/customer-journey/pushwoosh-journey-overview/), analise a receita por jornada e produto, [segmente usuários](/pt/product/audience-data-and-segmentation/segmentation/) por eventos de pagamento e use o [ManyMoney AI](/pt/product/pushwoosh-ai/ai-assistant/) para obter insights sobre a receita.

## Visão geral da integração

### Tipo de integração

**Fonte:** Eventos de pagamento e assinatura são enviados do Stripe para o Pushwoosh.

### Pré-requisitos

Para configurar a integração do Stripe com o Pushwoosh, certifique-se do seguinte:

* Você tem uma conta Pushwoosh ativa.
* Você tem uma conta Stripe.


### Glossário (mapeamento de nomes de entidades, se forem diferentes)

A tabela abaixo mostra como as entidades do Stripe são mapeadas para o Pushwoosh. Esse mapeamento é alcançado passando os campos correspondentes como metadados quando você cria uma Sessão de Checkout (consulte [Configuração de metadados](#metadata-configuration)).

| Stripe | Pushwoosh |
|--------|-----------|
| Cliente | `user_id` (obrigatório), `device_id` (opcional) nos metadados |
| Pagamento / Cobrança | Evento **StripePaymentSucceeded** (`charge.succeeded`) |
| Fatura (paga) | Evento **StripeInvoicePaid** (`invoice.paid`) |
| Assinatura | **StripeSubscriptionCreated** + atributos em **StripeInvoicePaid** |
| Produto / Preço | `product_id`, `product_name` nos metadados e atributos do evento |
| Campanha (jornada) | `journey_uuids` nos metadados |

### Entidades sincronizadas

* Eventos de pagamento (pagamentos únicos, faturas de assinatura)
* Eventos de assinatura (assinatura criada, fatura de assinatura paga)


### Como funciona a integração?

Depois de conectar sua conta Stripe ao Pushwoosh via **Stripe Connect**, o Pushwoosh recebe dados de pagamento e assinatura do Stripe. Você pode vincular cada transação a uma campanha e usuário ou dispositivo passando metadados ao criar uma Sessão de Checkout (consulte [Configuração de metadados](#metadata-configuration)).

O Pushwoosh cria eventos que você pode usar para [segmentação](/pt/product/audience-data-and-segmentation/segmentation/) e análise.

##### Fluxo de dados

1. Você conecta sua conta Stripe ao Pushwoosh uma vez via **Stripe Connect** em **Configurações** → **Integrações de terceiros**.
2. Ao criar uma Sessão de Checkout, você passa metadados para que o pagamento possa ser atribuído posteriormente (consulte [Configuração de metadados](#metadata-configuration)).
3. Quando um evento de pagamento ou assinatura ocorre no Stripe (por exemplo, `charge.succeeded` para pagamento único, `invoice.paid` para assinatura), o Stripe envia os dados para o Pushwoosh.
4. O Pushwoosh cria os eventos correspondentes e usa os metadados para atribuição. Esses dados aparecem na Visão Geral Financeira, Público → Eventos e ManyMoney.


### Casos de uso
##### Rastrear pagamentos
Receba automaticamente informações sobre todos os pagamentos e assinaturas bem-sucedidos.

##### Vincular pagamentos a campanhas
Associe transações a [jornadas do cliente](/pt/product/customer-journey/pushwoosh-journey-overview/) específicas passando metadados (consulte [Configuração de metadados](#metadata-configuration)).

##### Analisar receita
Visualize a receita por campanhas, produtos, usuários e dispositivos.

##### Segmentar seu público
[Crie segmentos](/pt/product/audience-data-and-segmentation/segmentation/create-segments/by-events/) com base em eventos de pagamento.

##### Análise de IA
O assistente [ManyMoney AI](/pt/product/pushwoosh-ai/ai-assistant/) recebe automaticamente estatísticas de pagamento e assinatura e pode tomar decisões com base nesses dados.

## Configurar a integração

### Conectar o Stripe ao Pushwoosh

1. Abra qualquer aplicativo Pushwoosh (a conta Stripe está vinculada a toda a sua conta, não a um aplicativo específico) e navegue para **Configurações** → **Integrações de terceiros**.
2. Encontre o card do **Stripe** e clique no botão **PÁGINA DE LOGIN**.

![Página de configurações com a seção de integrações de terceiros e o card do Stripe com o botão PÁGINA DE LOGIN](/integrations-stripe-integration-1.webp)

3. Você será redirecionado para a página de autorização do Stripe.

![Página de autorização do Stripe com seleção de conta e botão Conectar](/integrations-stripe-integration-2.webp)

4. Na página do Stripe, insira seu e-mail e clique em **Continuar**.
5. Faça login na sua conta Stripe (ou crie uma nova). Se você tiver várias contas, selecione a conta que deseja conectar.
6. Clique em **Conectar** para confirmar.
7. Após a autorização bem-sucedida, você será redirecionado de volta para o Pushwoosh. O status da integração mudará para **Conectado**.

![Página de integrações de terceiros mostrando o card do Stripe com o status Conectado](/integrations-stripe-integration-3.webp)

### Desconectar a integração

##### Método 1. Via Pushwoosh

1. Vá para **Configurações** → **Integrações de terceiros**.
2. Encontre o card do **Stripe** e clique no botão **CONFIGURAÇÕES**.
3. Na janela pop-up, clique no botão **Desconectar**.

![Popup de CONFIGURAÇÕES do card do Stripe com o botão Desconectar em integrações de terceiros](/integrations-stripe-integration-4.webp)


##### Método 2. Via Painel do Stripe

1. Faça login no [Painel do Stripe](https://dashboard.stripe.com).
2. Vá para **Configurações** → **Equipe e segurança** → **Aplicativos instalados**.
3. Encontre o aplicativo na seção **Extensões do Connect**.

![Configurações do Painel do Stripe, Equipe e segurança, Aplicativos instalados, seção Extensões do Connect](/integrations-stripe-integration-5.webp)

Quando você se desconecta através do Stripe, o Pushwoosh recebe automaticamente uma notificação e remove a integração.

## Configuração de metadados

O Stripe envia eventos de pagamento para o Pushwoosh, mas sem dados extras, o Pushwoosh não consegue saber a qual campanha ou a qual usuário o pagamento pertence. Quando você passa metadados na criação da Sessão de Checkout (IDs de campanha, ID de usuário ou dispositivo, produto), cada pagamento é atribuído à jornada e ao usuário corretos.

Você então vê a receita por campanha na Visão Geral Financeira, constrói segmentos por pagador e usa o ManyMoney com a atribuição correta.

### Campos de metadados disponíveis

| Campo | Descrição | Obrigatório | Exemplo |
|-------|-------------|----------|---------|
| `journey_uuids` | IDs da campanha (jornada) separados por ponto e vírgula | Não | `bfab4bc0-b0a5-414b-befc-4aaddc429b0e;a2bff710-6b49-44d1-96a7-3232feeca6e9` |
| `user_id` | Identificador do usuário. Obrigatório para a coleta de eventos e para que o `device_id` seja aplicado | Sim | `user_12345` ou `email@example.com` |
| `device_id` | ID de Hardware do Dispositivo (HWID). | Não | `hwid_abc123` |
| `product_id` | ID do produto | Não | `prod_premium` |
| `product_name` | Nome do produto | Não | `Premium Plan` |

<Aside type="caution" title="Importante">

- Sem `user_id`, os eventos não são coletados e o `device_id` é ignorado. Para uma análise abrangente, forneça também `journey_uuids` e `device_id`.

- `journey_uuids` é opcional e só pode ser definido via metadados. O Stripe não fornece dados de campanha ou jornada, então passe-os ao criar a Sessão de Checkout se quiser que a receita seja atribuída a uma jornada.

- `product_id` e `product_name` são opcionais. O Pushwoosh usa primeiro os metadados. Se algum deles estiver faltando nos metadados, ele é retirado do Stripe quando disponível. Se nenhuma das fontes tiver um valor, o campo não é armazenado.

</Aside>

### Passando metadados via Sessão de Checkout

Os metadados são passados ao criar uma Sessão de Checkout, dependendo do tipo de pagamento:

| Tipo de pagamento | Parâmetro | Evento do Stripe |
|--------------|-----------|--------------|
| Pagamento único (`mode=payment`) | `payment_intent_data[metadata]` | `charge.succeeded` |
| Assinatura (`mode=subscription`) | `subscription_data[metadata]` | `invoice.paid` |

### Prioridade dos metadados durante o processamento

**Para assinaturas** (evento `invoice.paid`):

```text
Metadados da Fatura → se vazio → Metadados da Assinatura
```

**Para pagamentos únicos** (evento `charge.succeeded`):

```text
Metadados da Cobrança (de payment_intent_data)
```

## Criando uma sessão de checkout via API do Stripe (curl)

##### Pagamento único (`mode=payment`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=payment" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_1234567890" \
  -d "line_items[0][quantity]=1" \
  -d "payment_intent_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "payment_intent_data[metadata][user_id]=user_12345" \
  -d "payment_intent_data[metadata][device_id]=hwid_abc123" \
  -d "payment_intent_data[metadata][product_id]=prod_premium" \
  -d "payment_intent_data[metadata][product_name]=Premium Plan"
```

##### Assinatura (`mode=subscription`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=subscription" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_monthly_premium" \
  -d "line_items[0][quantity]=1" \
  -d "subscription_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "subscription_data[metadata][user_id]=user_12345" \
  -d "subscription_data[metadata][device_id]=hwid_abc123" \
  -d "subscription_data[metadata][product_name]=Monthly Premium"
```

## Visualizar dados

Após a integração bem-sucedida, um novo painel de **Visão Geral Financeira** aparece na seção [Painéis](/pt/product/statistics-and-analytics/dashboards/). Lá você pode visualizar as estatísticas de Receita Bruta e Novas Assinaturas, detalhadas por campanhas (jornada).

![Painel da Visão Geral Financeira em Estatísticas com Receita Bruta e Novas Assinaturas por campanha](/integrations-stripe-integration-6.webp)

Para informações mais detalhadas, visite seu Painel do Stripe.

## Criar segmentos com base em pagamentos

Use os eventos do Stripe para criar segmentos de usuários:

1. Abra **Público** → **Segmentos**.
2. Clique em **Criar Segmento** → **Construir Segmento**.
3. Em **Adicionar filtro por**, clique em **Evento**.
4. Selecione um evento do Stripe no menu suspenso (consulte a tabela abaixo para os eventos disponíveis).
<Aside type="note">
Os eventos do Stripe aparecem na lista depois que a integração é conectada e os dados de pagamento são recebidos.
</Aside>

5. Defina a condição: quantas vezes o evento ocorreu e o período de tempo (por exemplo, durante os últimos 30 dias, entre datas).
6. Opcionalmente, restrinja o segmento por atributos do evento. A tabela abaixo lista os atributos disponíveis para cada evento.

| Evento | Descrição | Atributos |
|-------|-------------|------------|
| `StripePaymentSucceeded` | Pagamento bem-sucedido | __amount, __currency, invoice_id, journey_uuids, product_id, product_name, stripe_customer_id, subscription_id |
| `StripeInvoicePaid` | Fatura de assinatura paga | __amount, __currency, journey_uuids, product_id, product_name, stripe_customer_id, transaction_id, transaction_type |
| `StripeSubscriptionCreated` | Assinatura criada | __amount, __currency, interval, journey_uuids, product_id, product_name, status, stripe_customer_id, subscription_id |

![Página de Segmentos de Público com as opções Criar Segmento e Construir Segmento](/integrations-stripe-integration-7.webp)

7. Para adicionar mais eventos, adicione outro filtro de Evento e escolha um operador (E ou OU) entre as condições.

[Saiba mais sobre como criar segmentos](/pt/product/audience-data-and-segmentation/segmentation/create-segments/by-events/).

## Assistente de IA ManyMoney

Após a integração bem-sucedida com o Stripe, o assistente de IA [**ManyMoney**](/pt/product/pushwoosh-ai/ai-assistant/) obtém automaticamente acesso às estatísticas de pagamento e assinatura.

O ManyMoney está disponível na interface do Painel. Depois de conectar o Stripe, os dados de pagamento ficam disponíveis para análise automaticamente. Nenhuma configuração adicional é necessária.

### O que o ManyMoney pode fazer

- **Analisar receita:** responde a perguntas sobre receita, conversões e eficácia da campanha.
- **Comparar períodos:** mostra a dinâmica de pagamentos e assinaturas em diferentes intervalos de tempo.
- **Identificar tendências:** detecta produtos e segmentos de público em crescimento e declínio.
- **Fornecer recomendações:** sugere otimizações com base nos dados de pagamento.

<Aside type="tip" title="Exemplos de prompts">

- Qual receita a campanha gerou no mês passado?
- Compare as taxas de conversão de assinaturas entre janeiro e fevereiro
- Mostre as estatísticas de reembolso

</Aside>