Configuring Stripe

  1. Overview
  2. Initial Setup
  3. Configure Cheddar
  4. Using Stripe.js (optional)

1 Overview

Stripe is available to merchants in many countries and doesn't require underwriting to get started. You can be up and running in minutes. Once you've created your Stripe account, you can configure your Cheddar account.

2 Initial Setup

Once you've signed up for Stripe, activate your account here: https://manage.stripe.com/account/details. That's it.

3 Configure Cheddar

After activating your Stripe account, it's time to setup your Cheddar account. Login to Cheddar, navigate to Configuration->Gateway and enter your Live Secret Key. Click "Save Changes" and you should be all set.

You can find your Live Secret Key here: https://manage.stripe.com/account.

Note: On the newer Stipe accounts, they have added a security feature where you are required to enable unsafe processing to use Cheddar. However rest assured this isn't unsafe, it is more of an attempt from Stripe to lock you into using them as the only processor.
Don't be alarmed by the phrasing, but here are the steps that need to happen for this:

  1. Either click this link or in the Stripe dashboard go to “Business Settings” and then to “Integration”.
  2. On the Integration settings page, click the “Show Advanced options” link, and toggle the “Process payments unsafely” option.
  3. This will load a popup window with three checkboxes, check each one and for the final one, in the dropdown that appears select “Someone else built my Stripe integration”, and specify “Sprout Invoices'” in the textbox.
  4. Finally, click the “Process payments unsafely” button to save the changes.

4 Using Stripe.js (Optional)

See the official documentation for Stripe.js. You may also be interested in the full Stripe API reference.

Stripe.js aims to provide a secure way to collect your customers’ credit card information while simplifying your PCI compliance reporting burden. Using Stripe.js, you can send your customers’ payment information directly to Stripe within your application. Stripe will respond with a token representing that payment information. This token can be sent back to your server and used as a payment source for a customer in API calls to Stripe.

Cheddar, in turn, can accept a Stripe customer ID as a subscription gateway token to pull your customers’ credit card information directly from Stripe. Thus, you can use Stripe.js, the Stripe API, and Cheddar’s API to collect credit details without ever handling the raw payment information directly on your servers.

For example, to create a new customer from a sign-up form using Stripe.js with Cheddar, there would be three major steps:

  1. Use Stripe.js to collect credit card details
    • Use Stripe.js to collect a customer’s information (including credit card details) and receive a token from Stripe.js
  2. Use the Stripe API to create a customer in Stripe
    • Pass the token from Stripe.js to your server
    • Use the token to represent a payment source while creating a new customer in Stripe
  3. Use Cheddar’s API to create a customer in Cheddar
    • Pull the customer ID from the customer object returned by Stripe
    • Use the customer ID as a subscription gateway token in a call to Cheddar to create a new customer

You may be interested in this example using Stripe.js and Cheddar to create a new customer.

4.1 Difference in Name Requirements for Stripe Versus Cheddar

Note that it's possible to create a customer and an associated credit card in Stripe without collecting a name for either the customer or the credit card. However, Cheddar requires a first and last name for both the customer and the credit card.

You can pass the credit card first and last name directly to Cheddar, or by including the name attribute when you create a token in Stripe.js. If a name is included in the creation of a Stripe.js token, Cheddar will pull that information directly from Stripe.

View Plans and Pricing   or   Get Started with Cheddar now →