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.

  1. Create a Stripe restricted API key

Login to your Stripe account and find your Stripe API key.

  1. Set permissions for Restricted Key

Grant Read access to the following resources. DailyStory never writes to Stripe, so no write access is needed.

ResourceUsed for
EventsFinding customers, invoices and checkout sessions that changed since the last sync
CustomersContact details and the Stripe customer id
SubscriptionsActive, trial, paused, past due and cancelled subscription fields
InvoicesInvoice and subscription purchases and their line items
Checkout SessionsOne-time purchases made through Payment Links or Stripe Checkout, which don't create invoices
Products and PricesProduct names and price ids on purchases
PaymentIntentsThe 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.

  1. 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.

Recommended

The 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:

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.

TriggerWhen it fires
Abandoned cartAn invoice is finalized but not yet paid (status open)
Order declinedAn invoice is voided
Order fulfilledAn invoice is paid, or a one-time Payment Link or Checkout payment completes

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:

Fields DailyStory syncs with Stripe

When Stripe integration is enabled, DailyStory automatically syncs data from Stripe.

Recommended

Stripe 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:

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.

FieldDescription
IdThe customer id in Stripe. Accessible in personalization as {{profile.stripe_customer_id}}
Purchase HistoryEvery 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 ProductsThe products on the contact's most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_products}}
Last Order StatusThe 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 ValueThe total of the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_last_value}}
Last Order DateThe date of the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_order_last_date}}
Last Order CouponThe coupon applied to the most recent paid invoice. Available for segmentation and accessible in personalization as {{profile.stripe_last_order_coupon}}
Last Order ChargeThe charge description on the most recent paid invoice. Available for segmentation and accessible in personalization as {{profile.stripe_last_order_charge}}
Price IdsThe Stripe price ids on the most recent paid order. Available for segmentation and accessible in personalization as {{profile.stripe_price_ids}}
Active SubscriptionsActive subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_active}}
Cancelled SubscriptionsCancelled subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_cancelled}}
Paused SubscriptionsPaused subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_paused}}
Trial SubscriptionsTrial subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_trial}}
Past Due SubscriptionsPast due subscriptions. Available for segmentation and accessible in personalization as {{profile.stripe_subscription_past_due}}
Recommended

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: