Overview
Stripe sends webhook events (e.g. a successful payment or a paid invoice) to Extole. Extole identifies the customer, evaluates campaign logic, and, if a reward is earned, calls the Stripe API directly to issue it as a native Stripe object on the customer’s account. No separate payout system or middleware is required; Extole communicates with the Stripe API directly for fulfillment.Prerequisites
Available Products
Customer Balance
Issues a reward as a credit applied directly to the customer’s Stripe balance. Configured with a face value and currency; the credit amount is negative on the Stripe balance transaction, reducing what the customer owes on their next invoice.Promotion Code
Issues a reward as a Stripe promotion code, redeemable against a pre-configured Stripe Coupon. Configured with a face value (for display), a Coupon selected from the connected Stripe account, and an optional restriction limiting redemption to the customer’s first transaction.Integration Model
Reward fulfillment
When a reward is earned, Extole dispatches a REWARD webhook that calls the Stripe API directly, branching on which reward supplier issued the reward:
Both calls include
metadata[extole_reward_id] (the Extole reward ID) on the created Stripe object.
Coupon discovery
A PARTNER webhook callsGET /v1/coupons against the connected Stripe account, populating the list of Coupons selectable when configuring a Promotion Code reward supplier.
Inbound event mapping
The following fields are extracted from each inbound Stripe event onto the corresponding Extole event:
Field presence depends on the Stripe object type.
partner_user_id is used as the person’s identity key; email, when present, is used as a secondary identifier.
Integration
Step 1: Deploy the integration component
- In Security Center → Keys, create a Client Key (Type:
WEBHOOK, Algorithm:PASSWORD) containing the Stripe secret key. - In the integration’s Configuration tab, set Stripe Secret Key to reference that Client Key.
Step 2: Connect Stripe to Extole
- Generate an Extole API access token with permission to post events.
- In the Stripe Dashboard, under Developers → Webhooks, add an endpoint:
- Select the events to send:
payment_intent.succeeded,customer.subscription.created,customer.subscription.updated,invoice.paid.
Step 3: Configure rewards
- In the integration’s Rewards tab, add the reward supplier(s) you need (Customer Balance and/or Promotion Code).
- For Customer Balance, set the face value and currency.
- For Promotion Code, select a Stripe Coupon, set the face value, and optionally restrict redemption to the customer’s first transaction.
- Attach the reward supplier(s) to the desired step in your Extole campaign.
FAQs
Does the customer need a Stripe account before they can receive a reward? Yes. Rewards are issued to the Stripe customer identified bypartner_user_id (stripeObject.customer) on the triggering event; the customer must already exist in Stripe.
What happens if the Stripe Secret Key is invalid or missing when a reward is earned? The fulfillment webhook’s Stripe API call fails, and Extole marks the reward as failed.