Welcome to the GrowSumo Integration Docs

Here you can find guides, documentation, support and FAQs to get you setup on GrowSumo.

Chat with us by clicking the message bubble in the bottom right if you are having any trouble!

Get Started

Stripe Webhook

This integration will make sure that your customers purchases are tracked.

The Stripe Webhook integration sends any events related to Customers, Charges, or Subscriptions. GrowSumo can then keep your customers in sync with Stripe. It is the fastest and most accurate way to fully integrate with GrowSumo.

Get your Webhook URL

In the GrowSumo dashboard. Navigate to Settings > Integrations > Webhooks and select Stripe from the Supported integrations.

Create the Webhook on the Stripe Dashboard

On your Stripe Dashboard on the menu on the left go to API > Webhooks > + Add endpoint... (Or just click here https://dashboard.stripe.com/account/webhooks)

Paste the URL from GrowSumo in there and select Add endpoint

Add customer key to Stripe Metadata

Whenever you interact with Stripe you need to let GrowSumo know which customer you are referring to.

GrowSumo looks for customer_key in the Stripe metadata to identify customers it (must be the same customer_key you used with GrowSumoJS)

ADD `metadata` containing the `customer_key`
MAKE SURE it matches the one used with GrowSumoJS

# import stripe
# stripe.api_key = "sk_test_w82a3du.."
# stripe.Customer.create(
      metadata={
        "customer_key":<YOUR_CUSTOMERS_KEY>
      },
#     source="tok_18sjJiIDkGDhAX2xt24vr4Zx"
# )
ADD `metadata` containing the `customer_key`
MAKE SURE it matches the one used with GrowSumoJS

# require "stripe"
# Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"
# Stripe::Customer.create(
    :metadata => {'customer_key' => <YOUR_CUSTOMERS_KEY>}
#   :description => "Customer for zoey.wilson@example.com",
#   :source => "tok_189fT12eZvKYlo2CYj4YoHKu" # obtained with Stripe.js
# )
ADD `metadata` containing the `customer_key`
MAKE SURE it matches the one used with GrowSumoJS
# <?
# \Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");
# \Stripe\Customer::create(array(
    "metadata" => array("customer_key" => <YOUR_CUSTOMERS_KEY>)
#   "description" => "Customer for anthony.jackson@example.com",
#   "source" => "tok_189fT12eZvKYlo2CYj4YoHKu"
# ));
ADD `metadata` containing the `customer_key`
MAKE SURE it matches the one used with GrowSumoJS

// Stripe.apiKey = "sk_test_BQokikJOvBiI2HlWgH4olfQ2";
// Map<String, Object> customerParams = new HashMap<String, Object>();
// customerParams.put("description", "Customer for anthony.jackson@example.com");
// customerParams.put("source", "tok_189fT12eZvKYlo2CYj4YoHKu");
Map<String, String> initialMetadata = new HashMap<String, String>();
initialMetadata.put("customer_key", <YOUR_CUSTOMERS_KEY>);
customerParams.put("metadata", initialMetadata);
// Customer.create(customerParams);
ADD `metadata` containing the `customer_key`
MAKE SURE it matches the one used with GrowSumoJS

// var stripe = require("stripe")(
//     "sk_test_BQokikJOvBiI2HlWgH4olfQ2"
// );
// stripe.customers.create({
//    description: 'Customer for isabella.williams@example.com',
//    source: "tok_189fT12eZvKYlo2CYj4YoHKu",
      metadata: {"customer_key":<YOUR_CUSTOMERS_KEY>}
// });
ADD 'metadata' containing the 'customer_key'
MAKE SURE it matches the one used with GrowSumoJS

// stripe.Key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"
// customerParams := &stripe.CustomerParams{
//   Desc: "Customer for isabella.williams@example.com",
// }
customerParams.AddMeta("customer_key", <YOUR_CUSTOMERS_KEY>)
// customerParams.SetSource("tok_189fT12eZvKYlo2CYj4YoHKu") // obtained with Stripe.js
// c, err := customer.New(customerParams)

Depending on your integration with Stripe your interaction with the metadata could be quite different. Here is a link to the Stripe API Docs

Please let us know if you have issues figuring out how to do work with metadata and we will do our best to help out.

You can now test your integration by going to the Testing Suite in the GrowSumo Dashboard. Nice work!

Setup Subscription Plans

If you have any plans set up on Stripe, now is the time to set them up on GrowSumo.

You need to make sure that the plan key on GrowSumo matches the plan ID on Stripe. You can find your plans on Stripe https://dashboard.stripe.com/subscriptions/products

Create all your plans in GrowSumo and you are good to go!

If you are not using GrowSumoJS, continue reading


Not using GrowSumoJS

You may not be using GrowSumoJS if you have a product that is purchased on signup, for example an ecommerce store.

If you are not using GrowSumoJS, you must attach the customer_key AND the partner key to the metadata in your Create Charge calls to Stripe.

This lets GrowSumo know which partner is responsible for which customer. After the customer has been created you can reference them with their key.