← View All Guides
Stripe logo
Integration Guide

How to Trigger Referrals from Stripe Subscription Charges with GrowSurf

Use Stripe charge events as the qualifying referral action and keep the participant and referrer trail attached to the right customer record.

Want the full setup walkthrough?

Use these docs for exact setup steps, supported fields, and troubleshooting.

Use Stripe Referral Trigger when a paid Stripe charge should be the moment a referral counts. This is a strong fit for subscription businesses that only want to reward the referrer after the customer actually starts paying.

GrowSurf matches the Stripe customer email to the participant record, triggers the referral, and writes referral metadata back to the Stripe customer so your team can verify who referred whom.

Integration Steps

Make sure the customer is already a GrowSurf participant

If your program does not add participants automatically, call growsurf.addParticipant() or the GrowSurf REST API before the Stripe payment happens. Referral Trigger can only credit the right referrer when the customer already exists in GrowSurf.

Connect Stripe and enable Referral Trigger

Stripe referral trigger connection in GrowSurf
Connect Stripe from the GrowSurf Options screen, then use the Referral Trigger tab for charge-based referral tracking.

In referral programs, Referral Trigger is enabled by default after you connect Stripe. Leave this on when a successful Stripe charge should count as the qualifying referral event.

Add a hold period if you need protection against refunds and chargebacks

Stripe referral trigger hold period settings in GrowSurf
A hold period gives your team time to catch refunds or chargebacks before the referral is finalized.

Use the advanced Referral Trigger settings when you want to delay the referral until a refund window has passed. If a refund or chargeback happens during that hold period, GrowSurf cancels the pending referral.

Use Stripe customer metadata to confirm the match

GrowSurf writes referral-related metadata to the Stripe customer record, including the participant ID, referrer ID, and referrer email. That makes Stripe a useful place to double-check which referral relationship was attached to a given customer.

Test deliberately and leave time for email changes to sync

Test mode and sandbox data are supported, but live referrals will not trigger while test mode is enabled. If a Stripe customer changed their email address right before paying, allow a few minutes for the Stripe webhook update to reach GrowSurf before you retry the flow.

Tips

Keep the Stripe customer email aligned with the GrowSurf participant email

Email matching is the core of this workflow. When the emails drift apart, referral tracking becomes much harder to debug.

Use the participant activity log before changing campaign logic

The activity log usually tells you whether GrowSurf saw the payment, whether the customer was matched, and whether the referral is still waiting inside a hold period.

FAQ

Do I need custom middleware for Stripe referral triggers?

No. The native Stripe integration handles the trigger itself. The only extra implementation you may need is creating the participant first if your campaign does not do that automatically.

Will this work for subscription businesses?

Yes. This setup is specifically useful when you want a Stripe charge from a subscription customer to be the qualifying referral event.

Why did a live Stripe payment not trigger a referral?

Start by checking whether test mode is still enabled, whether the customer existed as a participant, and whether the referral is currently sitting inside a hold period.

Set up your refer a friend program with customer referral and affiliate program software that lowers your acquisition costs, increases customer loyalty, and saves you gobs of time.

Trusted by marketing and product teams at fast-growing B2C, fintech, and SaaS companies