FAQ: Authenticating With Stripe

FAQ: Authenticating With Stripe

How does Gravity Forms authenticate with Stripe?I am new to the Stripe Add-On, what do I do?I already have the Stripe Add-On working, can I update to this more secure connection method?I already have the Stripe Add-On setup, but I don』t want to change anything right nowWhat Stripe user role do I need to authenticate my website to a Stripe account using Stripe Connect?Is Gravity Forms a Stripe partner?Does GravityForms.com store the data I collect with the Stripe Add-On?

How does Gravity Forms authenticate with Stripe?
Version 2.8 of our official Stripe add-on implements Stripe』s recommended Stripe Connect authentication and account linking method. This is a simpler and more secure way of connecting your Stripe account to your website that does not involve manual handling or storage of API keys. Stripe Connect streamlines the connection process for ease of use and improves security by preventing issues that may arise when copying and pasting details between Stripe and a settings page.
I am new to the Stripe Add-On, what do I do?
Just click the 「Connect With Stripe」 button shown in the Forms > Settings > Stripe page, or refer to this user guide for more details on how to connect.
If you don』t have a Stripe account yet, the 「Connect with Stripe」 button will offer you the chance to create a one. It only takes a few minutes. If you do have a Stripe account, you will just need your login credentials.
I already have the Stripe Add-On working, can I update to this more secure connection method?
You can. Indeed you will see a notice in your settings page recommending that you do. Stripe does recommend using their preferred method. Just click the 「Connect with Stripe」 button and follow the instructions provided by the secure stripe.com authentication page.

Updating the connection type will have no effect on any of your existing plug-in settings or form behavior. All your connected forms, feeds, and entries will be unchanged and will continue to work as expected.
I already have the Stripe Add-On setup, but I don』t want to change anything right now
You do not have to change your setup if you are happy with it. Your existing Stripe add-on will continue to function as it has been without any change.
If you want to specifically revert to the old Stripe add-on Settings page, you will need to modify your setup to incorporate this filter that allows you to modify that page and will remove the notification message.
What Stripe user role do I need to authenticate my website to a Stripe account using Stripe Connect?
Stripe states that 「Only user roles of owners or administrator can connect the Stripe account to Connect platforms.」 Note that Stripe has not extended this ability to the user role of 「developer」. As such, developers will need someone with administrator level access to connect the account to their Gravity Forms.
Is Gravity Forms a Stripe partner?
Yes. We are registered under the Stripe Partner Program. This process includes a strict set of requirements to ensure we adopt Stripe』s recommended best practices for security, API usage and connection methodology.
Does GravityForms.com store the data I collect with the Stripe Add-On?
The data you collect with your Stripe-connected forms may be stored on your server(s), like any other submission, depending on the connection method you chose when setting up the Stripe Add-On. Like all Gravity Forms form submissions, that information is not transmitted to our servers in any way.
As with all integrators with Stripe Connect, we are provided access to Stripe』s reporting portal which shows transactions that pass through our plug-in. Like all Stripe transactions, this data is stored and secured by Stripe, and is not transmitted to us in any way for any other purposes. Gravity Forms does not use any unique transaction data from this source, and we only review aggregate volume data occasionally to monitor performance of the add-on. Additionally, we have limited access to Stripe』s reporting portal to our company principals only.

FAQ About Gravity Forms Language Translation Files

FAQ About Gravity Forms Language Translation Files

IntroductionFrequently Asked Questions?What has changed for Gravity Forms language files? What triggers a language file download? Can I download language files manually?What locale translation files are managed by Gravity Forms?What other locale translation files are available?Where are the language files stored now? What about if the WordPress user has their own selected locale?

Introduction

Language files provide translations of many of the most common Gravity Forms text and UI strings into additional languages. The way language translation files are accessed, loaded and stored has changed with Gravity Forms 2.5. This article provides information about how they are handled now.

Frequently Asked Questions?

What has changed for Gravity Forms language files?

Previously, all the core translation files were included in the Gravity Forms files package with each download. From Gravity Forms 2.5 though, language files are now hosted by the TranslationsPress service, and are downloaded as required during a few key events based on the languages specified in your WordPress admin. This provides a reduction in the overall size of the core file package, and it has also has changed where the files are stored.

What triggers a language file download?

Gravity Forms will trigger the download and installation of appropriate language files on the following events:

