{"Status":true,"Message":"","Response":{"post":{"postuid":"q1rhes3fq4","tenantuid":"d8b744fc-2e70-4089-bb80-dd1d08f6c7b2","projectuid":"239698c5-f7eb-4574-8cc8-c6568f08b3a0","title":"Stripe Integration","slug":"article/q1rhes3fq4-stripe-integration","html":"\u003Cp\u003EStripe 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.\u003C/p\u003E\u003Ch2 id=\u0022how_to_integrate_stripe_and_dailystory\u0022\u003EHow to integrate Stripe and DailyStory\u003C/h2\u003E\u003Cp\u003EStripe integration with DailyStory requires several steps.\u003C/p\u003E\u003Col\u003E\u003Cli\u003ECreate a Stripe restricted API key\u003C/li\u003E\u003C/ol\u003E\u003Cp\u003ELogin to your Stripe account and find your Stripe API key.\u003C/p\u003E\u003Cul\u003E\u003Cli\u003EOpen \u003Cb\u003EDevelopers\u003C/b\u003E and select \u003Cb\u003EAPI keys\u003C/b\u003E\u003C/li\u003E\u003Cli\u003EClick \u003Cb\u003ECreate restricted key\u003C/b\u003E:\u003C/li\u003E\u003C/ul\u003E\u003Cimg class=\u0022lazy-load\u0022 data-width=\u00221406\u0022 data-height=\u0022678\u0022 data-src=\u0022https://graffiti-auf7e6dwhxhcbwek.z03.azurefd.net/d8b744fc-2e70-4089-bb80-dd1d08f6c7b2/239698c5-f7eb-4574-8cc8-c6568f08b3a0/f19256dc5e0a9ef58c94ad2465fcaa24.png\u0022 style=\u0022\u0022 alt=\u0022\u0022/\u003E\u003Col start=\u00222\u0022\u003E\u003Cli\u003ESet permissions for Restricted Key\u003C/li\u003E\u003C/ol\u003E\u003Cp\u003EGrant \u003Cb\u003ERead\u003C/b\u003E access to the following resources. DailyStory never writes to Stripe, so no write access is needed.\u003C/p\u003E\u003Ctable border=\u00221\u0022 style=\u0022border-collapse: collapse; width: 100%;\u0022\u003E\u003Ctr\u003E\u003Ctd\u003EResource\u003C/td\u003E\u003Ctd\u003EUsed for\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EEvents\u003C/td\u003E\u003Ctd\u003EFinding customers, invoices and checkout sessions that changed since the last sync\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ECustomers\u003C/td\u003E\u003Ctd\u003EContact details and the Stripe customer id\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ESubscriptions\u003C/td\u003E\u003Ctd\u003EActive, trial, paused, past due and cancelled subscription fields\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EInvoices\u003C/td\u003E\u003Ctd\u003EInvoice and subscription purchases and their line items\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ECheckout Sessions\u003C/td\u003E\u003Ctd\u003EOne-time purchases made through Payment Links or Stripe Checkout, which don\u0027t create invoices\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EProducts and Prices\u003C/td\u003E\u003Ctd\u003EProduct names and price ids on purchases\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPaymentIntents\u003C/td\u003E\u003Ctd\u003EThe charge description on the last paid invoice\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\u003Cp\u003EBelow is an example of what the \u003Cb\u003ERead\u003C/b\u003E permission looks like for Customers:\u003C/p\u003E\u003Cimg class=\u0022lazy-load\u0022 data-width=\u00221406\u0022 data-height=\u0022469\u0022 data-src=\u0022https://graffiti-auf7e6dwhxhcbwek.z03.azurefd.net/d8b744fc-2e70-4089-bb80-dd1d08f6c7b2/239698c5-f7eb-4574-8cc8-c6568f08b3a0/5315ac9c393605f87a421371f016d8b1.png\u0022 style=\u0022\u0022 alt=\u0022\u0022/\u003E\u003Cp\u003EUpon saving you will be presented with the API key. Copy this API key as you\u0027ll need it to finish the setup.\u003C/p\u003E\u003Cimg class=\u0022lazy-load\u0022 data-width=\u0022941\u0022 data-height=\u00221113\u0022 data-src=\u0022https://graffiti-auf7e6dwhxhcbwek.z03.azurefd.net/d8b744fc-2e70-4089-bb80-dd1d08f6c7b2/239698c5-f7eb-4574-8cc8-c6568f08b3a0/715a7d4a18f1ac5baf2531baeb7b12ed.png\u0022 style=\u0022\u0022 alt=\u0022\u0022/\u003E\u003Cp\u003EAlternatively you can use your \u0022Secret Key\u0022 but this is not recommended.\u003C/p\u003E\u003Col start=\u00223\u0022\u003E\u003Cli\u003EEnable Stripe integration in DailyStory\u003C/li\u003E\u003C/ol\u003E\u003Cp\u003ENavigate to Account Settings \u0026gt; Integrations, and select Stripe.\u003C/p\u003E\u003Cp\u003EEnter the restricted API key you created in step 1 and save.\u003C/p\u003E\u003Cimg class=\u0022lazy-load\u0022 data-width=\u0022817\u0022 data-height=\u0022377\u0022 data-src=\u0022https://graffiti-auf7e6dwhxhcbwek.z03.azurefd.net/d8b744fc-2e70-4089-bb80-dd1d08f6c7b2/239698c5-f7eb-4574-8cc8-c6568f08b3a0/b9916a08db10409c4e36a49a0f36e9a1.png\u0022 style=\u0022\u0022 alt=\u0022\u0022/\u003E\u003Cp\u003ECongratulations. 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.\u003C/p\u003E\u003Ccite class=\u0022recommended\u0022\u003E\u003Cspan class=\u0022title\u0022\u003ERecommended\u003C/span\u003E\u003Cp\u003EThe initial import does not trigger automations. Historical orders update contact fields and purchase history, but customers won\u0027t receive abandoned cart or order messages about past orders. Automations start with orders that change after the initial import.\u003C/p\u003E\u003C/cite\u003E\u003Ch2 id=\u0022stripe_sync\u0022\u003EStripe Sync\u003C/h2\u003E\u003Cp\u003EOnce Stripe integration is enabled, DailyStory:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Ci\u003E\u003Cb\u003EAutomatically syncs customer data from Stripe:\u003C/b\u003E\u003C/i\u003E 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.\u003C/li\u003E\u003Cli\u003E\u003Ci\u003E\u003Cb\u003EEnables Stripe-specific customer segments:\u003C/b\u003E\u003C/i\u003E Build customer\u0026nbsp;\u003Ca href=\u0022https://docs.dailystory.com/article/v1v5lti4gf-segments\u0022\u003Esegments\u003C/a\u003E\u0026nbsp;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.\u003C/li\u003E\u003Cli\u003E\u003Ci\u003E\u003Cb\u003EEnables Stripe-specific automations:\u003C/b\u003E\u003C/i\u003E\u0026nbsp;\u003Ca href=\u0022https://docs.dailystory.com/article/xrhcd8830x-daily-story-autopilot-guide\u0022\u003EAutomations\u003C/a\u003E, such as abandoned cart, order declined and order fulfilled, are triggered by changes to Stripe orders.\u003C/li\u003E\u003C/ul\u003E\u003Ch3 id=\u0022automation_triggers\u0022\u003EAutomation triggers\u003C/h3\u003E\u003Cp\u003EStripe 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.\u003C/p\u003E\u003Ctable border=\u00221\u0022 style=\u0022border-collapse: collapse; width: 100%;\u0022\u003E\u003Ctr\u003E\u003Ctd\u003ETrigger\u003C/td\u003E\u003Ctd\u003EWhen it fires\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EAbandoned cart\u003C/td\u003E\u003Ctd\u003EAn invoice is finalized but not yet paid (status open)\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EOrder declined\u003C/td\u003E\u003Ctd\u003EAn invoice is voided\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EOrder fulfilled\u003C/td\u003E\u003Ctd\u003EAn invoice is paid, or a one-time Payment Link or Checkout payment completes\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\u003Ch3 id=\u0022payment_links_and_stripe_checkout\u0022\u003EPayment Links and Stripe Checkout\u003C/h3\u003E\u003Cp\u003EOne-time payments made through Stripe Payment Links or hosted Stripe Checkout don\u0027t create a Stripe invoice, and often don\u0027t create a Stripe customer. DailyStory syncs these purchases directly from the completed checkout:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003EThe 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.\u003C/li\u003E\u003Cli\u003EThe purchase is added to the contact\u0027s purchase history and updates the last order fields.\u003C/li\u003E\u003Cli\u003EPayments made with delayed payment methods, such as ACH bank transfers, are synced once the payment succeeds.\u003C/li\u003E\u003Cli\u003ESubscription checkouts, and Payment Links with invoice creation turned on, create a Stripe invoice. These are synced from the invoice, so they\u0027re never counted twice.\u003C/li\u003E\u003C/ul\u003E\u003Ch2 id=\u0022fields_dailystory_syncs_with_stripe\u0022\u003EFields DailyStory syncs with Stripe\u003C/h2\u003E\u003Cp\u003EWhen Stripe integration is enabled, DailyStory automatically syncs data from Stripe.\u003C/p\u003E\u003Ccite class=\u0022recommended\u0022\u003E\u003Cspan class=\u0022title\u0022\u003ERecommended\u003C/span\u003E\u003Cp\u003EStripe sync is one-directional. And data from Stripe will always be considered the \u0022source of truth.\u0022\u003C/p\u003E\u003C/cite\u003E\u003Ch3 id=\u0022standard_fields\u0022\u003EStandard Fields\u003C/h3\u003E\u003Cp\u003EDailyStory will sync the following standard fields from Stripe:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003EFirst name\u003C/li\u003E\u003Cli\u003ELast name\u003C/li\u003E\u003Cli\u003EEmail address\u003C/li\u003E\u003Cli\u003EMobile phone number\u003C/li\u003E\u003Cli\u003EAddress\u003C/li\u003E\u003Cli\u003ECity\u003C/li\u003E\u003Cli\u003EState\u003C/li\u003E\u003Cli\u003EZip code\u003C/li\u003E\u003Cli\u003ECountry\u003C/li\u003E\u003C/ul\u003E\u003Ch3 id=\u0022stripespecific_fields\u0022\u003EStripe-specific Fields\u003C/h3\u003E\u003Cp\u003EIn 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\u0027t ordered in 6 months.\u003C/p\u003E\u003Ctable border=\u00221\u0022 style=\u0022border-collapse: collapse; width: 100%;\u0022\u003E\u003Ctr\u003E\u003Ctd\u003EField\u003C/td\u003E\u003Ctd\u003EDescription\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EId\u003C/td\u003E\u003Ctd\u003EThe customer id in Stripe. Accessible in personalization as \u003Ccode\u003E{{profile.stripe_customer_id}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPurchase History\u003C/td\u003E\u003Ctd\u003EEvery 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.\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPurchased Products\u003C/td\u003E\u003Ctd\u003EThe products on the contact\u0027s most recent paid order. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_order_products}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELast Order Status\u003C/td\u003E\u003Ctd\u003EThe status of the contact\u0027s 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 \u003Ccode\u003E{{profile.stripe_order_status}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELast Order Value\u003C/td\u003E\u003Ctd\u003EThe total of the most recent paid order. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_order_last_value}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELast Order Date\u003C/td\u003E\u003Ctd\u003EThe date of the most recent paid order. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_order_last_date}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELast Order Coupon\u003C/td\u003E\u003Ctd\u003EThe coupon applied to the most recent paid invoice. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_last_order_coupon}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELast Order Charge\u003C/td\u003E\u003Ctd\u003EThe charge description on the most recent paid invoice. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_last_order_charge}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPrice Ids\u003C/td\u003E\u003Ctd\u003EThe Stripe price ids on the most recent paid order. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_price_ids}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EActive Subscriptions\u003C/td\u003E\u003Ctd\u003EActive subscriptions. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_subscription_active}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ECancelled Subscriptions\u003C/td\u003E\u003Ctd\u003ECancelled subscriptions. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_subscription_cancelled}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPaused Subscriptions\u003C/td\u003E\u003Ctd\u003EPaused subscriptions. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_subscription_paused}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ETrial Subscriptions\u003C/td\u003E\u003Ctd\u003ETrial subscriptions. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_subscription_trial}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPast Due Subscriptions\u003C/td\u003E\u003Ctd\u003EPast due subscriptions. Available for segmentation and accessible in personalization as \u003Ccode\u003E{{profile.stripe_subscription_past_due}}\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\u003Ccite class=\u0022recommended\u0022\u003E\u003Cspan class=\u0022title\u0022\u003ERecommended\u003C/span\u003E\u003Cp\u003EIf you need additional fields imported from Stripe that are not listed here, please \u003Ca href=\u0022mailto:support@dailystory.com\u0022 target=\u0022_blank\u0022\u003Econtact us\u003C/a\u003E for assistance.\u003C/p\u003E\u003C/cite\u003E\u003Ch2 id=\u0022loyalty_and_rewards\u0022\u003ELoyalty and Rewards\u003C/h2\u003E\u003Cp\u003EThe following activities from Stripe generate loyalty points:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Cb\u003ENew Customer\u003C/b\u003E\u0026nbsp;- when a new account signs up\u003C/li\u003E\u003Cli\u003E\u003Cb\u003EPlace an Order\u003C/b\u003E\u0026nbsp;- for each dollar spent\u003C/li\u003E\u003C/ul\u003E","publish_status":0,"post_type":"Article","authoruid":"3dde8c16-763a-4a2b-ae0b-1d8c50c62e3d","author":{"authoruid":"3dde8c16-763a-4a2b-ae0b-1d8c50c62e3d"},"featured_image_url":"https://cdn-us-1.azureedge.net/content-pages/images/integrations/icons/stripe_on.png?v=2","featured_image_updating":false,"meta_description":"Stripe is a suite of APIs powering online payment processing and commerce solutions for internet businesses of all sizes. By integrating Stripe with DailyStory, you can leverage the DailyStory marketing automation platform to seamlessly send emails, text messages, push notifications and more to customers added to Stripe. 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 yo ...","display_toc":true,"has_workingcopy":false,"allow_indexing":true,"sort_order":8,"total_views":1333,"date_published":"2023-08-19T15:27:00","date_updated":"2026-10-17T19:23:09.953","date_created":"2025-04-24T15:03:06.85"}}}