Stripe
Learn about Stigg's native integration with Stripe Billing
Overview
Stripe is the fastest way for your business to bill customers with subscriptions or invoices, and accept recurring payments globally.
Stigg's native integration with Stripe enables:
- Automatic propagation of changes from the Stigg platform to Stripe, including: changes to the product catalog (product, plans and add-ons, coupons), customers, subscriptions and their usage.
- Automatic propagation of changes from Stripe to Stigg, including: subscription cancellations in Stigg when they're cancelled in Stripe.
- Ability to leverage Stripe's hosted checkout page for customer checkout process, without needing to perform any additional integration with Stripe.
- Ability to leverage Stripe's hosted billing portal to allow customers to update their billing details and payment method, as well as view past invoices, without needing to perform any additional integration with Stripe.
Entity mapping
Stigg entities are mapped to Stripe entities as follows:
Stigg Entity | Stripe Entity | Stripe Entity Name Format | Notes |
---|---|---|---|
Feature | N/A | ||
Product | N/A | ||
Plan | Product | Plan for example: Acme Basic Plan | Every published plan is mapped to a dedicated Stripe product. When a plan has multiple charges defined, each plan charge is mapped to a dedicated Stripe product. Plan prices are versioned - when the price changes, a new price is created and the previous price is archived. |
Add-on | Product | Add-on for example: Acme 10 Seats Add-on | Every published add-on is mapped to a dedicated Stripe product. Add-on prices are versioned - when the price changes, a new price is created and the previous price is archived. |
Coupon | Coupon | When a coupon is archived in Stigg, it's deleted in Stripe; therefore, the coupon cannot be applied to new customers. Existing customers that the coupon is applied to are not affected. | |
Customer | Customer | By default, the customer name and email in Stigg are synced to Stripe - the name is used as the customer name and description, and the email as the billing email address. It's also possible to report a different customer name to Stripe, which is useful for generating invoices with the full company name (i.e. customer name in Stigg is "Acme", and the customer name in Stripe will be "Acme Ltd."). | |
Subscription | Subscription | The subscription will include line items for each of the charges that are defined in the plan's pricing. When provisioning subscriptions with add-ons, each add-on will also be reflected as a separate line item. Due to a limitation in Stripe, each customer can have at most 500 active subscriptions. |
Entities that are not synced to Stripe
Entity | Not synced to Stripe when... |
---|---|
Customer | Customer doesn't have any subscription |
Customer only has subscriptions to free plans | |
Customer only has trial subscriptions | |
Customer only has subscriptions to plans with a custom price | |
Customer's billing information is not sent to Stigg | |
Customer doesn't have a payment method define in the billing solution | |
Syncing of customers is disabled in the environment | |
Subscription | Subscription is for a free plan |
Subscription is for a trial plan | |
Subscription is for a plan with a custom price | |
Syncing of subscriptions is disabled in the environment |
Syncing customer usage to Stripe
When customers are subscribed to plans with pay-as-you-go usage-based charges, Stigg automatically syncs their data (usage and total amount) to Stripe upon invoice generation.
Stigg requires at least a 1 hour invoice finalization grace period to be configured in Stripe, which is also Stripe's default configuration.
Setting up the integration
In the Stigg app, under the Settings > Integrations > Apps section, select the Stripe connector.
If you're setting up the integration for development or testing purposes, toggle "Use Stripe test account" on.
Click "Connect with Stripe".
You'll be redirected to Stripe in order to complete the integration process.
In the opened screen click "Connect", and follow the instructions.
Once all of the integration steps on the Stripe side are completed, you'll be redirected back to Stigg.
Make sure to use the correct Stripe account when setting up the integration
Indication for synced entities
Entities that are synced from Stigg to Stripe have a clickable "billing ID" property with a Stripe logo next to it and indication of their sync status (successful, failed, will not be synced).
Accessing Stripe entities from Stigg
In the Stigg app, clicking on the link of the "billing ID" property will open the relevant entity in Stripe.
Accessing Stigg entities from Stripe
In Stripe, under the "Metadata" section of the relevant entity, click on the link that appears under the "stiggEntityUrl" field.
Integration with Stripe's Billing Portal
When Stigg is integrated with Stripe and using Stigg's Customer Portal widget, customers can update their billing information and view previous invoices directly from Stripe's Billing Portal (when it's enabled).
To ensure that the functionality of Stigg's Customer Portal doesn't collide with that of Stripe's Billing Portal, it's recommended to configure Stripe's Billing Portal as follows:
- Launch customer portal with a link - enabled
- Invoices
- Invoice history - enabled
- Customer information - enabled
- Name - unchecked
- Email address - unchecked
- Billing address - checked
- Phone number - optional
- Tax ID - optional
- Payment methods
- Payment method - enabled
- Cancelations
- Cancel subscriptions - disabled
- Pause subscriptions - disabled
- Subscriptions
- Switch plans - disabled
- Update quantities - disabled
Integration with Stripe Tax
Stigg can be integrated with Stripe Tax to automatically calculate customer tax rates during checkout sessions, provisioning and updating of subscriptions.
Before the integration can be enabled, please make sure to set up Stripe Tax.
To enable the integration, please contact Stigg Support.
Removing the integration
To remove the integration, click on the dotted menu icon and select the "Remove" action.
Confirm the action by clicking on the "Remove" button in the opened modal.
Updated 3 months ago