The installation of the Gravity Forms core plugin or a Gravity Forms add-on.The update of the Gravity Forms core plugin or a Gravity Forms add-on.When the site language is changed on the WordPress My Site → Settings page.

There are also a few conditions that can stop the download of the language file, such as if the installed translation last updated date is the same as the available version, or the translation language/locale is not found.

Can I download language files manually?

Language files can be downloaded for manual installation from the Translations page, which is accessible from the Help menu on the Gravity Forms site.

What locale translation files are managed by Gravity Forms?

There are a certain list of core locales that are updated and reviewed directly by Gravity Forms teams. These are generally checked for updates and updated monthly.

Brazilian (pt_BR)Dutch (nl_NL)French (fr_FR)German (de_DE)Hebrew (he_IL)Hindi (hi_HI)Italian (it_IT)Japanese (ja)Portuguese (pt_PT)Russian (ru_RU)Spanish (es_ES)Swedish (sv_SE)Turkish (tr_TR)

What other locale translation files are available?

With customers all over the world, there are many other language translations for Gravity Forms that have been authored and reviewed by volunteer contributors. A full list of these can be found on the Translations page on our website, noted under the manual download menu. Note that these are unofficial translations. Although as much care is taken as possible, Gravity Forms cannot guarantee the accuracy, speed or coverage of these updates. We do log all feedback received through our support channels, and provide it back to the contributors responsible.

To volunteer as a translation contributor, please see the Translation page.

Where are the language files stored now?

The translations are stored in WP_LANG_DIR/plugins/, where WP_LANG_DIR is your WordPress language directory. For example, /wp-content/languages/plugins/.

They can also be stored in WP_LANG_DIR/gravityforms/, and files here will be loaded before those in the default location mentioned above.

What about if the WordPress user has their own selected locale?

Support for the user selected locale was added in Gravity Forms v2.5.6. The user locale will be used first if set, and the default locale otherwise.

Extending the Dropbox Add-On

Extending the Dropbox Add-On

The Dropbox Add-On provides hooks that can be used to modify the default functionality or extend it. For more information, review the Dropbox category.
Looking for information about what properties the Dropbox Upload field uses in the Field Object or what format it』s value is stored in the Entry Object and how you can access it? Then take a look at the GF_Field_Dropbox article.
Because the Dropbox Add-On is built using the Add-On Framework, it also inherits any hooks available in the framework methods it uses such as:

gform_short_slug_field_value for changing the Dropbox Upload field value before it is used to upload the files to Dropbox.
gform_short_slug_error for performing a custom action when the add-on experiences an error processing a feed.

Exporting Form Entries

Exporting Form Entries

In this article, we will show you how to export all of your form entries (submissions) to enable further analysis or manipulation in external tools.

First, log into your WordPress admin dashboard.From within inside your WordPress admin, hover over Forms and click on Import/Export.

You should be immediately prompted with the Export Entries tab. Within here, select the form that you want to export the entries for in the dropdown.Once the form to export entries from is selected, additional options will be shown. The first of these settings is the Select Fields option. This will allow you to specifically select the form fields you want to export. Simply select the checkboxes next to each form field that you want to export.

The next available option is Conditional Logic. Here, you are able to export only fields that contain specific information.Lastly, you may also select a date range for the field submissions that are exported. If you leave this blank, all entries will be exported.Once all options are appropriately selected according to your needs, click the Download Export File button. Depending on the amount of information you have within your export it may take some time to download the .csv file.

You have now exported your form entries. From here, what you do with this information is all up to you. This feature is great for backing up your data, as well as generating an offline copy of submissions for further investigation.

Exporting a Form

Exporting a Form

When moving a form from one location to another, or even to backup your data, we have provided a tool within Gravity Forms to perform an export of your created form with just a few clicks. In this article, we will show you how to easily export any forms you have created using Gravity Forms.

First, log into your WordPress admin dashboard.
Once logged in, hover over Forms on the left side navigation menu and click on Import/Export.
Once on this page, you will notice a few different options. Click on the second option labeled Export Forms.
From here, select the checkbox next to any forms that you want to export. Then, click Download Export File.
You will then be prompted to save a JSON file containing all of your form settings. Be sure to save this is a safe place for easy access later.

Your form should now be successfully exported. If you need to import your form, you may review our article on importing forms into Gravity Forms.

