Connecting to Stripe in Live or Test Mode

Connecting to Stripe in Live or Test Mode

IntroductionPre-RequisitesConnect to a Live Account Connect to a Test AccountScreenshots

Introduction

You have two Mode options when connecting Gravity Forms to your Stripe account: Test and Live.

The process to connect to either is very similar, but we have noticed some differences when connecting a test account and using the 「Skip This Form」 option. This document explains how to connect to either Mode.

Pre-Requisites

See this guide for all the pre-requisites.

Connect to a Live Account

If connected to the live Stripe environment, any transactions passed will attempt to generate real charges.

Navigate to your Forms → Settings → Stripe Settings, and look for the Stripe Account section.Set the Mode to LiveClick the 「Connect with Stripe」 button.You will be presented with the Stripe sign-in page. Complete the sign-in process.You should now see a Stripe account selection page (these accounts are created from within your Stripe service dashboard, see this guide). The email address of your Stripe account will be displayed at the top of the page. Select the account you wish to use to collect live payments and click the 「Connect」 button. You may be presented with various Stripe forms requesting additional business information if your account is not fully setup for live payment. Complete any information Stripe requires, and then authorize the account to confirm connection to your Gravity Forms. You will be returned to the Stripe Settings page. You should see 「Connected to Stripe as」 with your account name as well as a 「Disconnect」 button.

Connect to a Test Account

Connecting to a Test account allows you to have a sandbox for testing the passing and behavior of submissions between your form and Stripe, but will not generate real transactions.

Unlike when connecting to a live account, this time you will not 「Connect」, but will instead 「Skip This Form」. This avoids all the Stripe account and connected bank verification steps that would otherwise be requested, and are not necessary when doing test submissions. To skip this step, you must have two-factor authentication enabled in your Stripe account

Login to your Stripe account and navigate to your Profile screen (click the icon in the top right corner). Ensure that you have two factor authentication (2FA) enabled in your Settings. See this Stripe guide for assistance. Go back to your WordPress dashboard, and navigate to your Forms → Settings → Stripe Settings, and look for the Stripe Account section.Set the Mode to TestClick the 「Connect with Stripe」 button. You will get a 「redirecting you to Stripe」 screenIf you logged into Stripe at Step 1, you should now see a Stripe account selection page (these accounts are created from within your Stripe service dashboard, see this guide). If not, you will bet presented with the Stripe login dialog first.Once logged in, this screen shows the email address of your Stripe account, and the words Test Mode, will be displayed at the top of the page. From the list of Stripe accounts provided, choose the account you wish to connect to for testing.Click 「Skip this Form」 at the top of page (next to where it states 「You』re currently in test mode」).You should now be redirected back to your Gravity Forms settings page, and see the the Stripe Account panel now says 「Connected to Stripe Account…」 and the name of the account you chose in step 7 should be displayed.

If your Settings screen shows 「Unnamed account「, this most likely means you did not have 2FA properly set. This is a newly created anonymous account, but as it is not connected to your account, you will not be able to see any of the test transactions you run. Disconnect this newly created account, and follow the instructions above.

Screenshots

The Stripe login dialog, as presented at the start of the connection process.

The account selection screen will present multiple options if you have multiple Stripe accounts connected to your email. This screenshot shows a Test mode connection.

The Skip This Form button, as described above for Test Mode connections.

Once successfully connected, the Gravity Forms Stripe Settings page will display the connected account.

CleverReach Feed Meta

CleverReach Feed Meta

IntroductionUsagePropertiesCustom Field Properties

Introduction
The Feed Object meta for the CleverReach add-on is an associative array containing the properties which determine how the add-on should process the form submission.
12345678$feed['meta'] = array(    'feed_name'                               => 'Your Feed Name',    'email'                                   => '2',    'feed_condition_conditional_logic'        => true,    'feed_condition_conditional_logic_object' => array(        'conditionalLogic' => array(),    ),);
Usage
We recommend accessing the $feed meta using the rgar() or rgars() functions, e.g.:
1$conditional_logic_enabled = rgars( $feed, 'meta/feed_condition_conditional_logic' );

Properties

feed_name string
The feed name which appears on the add-ons feeds tab.

group string
The CleverReach Group ID this feed will add the contacts to.

email string
The ID of the form field containing the user』s email.

custom_fields array
A multidimensional array containing the CleverReach custom fields. See Custom Field Properties.

double_optin_form string
The ID of the CleverReach form which will be used when exporting to CleverReach to send the opt-in email.

feed_condition_conditional_logic boolean
Is the feed condition (conditional logic) setting enabled. Default is false.

feed_condition_conditional_logic_object array
An associative array containing the conditional logic rules. See the Conditional Logic Object for more details.

Custom Field Properties
1234array(    'key'   => 'first_name',    'value' => '1.3',)
Each custom field is an associative array containing the following properties:

key string
The CleverReach custom field name. Lowercase and spaces replaced with underscores.

value string
The ID of the form field or entry meta item containing the value for this custom field.

Partial Entries Settings Reference

Partial Entries Settings Reference

Pre-RequisitesSettingsSave on ProgressWhen is a Partial Entry Saved?

The Partial Entries Add-On for Gravity Forms allows you to capture user input before the form is fully submitted. This can be quite helpful in identifying where users may be abandoning your form.

