Connect to Stripe

After you create a form to add your payment flow into, your first step will be to configure the Stripe integration for the form. Follow these steps:

Add Stripe Keys

Navigate to the Feathery form that you want to connect to Stripe. Click on the Integrations tab and find the Stripe integration.

Open the Stripe integration by clicking on it. To configure, you must provide your Stripe test and live publishable and secret keys from an activated Stripe account. The Stripe configuration screen is shown below.

The test keys will only be used while you're previewing / testing your Feathery form. The production keys are used on your live form. You can find the keys in your Stripe dashboard ( by searching for “api keys”. After entering all of the keys, you may connect the integration. Feathery will validate your connection at this time.

Toggle Payment Collection Method

Feathery offers two ways of handling checkout and payment. Choose your preferred method via the "How do you want to collect payments?" dropdown.

Configure Stripe Customer Metadata (Optional)

Feathery forms always perform Stripe operations such as save a payment method or make a purchase using a customer record in Stripe. If a Stripe customer record is not yet associated with the current form submission (and Feathery user) then one will be created by the Feathery Stripe integration.

Perform some or all of the following only if you wish to customize how Feathery finds and configures Stripe customer records.

  1. If you already have customer records in Stripe that you want your Feathery payment data to update, you may pass some type of identifier (Stripe Lookup Attribute) to your embedded Feathery form via the embed library. Typically the lookup attribute is passed as a hidden field value. This attribute is used to look up the existing Stripe customer record to use for the current user's payment activity. There are two options for the Stripe Lookup Attribute. It may either be the standard Stripe customer ID or it may be the value of a custom (metadata) field that has been previously configured into Stripe for each customer record. Your system would have previously assigned a unique value to this custom field. With either Stripe Lookup Attribute type, the value is derived from some Feathery form or hidden field. For the custom option, you must also configure the name of the custom field in Stripe.

  1. You can update your Stripe customer record metadata with collected form information. Feathery supports updating a variety of Stripe fields such as the name, phone, address information, shipping information and address, etc. Map any applicable fields and save changes to the mapping as illustrated below.

Using A New Stripe Customer

Feathery’s integration with Stripe is designed so that there is always one-to-one between a Feathery form user submission and a Stripe customer. If the user resubmits the form, the same Stripe customer record will be used by default. The only way to end up with a new Stripe customer record is to also create a new feathery form submission.

Feathery offers a “Start New Submission” action on buttons, etc. that you can use to start a new submission and therefore create a new customer record in Stripe for any subsequent payment method entries or payment.

Another option is to turn off user tracking (remember user) in your form settings if you don’t want each new session in the same browser to track the same user. This will result in new submissions, each with a new associated Stripe customer record.

Additional Stripe Fields

Additional Stripe payment fields may also be optionally mapped to Feathery fields that will update their values.

  • Receipt Email – Email address to send the payment receipt from Stripe. Note that receipts will not be sent out in test mode. Also, make sure to turn on receipts in your Stripe dashboard.

  • Payment Indicator – A field that will be set true once the user has paid. You can use this field in conditional navigation or element-hide rules to do things like skipping the payment step if the user has already paid. This will typically only be used for more complex custom payment flows.

Always remember to save your changes using "Save Changes" button at the bottom.

Last updated