🤑Subscription
Creates a customer, a subscription, and begins the subscription (with an optional trial period). Step by step.
Steps for Subscription
Step 1: Get your Keys and IDs
Go to Stripe and get your Restricted Key and your Publishable Key.
Set the following scopes:
PaymentIntents: Write
Customers: Write
Credit notes: Read
Subscriptions: Write
Be aware that you can be in Test mode or in Live mode (you want to be in Live mode for this to really work)
Be sure to create a Restricted Key and not a Secret Key.
You might find this Stripe document Helpful.
Set the One Time Price ID (for the first payment), Trial Period, and Price ID (for the payment after the trial).
Step 2: Go to the builder and set up the Stripe Component
Create a new Stripe Integration component.
Set the Action into the component's Option Panel to "Subscription".
Copy and paste your Publishable Key.
Set the One Time Price ID for first payment (you can leave it empty for a free trial), the Trial Period for the amount of days, and the Price ID with the price for after the Trial, just as you did in Stripe.
Set the Billing Info variables with the according keys.

Step 3: Install Stripe in your Website
Click the Share button on the top bar of the builder
If you already had the code snippet on your website you'll only need to add the first line that says something like: "<script async src="https://js.stripe.com/v3/"></script>"
If you didn't have the flow installed, copy the whole block of code on the head of your Site.

Step 4: Send your Restricted Key to us
Send us a private message with your Restricted Key
Step 5: Add our custom webhook into Stripe
You'll need to request your custom webhook URL from us
It'll be in the format https://flows.trysavvy.com/api/public/webhooks/stripe/__ABCDEFG___
In your Stripe dashboard go here, or head to Developers -> Webhooks -> Add Endpoint
Enter the webhook URL we gave you into "Endpoint URL"
Under "Select events to listen to" click "+ Select events"
Expand the "Invoice" section and select
invoice.payment_succeeded
Click "Add events" and then "Add Endpoint"
Common Errors
Payment rejected due to mismatch in payment amount
Likely cause: the Flow version is unsaved, or the front-end's amount does not match the backend's Flow JSON's amount.
Missing required secret key for...
The secret key for live mode has not been added to the above environment variable.
Secure Payments is configured incorrectly. Please contact us and let us know!
You are missing a publishable key in the saved flow JSON of the version you are using.
Cannot read property 'client_secret' of null
A payment intent was unable to be created. Check the API key permissions to ensure they are correct.
Check the
price_ids
used in the transaction to ensure the sum is above the minimum amount of $1 USD (or other currency equivalent).
No such payment intent
The
publishable_key
of the component and therestricted_key
of the group the Flow is part of do not belong to the same account.Savvy admins will be required to look into this
Check the groupId of the version of the Flow you are viewing, and compare it against the
restricted_key
stored in l. Ensure that thepublishable_key
's account matches that of therestricted_key
.This error does not mean that a key is missing, rather, both keys exist and are valid, but belong to different accounts (and thus Stripe cannot "find" the id because it is part of a different account)
Any other error
Check the permissions on the API Key
Contact Savvy
Last updated
Was this helpful?