Skip to content

Stripe integration

Stripe is a payment platform that lets you accept payments and manage subscriptions. Integrating Stripe with Pushwoosh lets you track payments and subscriptions in campaigns, analyze revenue by journey and product, segment users by payment events, and use ManyMoney AI for revenue insights.

Integration overview

Anchor link to

Integration type

Anchor link to

Source: Payment and subscription events are sent from Stripe to Pushwoosh.

Prerequisites

Anchor link to

To set up the Stripe integration with Pushwoosh, ensure the following:

  • You have an active Pushwoosh account.
  • You have a Stripe account.

Glossary (mapping entity names if they are different)

Anchor link to

The table below shows how Stripe entities map to Pushwoosh. This mapping is achieved by passing the corresponding fields as metadata when you create a Checkout Session (see Metadata configuration).

StripePushwoosh
Customeruser_id (required), device_id (optional) in metadata
Payment / ChargeEvent StripePaymentSucceeded (charge.succeeded)
Invoice (paid)Event StripeInvoicePaid (invoice.paid)
SubscriptionStripeSubscriptionCreated + attributes in StripeInvoicePaid
Product / Priceproduct_id, product_name in metadata and event attributes
Campaign (journey)journey_uuids in metadata

Synchronized entities

Anchor link to
  • Payment events (one-time payments, subscription invoices)
  • Subscription events (subscription created, subscription invoice paid)

How does the integration work?

Anchor link to

After you connect your Stripe account to Pushwoosh via Stripe Connect, Pushwoosh receives payment and subscription data from Stripe. You can link each transaction to a campaign and user or device by passing metadata when creating a Checkout Session (see Metadata configuration).

Pushwoosh creates events you can use for segmentation and analytics.

  1. You connect your Stripe account to Pushwoosh once via Stripe Connect in Settings3rd-party integrations.
  2. When creating a Checkout Session, you pass metadata so the payment can be attributed later (see Metadata configuration).
  3. When a payment or subscription event occurs in Stripe (e.g. charge.succeeded for one-time, invoice.paid for subscription), Stripe sends the data to Pushwoosh.
  4. Pushwoosh creates the corresponding events and uses the metadata for attribution. This data appears in Finance Overview, Audience → Events, and ManyMoney.
Track payments
Anchor link to

Automatically receive information about all successful payments and subscriptions.

Anchor link to

Associate transactions with specific customer journeys by passing metadata (see Metadata configuration).

Analyze revenue
Anchor link to

View income by campaigns, products, users, and devices.

Segment your audience
Anchor link to

Create segments based on payment events.

AI analytics
Anchor link to

ManyMoney AI assistant automatically receives payment and subscription statistics and can make decisions based on this data.

Set up the integration

Anchor link to

Connect Stripe to Pushwoosh

Anchor link to
  1. Open any Pushwoosh application (Stripe account is linked to your entire account, not a specific application) and navigate to Settings3rd-party integrations.
  2. Find the Stripe card and click the LOGIN PAGE button.

Settings page with 3rd-party integrations section and Stripe card with LOGIN PAGE button

  1. You will be redirected to the Stripe authorization page.

Stripe authorization page with account selection and Connect button

  1. On the Stripe page, enter your email and click Continue.
  2. Log in to your Stripe account (or create a new one). If you have multiple accounts, select the account you want to connect.
  3. Click Connect to confirm.
  4. After successful authorization, you will be redirected back to Pushwoosh. The integration status will change to Connected.

3rd-party integrations page showing Stripe card with Connected status

Disconnect the integration

Anchor link to
Method 1. Via Pushwoosh
Anchor link to
  1. Go to Settings3rd-party integrations.
  2. Find the Stripe card and click the SETTINGS button.
  3. In the popup window, click the Disconnect button.

Stripe card SETTINGS popup with Disconnect button in 3rd-party integrations

