Cello makes it easy to connect securely to your Stripe payment provider to automate transaction events, attribution, and payouts. Transactions are monitored and used to payout referrers based on your campaign reward rules.

Overview

A notification event is securely sent to Cello through the webhook endpoint every time a customer makes a purchase or a customer record is created or updated. Cello checks these events to perform the following actions:
  • Determine if a reward for referrer needs to be created and paid out
  • Inform the referrer on new signups and rewards
  • Cancel recurring rewards if a subscription is cancelled
If the automation of Cello detects unclear cases the automation will be paused and Cello will reach out to you to clarify the case.

Endpoint URLs

You will find webhook Endpoint URL in Cello Portal Webhooks page.

Connecting Stripe

Prerequisites

Before configuring webhooks, ensure your Stripe customers include the required Cello metadata. This metadata enables proper attribution and reward tracking.
When to add metadata:
  • If you create Stripe customers at signup → You would have already added metadata to the customer during the Setup Step “Track Signups”
  • If you create Stripe customers at purchase → Make sure to add metadata when creating the customer

Required Stripe Customer Metadata

Pass the following fields during Stripe Checkout in the Customer Object and Checkout Session object
FieldDescriptionStripe Object
cello_uccReferral code identifying the referrerStripe Customer Object, attribute:metadata
new_user_idYour system’s unique user ID. Same as productUserId used in Referral Component when booting the SDKStripe Customer Object, attribute:metadata
new_user_organization_idOrganization ID (optional). Required only for organization-level referrals and rewardsStripe Customer Object, attribute:metadata
couponNew user discount codeStripe Checkout Session object, attribute: discount

Steps

You will add a webhook to your Stripe configuration to connect Stripe and Cello. This can be done in both test and production environments separately.
1

Log into your Stripe Dashboard

2

Go to Developer Mode

Select Developers from the upper right menu.Stripe webhook endpoint configuration in Stripe Dashboard
3

Add a Webhook endpoint

You can find Webhooks at the left menu. Next click Add an endpoint.Adding Cello webhook endpoint URL in Stripe Dashboard
4

Enter the Endpoint URL

Choose the Endpoint URL corresponding to the environment you are setting up: Sandbox or Production.Stripe webhook event selection for customer.created events
5

Select the events to send

To select events, do the following steps:
  1. Select “Events on your account”
  2. Select your latest API version
  3. Choose events to send:
    1. charge.refunded, charge.succeeded, charge.updated
    2. customer.created, customer.deleted, customer.updated
    3. customer.subscription.created, customer.subscription.deleted, customer.subscription.updated
    4. invoice.paid
    Stripe webhook signing secret for authentication
6

Click "Add endpoint"

Webhook created!
7

Secure the Webhook

To secure the connection, you need to add the “Signing secret” to Stripe Webhook Configuration in Cello Portal.
Stripe Webhook Signing secret starts with whsec_
  1. Click “Reveal” and copy the Signing secret
  2. Add the Signing secret to Stripe webhook settings in the Cello portal. Cello Portal webhook configuration for Stripe integration