Connect to Stripe

Upon creation of a form to used used for your payment flow, your first step will be to configure the Stripe integration for the form. Follow these steps:
  1. 1.
    Navigate to the Feathery form that you want to connect to Stripe. Click on the Integrations tab and find the Stripe integration.
  2. 2.
    Open the Stripe integration by clicking on it. To configure, you must normally provide both test and production publishable and secret keys from an activated Stripe account. The Stripe configuration screen is shown below.
    Feathery's Stripe keys configuration
    The test keys will only be used while previewing (testing) your Feathery form. The production keys are used otherwise. 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.
  3. 3.
    Feathery offers you two basic ways to do the checkout and payment portion of the flow: These two choices are available via the "Payment Flow" dropdown.
    • Custom checkout all within a Feathery form. You have control over the user experience but ultimately your form will collect the payment information and initiate the payment in Stripe.
    • Stripe Checkout. Stripe supports automatically generated checkout pages that present a purchase summary, collects payment information and enables the user to pay. In this scenario, Feathery will automatically redirect to Stripe checkout after the user has selected products or services. These two choices are available via the "Payment Flow" dropdown.
      The Feathery-Stripe payment flow selection
  4. 4.
    For a minimal integration, only the keys are required. However, when adding payment methods to Stripe and/or collecting payments using Stripe, Feathery always does so in the context of a Stripe customer record. You have two options when using Feathery and Stripe with respect to customer records: Your system creates and controls the Stripe customer record. In this situation, your system has previously created a Stripe customer record for this user. Your system must then typically pass some sort of identifier (Stripe lookup Attribute) to the Feathery form using the Feathery SDK. Typically this is passed to the Feathery form as a hidden field. At runtime, the lookup attribute/field can be used to lookup and access the existing Stripe customer record. Feathery will then use that existing Stripe customer record for all 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.
    Configuring Feathery to lookup an existing Stripe customer record using the Stripe Customer ID
    Configuring Feathery to lookup an existing Stripe customer record using a custom field
    Feathery is first point of contact with Stripe. In this situation, your systems have not previously interacted with Stripe for the user nor created a Stripe customer record for them. Feathery can be configured to automatically create the Stripe customer record just prior to any action such as saving a credit card or initiating a payment in Stripe. This is the default way that Feathery works with Stripe. Note that in this configuration, Feathery will always use a unique Stripe customer record for each unique user interacting with the Feathery form and reuse that same Stripe customer for all future interactions with that user. In order to give that Feathery created Stripe customer record meaningful information, you may optionally map Feathery form fields to supported Stripe customer fields. Feathery supports a wide variety of Stripe customer fields such as name, phone, address information, shipping information and address, etc. Map any applicable fields (that were previously added to the form) using the field selector button and save changes to the mapping as illustrated below.
    Configuring Feathery-Stripe customer field mappings
  5. 5.
    If you plan to accept a payment from your Feathery form, you will probably want to configure payment fields (optional). Again, these represent a mapping of a Feathery form field to a particular Stripe field.
    The available fields are:
    • Receipt Email – Email address to send the payment receipt from Stripe.
    • Payment Indicator – A field that will be set true once the user has paid. You can optionally 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.
  6. 6.
    Always remember to save your changes using "Save Changes" button at the bottom.