Entry Object

Entry Object

IntroductionUsagePropertiesStandardPricing PropertiesPost CreationField ValuesList FieldCheckboxes FieldAdd-On Field ValuesEntry JSON

Introduction
The Entry object contains all properties of a particular entry (i.e. date created, client IP, submitted field values, etc…). It is formatted as an associative array with field Ids being the key to that field』s data.
Usage
rgar( $entry, 'date_created' ); // returns the entry date
rgar( $entry, '1' ); // returns the value associated with field 1 (This would be for fields with single input like Text, Number, Drop Down, etc...)
rgar( $entry, '1.3' ); // returns the value associated with the first name portion of a simple name field 1
rgar( $entry, '1.6' ); // returns the value associated with the last name portion of a simple name field 1
rgar( $entry, '2.4' ); // returns the value associated with the state input for the address field 2
rgar( $entry, '5.1' ); // returns the field label for a single product that has id 5
rgar( $entry, '5.1' ); // returns the field label for a single product that has id 5
GFCommon::to_number( rgar( $entry, '5.2' ) ); // returns the field price, without currency symbol, for a single product that has id 5
rgar( $entry, '5.3' ); // returns the field quantity for a single product that has id 5

Properties

Standard

id integer
The entry』s Id.

form_id string
The ID of the form from which the entry was submitted.

created_by integer
ID of the user that submitted the form if a logged in user submitted the form.

date_created string
The date and time that the entry was created, in the format 「yyyy-mm-dd hh:mi:ss」 (i.e. 2010-07-15 17:26:58)

is_starred bool
Indicates if the entry has been starred (i.e marked with a star). 1 for entries that are starred and 0 for entries that are not starred.

is_read bool
Indicates if the entry has been read. 1 for entries that are read and 0 for entries that have not been read.

ip string
Client IP of user who submitted the form.

source_url string
Source URL of page that contained the form when it was submitted.

post_id integer
For forms with Post fields, this property contains the Id of the Post that was created.

user_agent string
Provides the name and version of both the browser and operating system from which the entry was submitted.

status string
The current status of the entry (ie 「Active」, 「Spam」, 「Trash」).

Pricing Properties
These $entry properties are only relevant when a Gravity Forms payment gateway add-on is being used.

currency string
The currency with which the entry was submitted (ie 「USD」, 「EUR」).

payment_status string
The current payment status of the entry (ie 「Authorized」, 「Paid」, 「Processing」, 「Pending」, 「Active」, 「Expired」, 「Failed」, 「Cancelled」, 「Approved」, 「Reversed」, 「Refunded」, 「Voided」).

payment_date string
The date the payment has been received.

payment_amount integer
The amount of the fulfilled payment; this property is empty until the payment has been received. Sample value: 75

transaction_id string
ID of the transaction returned by the payment gateway

is_fulfilled bool
Indicates if the entry/order has been fulfilled. 1 for entries that have been fulfilled and 0 for entries that have not been fulfilled.

transaction_type integer
Indicates the transaction type of the entry/order. 1 for one time payments, 2 for subscriptions.

Post Creation
The following property is only relevant when the form is used to create a WordPress post.

post_id integer
The id number of the post created as result of the form submission.

Field Values

FIELD_ID string
The value for all submitted fields can be retrieved by using the Field Id as the key to the $entry array.
rgar( $entry, '1' ); // returns the value associated with field 1
rgar( $entry, '2.4' ); // returns the value associated with the state input for the address field 2

List Field
The List field type due to its complex setup compared to other field types (it has many rows and columns of data) it』s stored in serialized format, so you need to unserialize it first to access the data.
maybe_unserialize( rgar( $entry, '3' ) ); // unserialize values associated with list field 3

Checkboxes Field
The easiest way to get the checked checkboxes would be to get a comma separated string containing the selected choices without accessing each input in the entry and building the string yourself would be to use the get_value_export method of the field object, here』s an example
$field_id = 18; // Update this number to your field id number
$field = RGFormsModel::get_field( $form, $field_id );
$value = is_object( $field ) ? $field->get_value_export( $entry ) : '';

That would return a comma separated list containing the values for the selected choices, if you wanted to use the choice text then you would use the following
$value = is_object( $field ) ? $field->get_value_export( $entry, $field_id, true ) : '';

You can then convert that comma separate list to an array, if you want, using PHP』s explode() function.
Add-On Field Values
See the following pages for details about the entry values for fields added by add-ons:

Coupon
Dropbox Upload

Entry JSON
This example shows how an entry array would look when formatted as JSON for use by the Gravity Forms CLI Add-On.
{
"id":"1",
"form_id":"1",
"date_created":"2016-03-22 19:13:19",
"is_starred":0,
"is_read":0,
"ip":"192.168.50.1",
"source_url":"http://local.wordpress.dev/?gf_page=preview&id=1",
"post_id":null,
"currency":"USD",
"payment_status":null,
"payment_date":null,
"transaction_id":null,
"payment_amount":null,
"payment_method":null,
"is_fulfilled":null,
"created_by":"1",
"transaction_type":null,
"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36",
"status":"active",
"1":"Third Choice",
"2":"This is text content"
}

{entry} Merge Tag

{entry} Merge Tag

SummaryUsageModifiers:id:created_by:date_created:currency:payment_status:payment_date:payment_amount:transaction_id

Summary
Can be used in areas such as notifications and confirmations to display entry properties after the entry has been saved. Because this relies on the entry being saved, it cannot be used as a field』s default value.
Usage
{entry:[modifiers]}
Modifiers
:id
The entry ID of the submission.
:created_by
The ID of the WordPress user who submitted the form.
:date_created
The UTC date and time the entry was created in the yyyy-mm-dd hh::mm::ss format.
:currency
The currency code used for this submission.
:payment_status
The current payment status of the entry (ie 「Authorized」, 「Paid」, 「Processing」, 「Pending」, 「Active」, 「Expired」, 「Failed」, 「Cancelled」, 「Approved」, 「Reversed」, 「Refunded」, 「Voided」).
:payment_date
The UTC date and time, in the yyyy-mm-dd hh::mm::ss format, when the payment add-on processed the entry.
:payment_amount
The payment amount without currency formatting.
:transaction_id
The ID of the transaction returned by the payment gateway.

Entry Detail

Entry Detail

Entry DataEntry NotesEntry SummaryNotificationsPrint

The Entry detail page allows you to view the information created for the entry. From this screen you can view the info, add notes, print, and enable notifications.

Entry Data

This information varies, depending on the type of fields you selected for your form.

SettingDescriptionShow empty fieldsBy default, empty fields are not shown on the entry page. If you check this box, it enables you to see the empty fields.

Entry Notes

With Entry Notes, you can add notes to your entries, allowing you to keep important, related information right with the correlating entry.

SettingDescriptionAdd NoteThis action adds the note to your entry. Beside the Add Note button, you can select who you would like to email the note to.

Entry Summary

Contains a quick summary of various entry details.

SettingDescriptionMove to TrashFrom here you can move your entry to the trash, emptying the trash will permanently delete the entry and any files uploaded to it.EditFrom here you can edit your original entry.

Notifications

This allows you to resend notifications, for more information please visit Resend Notifications.

Print

This option allows you to print out a hard copy of your entry.

SettingDescriptionInclude NotesSelect the fields that you would like to enable, as well as set any custom labels.

Entry Date Merge Tags

Entry Date Merge Tags

SummarySinceImportantDefault UsageModifiers:time:format:human:diff:raw:timestamp

Summary
The entry date merge tags can be used in notifications, confirmations, and with some add-ons to output the date and/or time the entry was created, updated, and paid. They cannot be used in field settings.
Since
Support for these merge tags was added in Gravity Forms 2.5. They were previously only available when using selected third party add-ons from certified developers.
Important
The date_created, date_updated, and payment_date are stored in the entry and database using UTC in the YYYY-MM-DD HH:MM:SS format. The values will be formatted for output using the timezone, date, and/or time formats from the WordPress General Settings screen.
For the examples below the value stored in the entry for specified property is 2021-04-21 10:30:15 UTC, the timezone is set to Europe/London, the date format is set to F j, Y, and the time format is set to g:i a.
Default Usage
Outputs the specified date.

Merge Tag
Output

{date_created}
April 21, 2021

{date_updated}
April 21, 2021

{payment_date}
April 21, 2021

Modifiers
:time
Adds at [time] to the output.

Merge Tag
Output

{date_created:time}
April 21, 2021 at 11:30 am

{date_updated:time}
April 21, 2021 at 11:30 am

