Stripe Integration
Stripe is a suite of APIs powering online payment processing and commerce solutions for internet businesses of all sizes. By integrating Stripe with DailyStory, your Stripe customers, subscriptions, invoices and one-time Payment Link and Checkout purchases flow into DailyStory, where you can use them to send emails, text messages, push notifications and more.
How to integrate Stripe and DailyStory
Stripe integration with DailyStory requires several steps.
- Create a Stripe restricted API key
Login to your Stripe account and find your Stripe API key.
- Open Developers and select API keys
- Click Create restricted key:

- Set permissions for Restricted Key
Grant Read access to the following resources. DailyStory never writes to Stripe, so no write access is needed.
| Resource | Used for |
| Events | Finding customers, invoices and checkout sessions that changed since the last sync |
| Customers | Contact details and the Stripe customer id |
| Subscriptions | Active, trial, paused, past due and cancelled subscription fields |
| Invoices | Invoice and subscription purchases and their line items |
| Checkout Sessions | One-time purchases made through Payment Links or Stripe Checkout, which don't create invoices |
| Products and Prices | Product names and price ids on purchases |
| PaymentIntents | The charge description on the last paid invoice |
Below is an example of what the Read permission looks like for Customers:

Upon saving you will be presented with the API key. Copy this API key as you'll need it to finish the setup.

Alternatively you can use your "Secret Key" but this is not recommended.
- Enable Stripe integration in DailyStory
Navigate to Account Settings > Integrations, and select Stripe.
Enter the restricted API key you created in step 1 and save.

Congratulations. Stripe integration is now configured! DailyStory starts with an initial import of up to three years of Stripe customers, invoices and one-time Checkout purchases. After that, each sync picks up new changes in Stripe automatically.
RecommendedThe initial import does not trigger automations. Historical orders update contact fields and purchase history, but customers won't receive abandoned cart or order messages about past orders. Automations start with orders that change after the initial import.
Stripe Sync
Once Stripe integration is enabled, DailyStory:
- Automatically syncs customer data from Stripe: DailyStory automatically syncs your customer data from Stripe into DailyStory. This includes standard customer details, such as name, email address and phone number, as well as Stripe-specific data, such as purchase history, last order status, last order date and subscriptions.
- Enables Stripe-specific customer segments: Build customer segments based on data from Stripe, such as contacts who bought a specific product within a date range. These segments automatically stay up-to-date as data in Stripe changes.
- Enables Stripe-specific automations: Automations, such as abandoned cart, order declined and order fulfilled, are triggered by changes to Stripe orders.
Automation triggers
Stripe order changes trigger the following automations. Each trigger fires once per invoice or checkout, so a customer with several orders gets one trigger for each.
| Trigger | When it fires |
| Abandoned cart | An invoice is finalized but not yet paid (status open) |
| Order declined | An invoice is voided |
| Order fulfilled | An invoice is paid, or a one-time Payment Link or Checkout payment completes |
Payment Links and Stripe Checkout
One-time payments made through Stripe Payment Links or hosted Stripe Checkout don't create a Stripe invoice, and often don't create a Stripe customer. DailyStory syncs these purchases directly from the completed checkout:
- The contact is matched or created using the email address or phone number entered at checkout. If the contact has no name yet, the name from checkout is added.
- The purchase is added to the contact's purchase history and updates the last order fields.
- Payments made with delayed payment methods, such as ACH bank transfers, are synced once the payment succeeds.
- Subscription checkouts, and Payment Links with invoice creation turned on, create a Stripe invoice. These are synced from the invoice, so they're never counted twice.
Fields DailyStory syncs with Stripe
When Stripe integration is enabled, DailyStory automatically syncs data from Stripe.
RecommendedStripe sync is one-directional. And data from Stripe will always be considered the "source of truth."
Standard Fields
DailyStory will sync the following standard fields from Stripe:
- First name
- Last name
- Email address
- Mobile phone number
- Address
- City
- State
- Zip code
- Country
Stripe-specific Fields
In addition to standard fields, the following Stripe-specific fields are synced. These fields are used for personalizing content, running automations or building segments, such as customers who haven't ordered in 6 months.
| Field | Description |
| Id | The customer id in Stripe. Accessible in personalization as {{profile.stripe_customer_id}} |
| Purchase History | Every item the contact has purchased, with the item name, price and purchase date. Shown on the contact profile and available for segmentation, for example contacts who bought a specific item between two dates for more than a given amount. |
| Purchased Products | The products on the contact's most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_products}} |
| Last Order Status | The status of the contact's most recent invoice. Values include draft, open, paid, void and uncollectible. Payment Link and Checkout purchases are recorded as paid. Available for segmentation and accessible in personalization as {{profile.stripe_order_status}} |
| Last Order Value | The total of the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_last_value}} |
| Last Order Date | The date of the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_last_date}} |
| Last Order Coupon | The coupon applied to the most recent paid invoice. Available for segmentation and accessible in personalization as {{profile.stripe_last_order_coupon}} |
| Last Order Charge | The charge description on the most recent paid invoice. Available for segmentation and accessible in personalization as {{profile.stripe_last_order_charge}} |
| Price Ids | The Stripe price ids on the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_price_ids}} |
| Active Subscriptions | Active subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_active}} |
| Cancelled Subscriptions | Cancelled subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_cancelled}} |
| Paused Subscriptions | Paused subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_paused}} |
| Trial Subscriptions | Trial subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_trial}} |
| Past Due Subscriptions | Past due subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_past_due}} |
If you need additional fields imported from Stripe that are not listed here, please contact us for assistance.
Loyalty and Rewards
The following activities from Stripe generate loyalty points:
- New Customer - when a new account signs up
- Place an Order - for each dollar spent