Our Stripe integration lets you:

  • Create and update contacts
  • Send events to trigger loops

Our Stripe integration is built on top of our Incoming webhooks feature. This system lets you send webhooks from supported platforms directly to Loops so you can easily sync users and customers as well as send automated emails.

Please read our guide about incoming webhooks

With Stripe, you can sync user data to Loops for customer and invoice-related events.

Synced data

We sync the following Stripe data to your Loops contacts for every incoming event:

  • Email address
  • First and last name (optional)

We use the email addresses of Stripe customers to match contacts in your Loops audience. If the email address is not found in Loops, we will create a new contact.

Supported events

We accept the following events:

  • checkout.session.completed
  • customer.created
  • customer.updated
  • invoice.paid
  • invoice.payment_failed
  • invoice.upcoming

Stripe webhook docs

If you send other events, they will be ignored.

If you would like to see more events supported, please let us know by sending an email to help@loops.so. Please keep in mind only events that contain an email address are able to be processed.

Create a webhook endpoint in Loops

Follow the instructions here to create a new webhook endpoint, which will allow you to send webhook events directly to Loops.

Create a webhook in Stripe

Next, you need to set up webhooks in Stripe.

Go to Developers and then Webhooks.

Click + Add endpoint. Paste in the endpoint URL from Loops, then select the event(s) you want to send (see our supported events above).

Click Add endpoint to finish.

The last step is to copy the signing secret into Loops. On the webhook page in Stripe, click Reveal to show the secret in the page. Copy the secret and paste it into the Signing Secret field in Loops.

Now you’re all set up.

Testing Stripe webhooks

You can test a customer.* webhook by creating a new customer in the Customers page in Stripe.

You can also use the Stripe CLI tool to mimic events, by using the trigger command.

You can see all sent webhooks by going to Developers -> Webhooks and then clicking on an endpoint.

On Loops’ end, You will see new contacts appear in your Audience page, and triggered events in the Events page.

Examples

Here are some examples of how you can send data from Stripe to Loops to sync contacts and trigger useful emails to your customers.

Syncing customers to Loops

Create or update contacts in your Loops audience when a customer is created or updated in Stripe.

  1. Create a new Stripe webhook endpoint in Loops (instructions).
  2. In Stripe, create a new webhook (instructions above) for the customer.created and customer.updated events and paste in your endpoint’s URL.
  3. In Loops, make sure customer.created and customer.updated are checked on the Stripe settings page.

Send an email to all new Stripe customers

Send an email from Loops when a new customer is created in Stripe.

  1. Create a new loop in Loops using our Stripe - New Customer template.
  2. For the loop trigger, select Event received and enter newStripeCustomer (or something similar).
  3. Set up your Stripe webhook endpoint in Loops (instructions).
  4. In Stripe, create a new webhook (instructions above) for the customer.created event and paste in your endpoint’s URL.
  5. In Loops, make sure customer.created is checked, and select the event name you chose in Step 2 from the Trigger an event field.

Send an email to Stripe Checkout customers

Send an email from Loops when a customer pays via Stripe Checkout.

  1. Create a new loop in Loops using our Stripe - Payment Successful template.
  2. For the loop trigger, select Event received and enter stripeCheckout (or something similar).
  3. Set up your Stripe webhook endpoint in Loops (instructions).
  4. In Stripe, create a new webhook (instructions above) for the checkout.session.completed event and paste in your endpoint’s URL.
  5. In Loops, make sure checkout.session.completed is checked, and select the event name you chose in Step 2 from the Trigger an event field.

Successful payment email

Send an email from Loops when an invoice is paid in Stripe.

  1. Create a new loop in Loops using our Stripe - Payment Successful template.
  2. For the loop trigger, select Event received and enter successfulPayment (or something similar).
  3. Set up your Stripe webhook endpoint in Loops (instructions).
  4. In Stripe, create a new webhook (instructions above) for the invoice.paid event and paste in your endpoint’s URL.
  5. In Loops, make sure invoice.paid is checked, and select the event name you chose in Step 2 from the Trigger an event field.

Failed payment email

Send an email from Loops when an invoice payment fails in Stripe.

  1. Create a new loop in Loops using our Stripe - Payment Failed template.
  2. For the loop trigger, select Event received and enter failedPayment (or something similar).
  3. Set up your Stripe webhook endpoint in Loops (instructions).
  4. In Stripe, create a new webhook (instructions above) for the invoice.payment_failed event and paste in your endpoint’s URL.
  5. In Loops, make sure invoice.payment_failed is checked, and select the event name you chose in Step 2 from the Trigger an event field.

Was this page helpful?