{payment_date:time}
April 21, 2021 at 11:30 am

:format
Define a custom format for the output using the WordPress and PHP date/time formatting characters.
The format must be defined after :format, with a colon, like this :format:m/d/Y.
If you want to use a colon in your output, it must be escaped with a backslash, like this :.

Merge Tag
Output

{date_created:format:m/d/Y}
04/21/2021

{date_created:format:Y-m-d}
2021-04-21

{date_created:format:d/m/Y at H:i:s}
21/04/2021 at 11:30:15

{date_updated:format:m/d/Y}
04/21/2021

{date_updated:format:Y-m-d}
2021-04-21

{date_updated:format:d/m/Y at H:i:s}
21/04/2021 at 11:30:15

{payment_date:format:m/d/Y}
04/21/2021

{payment_date:format:Y-m-d}
2021-04-21

{payment_date:format:d/m/Y at H:i:s}
21/04/2021 at 11:30:15

:human
If the entry is less than a day old, it will output a relative vale using the [time] ago format. If you want to customize the format, use the :diff and :format modifiers instead.

Merge Tag
Output

{date_created:human}
15 mins ago

{date_updated:human}
15 mins ago

{payment_date:human}
15 mins ago

If the entry is more than a day old, it will output the date using the default date format. If the :time modifier is also used, it will output [date] at [time] using the default date and time formats.

Merge Tag
Output

{date_created:human}
April 21, 2021

{date_created:human:time}
April 21, 2021 at 11:30 am

{date_updated:human}
April 21, 2021

{date_updated:human:time}
April 21, 2021 at 11:30 am

{payment_date:human}
April 21, 2021

{payment_date:human:time}
April 21, 2021 at 11:30 am

:diff
Outputs how long ago the entry was created, updated, or paid.
The default format is %s ago, where %s is replaced by the time difference in seconds, minutes, hours, days, weeks, months, or years.

Merge Tag
Output

{date_created:diff}
1 second ago

{date_created:diff:format:%s has passed since the form was submitted}
5 hours has passed since the form was submitted

{date_updated:diff}
1 day ago

{date_updated:diff:format:%s has passed since the entry was updated}
3 days has passed since the entry was updated

{payment_date:diff}
1 week ago

{payment_date:diff:format:payment was completed %s ago}
payment was completed 1 month ago

Using the :time and :human modifiers with this modifier is not supported.
:raw
Outputs the value as it is stored in the entry and database. This value is also available using the Entry Merge Tag.

Merge Tag
Output

{date_created:raw}
2021-04-21 10:30:15

{date_updated:raw}
2021-04-21 10:30:15

{payment_date:raw}
2021-04-21 10:30:15

This modifier cannot be used with other modifiers.
:timestamp
Outputs the value as a Unix timestamp; the number of seconds since the Unix epoch on January 1st, 1970 at UTC.

Merge Tag
Output

{date_created:timestamp}
1619001015

{date_updated:timestamp}
1619001015

{payment_date:timestamp}
1619001015

This modifier cannot be used with other modifiers.

Entry Creator Merge Tag

Entry Creator Merge Tag

SummarySinceUsageMeta Keys

Summary
The entry creator merge tag can be used in notifications, confirmations, and with some add-ons to output properties of the user whose ID is stored in the entry created_by property, usually the user who was logged in at the time the entry was saved. It cannot be used in field settings. To populate fields with the values of the currently logged in user use the User Merge Tag instead.
Since
Support for this merge tag was added in Gravity Forms 2.5. It was previously only available when using some add-ons from certified developers.
Usage
{created_by:[meta_key]}
Meta Keys
Any single user meta (including custom user meta) can be displayed with this merge tag by replacing [meta_key] with the specific meta_key for which you are wanting a value.
Below are a few examples of how this merge tag can be used.

Meta Key
Description
Usage

ID
Outputs the ID of the entry creator
{created_by:ID}

first_name
Outputs the first name of the entry creator
{created_by:first_name}

last_name
Outputs the last name of the entry creator
{created_by:last_name}

display_name
Outputs the display name of the entry creator
{created_by:display_name}

user_email
Outputs the email address of the entry creator
{created_by:user_email}

user_login
Outputs the username of the entry creator
{created_by:user_login}

[custom_key]
Outputs the value of the specified meta key
{created_by:preferred_contact_method}