Method 2. Via Stripe Dashboard
Anchor link to
  1. Log in to Stripe Dashboard.
  2. Go to SettingsTeam and securityInstalled apps.
  3. Find the application in the Connect Extensions section.

Stripe Dashboard Settings, Team and security, Installed apps, Connect Extensions section

When you disconnect through Stripe, Pushwoosh automatically receives a notification and removes the integration.

Metadata configuration

Anchor link to

Stripe sends payment events to Pushwoosh, but without extra data Pushwoosh cannot tell which campaign or which user the payment belongs to. When you pass metadata at Checkout Session creation (campaign IDs, user or device ID, product), each payment is attributed to the right journey and user.

You then see revenue by campaign in Finance Overview, build segments by payer, and use ManyMoney with correct attribution.

Available metadata fields

Anchor link to
FieldDescriptionRequiredExample
journey_uuidsCampaign (journey) IDs separated by semicolonsNobfab4bc0-b0a5-414b-befc-4aaddc429b0e;a2bff710-6b49-44d1-96a7-3232feeca6e9
user_idUser identifier. Required for event collection and for device_id to be appliedYesuser_12345 or email@example.com
device_idDevice Hardware ID (HWID).Nohwid_abc123
product_idProduct IDNoprod_premium
product_nameProduct nameNoPremium Plan

Passing metadata via Checkout Session

Anchor link to

Metadata is passed when creating a Checkout Session depending on the payment type:

Payment typeParameterStripe event
One-time payment (mode=payment)payment_intent_data[metadata]charge.succeeded
Subscription (mode=subscription)subscription_data[metadata]invoice.paid

Metadata priority during processing

Anchor link to

For subscriptions (invoice.paid event):

Invoice metadata → if empty → Subscription metadata

For one-time payments (charge.succeeded event):

Charge metadata (from payment_intent_data)

Creating a checkout session via Stripe API (curl)

Anchor link to
One-time payment (mode=payment)
Anchor link to
Terminal window
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"
Subscription (mode=subscription)
Anchor link to
Terminal window
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"

After successful integration, a new Finance Overview dashboard appears in the Dashboards section. There you can view Gross Revenue and New Subscriptions statistics broken down by campaigns (journey).

Finance Overview dashboard in Statistics with Gross Revenue and New Subscriptions by campaign

For more detailed information, visit your Stripe Dashboard.

Create segments based on payments

Anchor link to

Use Stripe events to create user segments:

  1. Open AudienceSegments.
  2. Click Create SegmentBuild Segment.
  3. In Add filter by, click Event.
  4. Select a Stripe event from the dropdown (see the table below for available events).
  1. Set the condition: how many times the event occurred and the time frame (e.g. during the last 30 days, between dates).
  2. Optionally narrow the segment by event attributes. The table below lists the attributes available for each event.
EventDescriptionAttributes
StripePaymentSucceededSuccessful payment__amount, __currency, invoice_id, journey_uuids, product_id, product_name, stripe_customer_id, subscription_id
StripeInvoicePaidSubscription invoice paid__amount, __currency, journey_uuids, product_id, product_name, stripe_customer_id, transaction_id, transaction_type
StripeSubscriptionCreatedSubscription created__amount, __currency, interval, journey_uuids, product_id, product_name, status, stripe_customer_id, subscription_id

Audience Segments page with Create Segment and Build Segment options

  1. To add more events, add another Event filter and choose an operator (AND or OR) between conditions.

Learn more about creating segments.

ManyMoney AI Assistant

Anchor link to

After successful Stripe integration, the ManyMoney AI assistant automatically gains access to payment and subscription statistics.

ManyMoney is available in the Dashboard interface. After you connect Stripe, payment data is available for analysis automatically. No additional configuration is required.

What ManyMoney can do

Anchor link to
  • Analyze revenue: answers questions about income, conversions, and campaign effectiveness.
  • Compare periods: shows payment and subscription dynamics across different time intervals.
  • Identify trends: detects growing and declining products and audience segments.
  • Provide recommendations: suggests optimizations based on payment data.