The last step of integrating Stripe with Gravity Forms is creating a feed. A feed communicates information to Stripe each time a visitor successfully submits your form. This is a critical step. If it is not completed, nothing is sent to Stripe for processing.
Create Your Feed
- Open the form you created during the Setting up a Stripe Compatible Form article. If you have not created this form, visit Setting Up A Stripe Compatible Form. Select Forms to view your forms. Hover over your Stripe compatible form, then hover over Settings, and select Stripe from the dropdown.
- You will be directed to a Stripe Feeds page. Select Add New or Create One to begin creating your Stripe Feed.
- Give your Feed a unique Name. This prevents any trouble with distinguishing the feed later on. It is not displayed to the user.
- Select the Transaction Type. Products and Services are single one time payments while the Subscription is a recurring payment. Refer to the sections below for instructions on how to setup each transaction type.
Products & Services Settings
- Select which data determines the Payment Amount. You may choose a specific Product Field or the overall Form Total. This is dependent on the fields on your form.
- Select which data determines the Recurring Amount. You may choose a specific Product Field or the overall Form Total. This is dependent on the fields on your form.
- Set the Billing Cycle. This determines how often the recurring payment should occur. By default, the Billing Cycle charges the customer once a day. You can change this option by modifying the number that precedes the time interval, or by changing the time interval itself.
- Check the box to enable a Setup Fee. This can be mapped to a pricing field to charge an initial fee to start your subscription. This is dependent on the fields on your form. If you select this option, the Trial field will be unavailable.
- If you did not enable the Setup Fee, you have the option to enable a Trial. When enabling the trial period, select the amount of days you would like the trial to last. The customer’s recurring payment will not begin until the end of the Trial Period.
Payment Collection Settings (Stripe v2.6+)
The Payment Collection Method lets you choose how payment information will be obtained.
Note: The Payment Collection Method settings is only available for Stripe version 2.6 and above.
Stripe Checkout Settings
The Stripe Checkout Settings section will only appear if you have Stripe’s Payment Collection Method set to Stripe Payment Form (Checkout) in the Stripe settings.
- The Logo URL is a relative or absolute URL pointing to a square image of your brand or product. The recommended minimum size is 128px x 128px. The supported image types are .gif, .jpeg, and .png.
- Add the Name of your company or website.
- Add a Description for the product or service being purchased.
- Enable/Disable the Billing Address. When this is enabled, Stripe’s checkout form will collect the billing address before the payment information is entered. The first image below shows what the Stripe Checkout form looks like with the billing address enabled. The second image is what is displayed after the billing information is filled out or if billing information is disabled. These images show where the Logo URL, Name, and Description display on the checkout form.
Stripe Credit Card Field Settings
The Stripe Credit Card Field Settings section will only appear if you have Stripe’s Payment Collection Method set to Stripe Credit Card Field (Elements) in the Stripe settings.
- Under Billing Information, map the Gravity Form form fields to the Stripe Address fields to send the information to Stripe.
Use a Different Stripe Account (Stripe v2.8+)
The Switch Accounts button under Stripe Account settings allows you to specify that the feed use a different Stripe account than the one set on the Stripe Settings page.
Note: The Switch Accounts setting is only available for Stripe version 2.8 and above.
- Under Stripe Account, click the Switch Accounts button.
- Select the Mode to use for Stripe integration: Live or Test. Live is for real transactions, and Test is for testing the integration and submitting test forms.
- Click the “Connect with Stripe” button.
- If you have multiple accounts under this Stripe user, you can use the Switch Account drop down menu to select the Stripe account you wish to connect to.
- Fill out the form and click the “Authorize access to this account” button. Alternatively, if you are using Stripe in development mode, you can click the “Skip this account form” link at the top of the page.
- You will be returned to the Feed Settings page. You should see “Connected to Stripe as” with your account name.
- Follow the same instructions to enable the webhook as you did when setting up your Stripe account. Refer to this article for details.
- The Customer Information section is only available when the Transaction Type is set to Subscription. Map the Email Field to Email. You can map whichever field you would like for the Description. This will be used to uniquely identify your customer. You may also map a Coupon to a field on the form that contains a coupon code setup in your Stripe dashboard. This discount will apply to the recurring charges.
- If you want to send custom Metadata to Stripe, enter text to identify the data and map it to a form field. This data displays under the payment information in Stripe. Click the + to add more than one key. A maximum of 20 keys may be sent. See Note E. Example:
- The Stripe Receipt setting is only available when the Transaction Type is set to Products and Services and you have added an Email field to your form. If you would like to send a receipt, select an email field from the drop down. See Note F.
- If you would like the Stripe integration to occur conditionally, enable Conditional Logic. This functions the same as Conditional Logic on fields by only triggering the execution of this Stripe Feed if the condition is met. Conditional Logic also allows you to configure multiple Stripe Feeds for a single form and trigger the correct one based on Conditional Logic. Refer to the Conditional Logic feed article for more information.
- Click Update Settings to save the feed.
Now that you have finished setting up your Stripe Feed Settings, you can verify that your Stripe is indeed integrated with Gravity Forms by visiting Verifying Your Stripe Integration.
A. If you delete the Credit Card field from your form, the Stripe feeds will automatically deactivate to prevent them running during form submission, which as the field is missing, would cause a validation error due to Stripe being unable to capture the card details.
B. If a form has the Credit Card or Stripe Card field on it, these take precedence over the payment collection method of Stripe Payment Form (Stripe Checkout) and Stripe Payment Form (Stripe Checkout) is not used.
C. If a form has both the Credit Card and Stripe Card fields on it, and Conditional Logic is not used to show/hide one of them, the Stripe Card field takes precedence. Please note that a form should not be created where multiple credit card fields are visible on form display.
D. You can create multiple Stripe feeds for your form; however, you must configure conditional logic on them. The Stripe Add-On will only process one feed during submission. If conditional logic is not configured, it will use the first feed it finds.
E. Metadata displays on the Stripe payment page for Product and Services transaction type but not for the Subscription type. For Subscription type, metadata displays on the Stripe customer’s page.
F. If you want Stripe to send a receipt on payment from your Stripe Account (in addition to or instead of your Notifications), you will need to configure that in your Stripe account as it’s not enabled by default at Stripe. You can enable it in your Stripe Dashboard under Emails: https://dashboard.stripe.com/account/emails.