In this article, we will show you how to easily set up the capturing of partial entries on your form.

Pre-Requisites

Download and install the add-on.

Settings

Bring up the form you want to modify, and in the form editor select Settings → Partial Entries.

SettingDescriptionEnableTurn on the partial entries functionality for this form. Warning MessagePlaces an admin-defined message below the form description, making your users aware that their field values are being saved before submission.Enable Conditional LogicAllows you to set more granular conditions for when partial entry information is saved, based on completion of a specific field, or completion of a certain percentage of fields. See Save on Progress below.

Save on Progress

Partial Entries has two options under the Progress sub-heading: All Fields and Required Fields. You can set a percentage level against either of these criteria that will determine when the partial entry is saved.

In the image below, the partial entry will be saved once more than 40% of All Fields on the form have user input.

When is a Partial Entry Saved?

Partial Entries are saved depending on how often the site is ticking with the Heartbeat API, generally around every 30-60 seconds.Some hosts disable the heartbeat (like WP Engine) causing the Partial Entry to not save. Check with your site host on this.A partial entry is also saved when a page of the form is submitted (like a multipage form or a submission with a validation error) or the Save and Continue Later link is used.

Checkbox Field

Checkbox Field

IntroductionExampleUses

Introduction
The checkbox type field, part of the Settings API, renders one or more checkbox type inputs.
Example
The following example shows a section with a checkbox type field. The default_value property is set to 1 for each choice, which means the box will be checked by default. The default_value will no longer apply once the user makes a selection and submits.
You may also include other HTML attributes as properties for fields. In this example, you will see the onclick property added. This means when the onclick event fires, a javascript alert will display the text 「This is a test」.
1234567891011121314151617181920212223242526array(    'title'  => esc_html__( 'This is the title for Section 3', 'sometextdomain' ),    'fields' => array(        array(            'type'    => 'checkbox',            'name'    => 'mycheckbox',            'label'   => esc_html__( 'This is the label for my checkbox', 'sometextdomain' ),            'onclick' => 'alert("This is a test.")',            'choices' => array(                array(                    'label'         => esc_html__( 'this is the label for choice1', 'sometextdomain' ),                    'name'          => 'choice1',                    'tooltip'       => esc_html__( 'this is the tooltip for choice1', 'sometextdomain' ),                    'default_value' => 1,                 ),                array(                    'label'         => esc_html__( 'this is the label for choice2', 'sometextdomain' ),                    'name'          => 'choice2',                    'tooltip'       => esc_html__( 'this is the tooltip for choice2', 'sometextdomain' ),                    'default_value' => 1,                ),            ),        ),    ),),
The code above will render the checkbox field similar to the following:

Uses

settings_checkbox()
checkbox_item()
checkbox_input()
checkbox_input_{$choice_name}()

Configuring Authorize and Capture in PayPal Checkout

Configuring Authorize and Capture in PayPal Checkout

IntroductionConfigurationPayment Details for AuthorizationsRelated Notifications

Introduction
This feature of the official Gravity Forms PayPal Checkout Add-On allows PayPal to authorize the payment on a customer』s card at entry, but to not capture that payment (that is, collect the charge) until you choose, such as upon successful shipping of an order.
See this document from PayPal for more information.
Configuration
For your PayPal compatible form, choose Form → Settings → PayPal Checkout. Create new, or edit an existing feed.

Ensure Transaction Type is set to Products & Services.

Select the payment amount. This can be either a specific product field from your form, or the Form Total.

Enable the Authorize only option under Products & Services Settings and save your changes.

Payment Details for Authorizations
The entry detail screen for a payment entry will show a Payment Details section. When using authorization & capture, the entry will initially show a Status: Authorized along with transaction ID, amount, and a button that will allow you to Capture Payment.

Upon capturing the payment, the notes section is updated to indicate a successful capture and the Payment Details section updates to Status: Paid along with date, transaction ID, amount and a button allowing you to Refund Payment.
Related Notifications
Notifications can be configured to fire on the event of Authorization Voided. Refer to this PayPal document for more information on voiding an authorization.

Changes to markup in Gravity Forms 2.5

Changes to markup in Gravity Forms 2.5

IntroductionMarkup Changes in 2.5Sample

Introduction

Gravity Forms 2.5 introduced significant updates to the markup used. Changes were made to modernize and improve the markup for better standardization and accessibility, as well as simplifying the styles used. These can create breaking changes on existing forms. Note that all existing forms will default to Enable Legacy Markup on, meaning that the new markup changes listed here will not be in effect for those forms. If you do choose to turn that off and use the new markup, review and test first!

To test your existing forms and their presentation under the new markup (if needed), we suggest you install 2.5 on one of your sandboxes, turn off legacy markup on your existing forms, and start checking under all your normal user conditions. There is no substitute for grunt-work QA in this scenario.

Markup Changes in 2.5

This list is a good starting point for changes that have been made. It may not be exhaustive, with possible changes as we progress through the Beta releases.

All fields are now wrapped with either a

or a

. We no longer wrap fields in

  • .All multi-input fields (such as Address, Name, Checkboxes, etc) are now wrapped in a
    (previously were

    ) for improved accessibility.Field labels inside a

    use

    (previously were