Using the PayPal Pro Add-On

Using the PayPal Pro Add-On

IntroductionSetup Your FormSetup PayPal ProAbout The Credit Card FieldPayPal Pro Subscription Cancelations

DEPRECATION NOTICE: The PayPal Pro Add-On is no longer being updated by Gravity Forms, and is no longer available for download. It uses a legacy PayPal API no longer being actively developed by PayPal, and is not compatible with modern PayPal accounts. It has been replaced in our plug-in library by other PayPal add-ons.
Introduction
Gravity Forms makes collecting payments with PayPal Pro quick and easy! With the PayPal Pro Add-On you can capture credit card payments along with any additional data you want from your customer right on your site, without sending the user to a 3rd party site to complete the transaction.
Setup Your Form
After installing the PayPal Pro Add-On, the first thing you will need to do is configure your form to work with it. This is done by using the Pricing Fields to configure the purchase selections and the Credit Card field to allow users to enter their credit card information on the form.

Go to New Form under the Forms navigation or choose an existing form from Edit Forms in your WordPress admin dashboard.
Add Fields for capturing standard payment information such as Name, Email, Address, etc.
Add Pricing Fields to your form and configure them to suit your needs.
Add a Credit Card Field from the Pricing Fields toolbox to your form.
Save your form.

Setup PayPal Pro
Once your form has been created, it』s time to setup the PayPal Pro Add-On and connect it to your PayPal Pro account. This is done via PayPal Pro』s API and the setup requires you enter your PayPal Pro API account credentials on the PayPal Pro Settings page.
See our article on Setting Up the PayPal Pro Add-On for instructions.
About The Credit Card Field
The PayPal Pro Add-On enables the Credit Card Field in Gravity Forms. This field appears in the Pricing Fields toolbox of the Form Editor. This is a new field type that makes it easy to capture credit card information. It includes integrated card type detection so the user does not have to pick which type of card they are using and it also has built in validation to validate that the card format is correct.
This field does not actually store the Credit Card data. It is available as part of the initial form submission strictly as part of integration with the PayPal Pro Add-On and other payment gateway add-ons. This data will not be stored as part of the form entry and is not retained by your site, server, or database.
If you Preview or view your form on a page that is not secure, it will be obvious, both to you and your users, if you do not properly secure the page. If the page is unsecured, the Credit Card Field will be highlighted with a red warning. This warning will not be displayed if the page displaying the form is loaded via https with a valid SSL certificate.
PayPal Pro Subscription Cancelations
When setting up PayPal Pro subscription payments, please keep in mind that the only way to currently cancel a subscription is via the entry details in the WordPress Dashboard or your PayPal account.
PayPal will communicate back to your site via IPN when a recurring payment profile has been canceled.

PayPal Payments Pro Feed Meta

PayPal Payments Pro Feed Meta

IntroductionUsagePropertiesProduct Transaction PropertiesSubscription Transaction Properties

Introduction
The Feed Object meta for the PayPal Payments Pro add-on is an associative array containing the properties which determine what type of transaction should occur and what values are sent to PayPal.
$feed['meta'] = array(
'feedName' => 'PayPal Payments Pro Feed 1',
'transactionType' => 'product',
'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.:
$conditional_logic_enabled = rgars( $feed, 'meta/feed_condition_conditional_logic' );

Properties

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

transactionType string
The type of transaction which should occur when the feed is processed. Possible values: product or subscription.

billingInformation_lastName string
The ID of the field containing the customer』s last name.

billingInformation_firstName string
The ID of the field containing the customer』s first name.

billingInformation_email string
The ID of the field containing the customer』s email.

billingInformation_address string
The ID of the field containing the first line of the customer』s address.

billingInformation_address2 string
The ID of the field containing the second line of the customer』s address.

billingInformation_city string
The ID of the field containing the city of the customer』s address.

billingInformation_state string
The ID of the field containing the state of the customer』s address.

billingInformation_zip string
The ID of the field containing the zip of the customer』s address.

billingInformation_country string
The ID of the field containing the country of the customer』s address.

apiSettingsEnabled boolean
Override the default API settings? Default is false.

overrideMode string
Which mode should this feed use when overriding the default API settings. Possible values: production or test.

overrideUsername string
The PayPal Manager login username to use when overriding the default API settings.

overridePassword string
The PayPal Manager password to use when overriding the default API settings.

overrideVendor string
The PayPal Manager vendor to use when overriding the default API settings.

overridePartner string
The PayPal Manager partner to use when overriding the default API settings. Default value: PayPal.

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.

Product Transaction Properties
The following properties are only applicable when the transactionType is set to product.

paymentAmount string
What to use for the payment amount. Possible values: form_total or a product field ID.

Subscription Transaction Properties
The following properties are only applicable when the transactionType is set to subscription.

recurringAmount string
What to use for the recurring amount. Possible values: form_total or a product field ID.

payPeriod string
How often the recurring payment should occur. Possible values: WEEK, BIWK, SMMO, FRWK, MONT, QTER, SMYR, or YEAR.

recurringTimes integer
How many times the recurring payment should be made. The default (0) is to bill the customer until the subscription is canceled.

setupFee_enabled boolean
Should a setup fee be charged? Default is false.

setupFee_product string
The ID of the product field containing the amount the user should be charged for the setup fee.

change_post_status boolean
If a post was created from the submission should the post status be changed when the subscription is cancelled? Default false.

update_post_action string
Change the post status when a subscription is canceled? Possible values: draft or delete.

PayPal Payments Pro Change Log

PayPal Payments Pro Change Log

2.7 | 2021-05-052.6 | 2020-09-242.5 | 2020-05-132.4 | 2019-08-072.3 | 2018-01-262.2 | 2017-04-282.1.1 | 2016-12-012.1 | 2016-08-312.0 | 2016-02-241.7 | 2014-12-101.6 | 2014-11-051.5 | 2014-09-051.4 | 2014-09-031.3 | 2014-02-201.2 | 2014-02-171.11.0 | 2013-11-07

2.7 | 2021-05-05

Fixed an issue with the form settings menu icon.

2.6 | 2020-09-24

Added support for Gravity Forms 2.5.
Removed the extra authentication check from the hourly subscription status cron job.

2.5 | 2020-05-13

Added translations for Hebrew, Hindi, Japanese, and Turkish.
Updated API request logging when an error occurs to include the curl error message and debug info.
Fixed an issue with subscriptions where recurring payments aren』t recorded in the entry notes.

2.4 | 2019-08-07

Added security enhancements.
Added GPL to plugin header.
Updated Plugin URI and Author URI to use https.
Updated subscription status cron logging statements.
Removed temporary plugin page.

2.3 | 2018-01-26

Added support for Gravity Forms 2.3.
Fixed a PHP notice which would occur when sending a request to PayPal.

2.2 | 2017-04-28

Added security enhancements.
Added translations.

2.1.1 | 2016-12-01

Fixed strings for translations.

2.1 | 2016-08-31

Updated logging statements.
Updated to abort authorize()/subscribe() before sending request to PayPal if card number not provided.
Fixed an issue with the API override settings.
Fixed an issue with check_status() not passing the $action['type'] for use with the related hooks in the framework.

2.0 | 2016-02-24

Completed Add-On Framework migration.
Added the $submission_data, $feed, and $entry parameters to the gform_paypalpaymentspro_args_before_payment and gform_paypalpaymentspro_args_before_subscription filters.
Added support for sending notifications on payment/subscription events. Configured on the edit notification page using the 'Event' setting.

1.7 | 2014-12-10

Updated to change the frequency of when process_renewal function will run to prevent performance issues.

1.6 | 2014-11-05

Fixed a notice in the logging tab with the logging add-on enabled.
Fixed issue with initial setup up fee amount not being charged for subscription profiles.
Updated POT file.

1.5 | 2014-09-05

Updated the Password entry in the settings page to hide the value of password from the browser when inspecting the element.
Fixed invalid function call.

1.4 | 2014-09-03

Added PayPal partner integration.
Added post product payment hook; gform_paypalpaymentspro_post_capture.
Updated to perform extra check for array response returned by PayPal.
Updated to perform a single Sale transaction for Products and Services. Authorization transaction has been eliminated for Product and Services.
Updated to perform credit card authorization as part of Profile Creation for Subscriptions. Authorization of $0.00 will still show in PayPal Payments Pro for Subscriptions.
Updated logging for clarity.
Updated to remove URL encoding for Name Value Pair info sent to PayPal per API docs.

1.3 | 2014-02-20

Updated the Password entry in the feed's override settings to be a password input so it is not visible as typed.

1.2 | 2014-02-17

Updated the Password entry on the Settings page to be a password input so it is not visible as typed.

1.1

Updated to perform a Sale transaction rather than a DelayedCapture transaction for product and services so that funds are captured immediately after the Authorization transaction.
Updated to not encode email address before it is sent to PayPal.

1.0 | 2013-11-07

Updated to include Vendor and Partner variables to connect to API.
Fixed account authorization issue when password included special charcaters (i.e. !).
Updated to void initial authorization transaction.

PayPal Payments Pro Add-On Requirements

PayPal Payments Pro Add-On Requirements

Requirements

There are various things required when using the PayPal Payments Pro Add-On. The biggest of these being a valid SSL certificate installed and configured on your server. If you』re not sure about this, contact your web host for more information.
Requirements

Gravity Forms v1.9.16+
Latest version of WordPress
SSL Certificate Installed and Configured
PCI Compliance
PayPal Payments Pro account with PayFlow API support.

PayPal Field

PayPal Field

IntroductionCommon SettingsGeneral SettingsSupported Payment MethodsDefault Payment MethodSub-LabelsSupported Credit CardsCard Icon StyleAppearance SettingsPayPal Smart Payment ButtonsPayPal Credit MessagesAdvanced SettingsForce SSL

Introduction

The PayPal Field will appear in the Pricing Fields group, in the Form Editor, when the Gravity Forms PayPal Checkout Add-On is installed and active.

Note that a pre-configured feed will be created in the Form Settings > PayPal Checkout area when a form containing a PayPal Field is saved, and a feed does not already exist.

Common Settings

For a description of each of the common field settings, refer to this article. Below you will find descriptions of specialty settings that are particular to this field.

General Settings

The General settings for the PayPal Field allow you to configure the Field Label, Description, Supported Payment Methods, and if the field is Required.

Supported Payment Methods

The PayPal Field supports the following payment methods:

Payment MethodNotesPayPal CheckoutIf selected, additional options may be enabled. Refer to the Appearance section below. Credit CardThis payment method is in limited release with PayPal, and not available in all markets. Refer to this document for some additional detail, and check with PayPal for the most up-to-date information.

Default Payment Method

The Default Payment Method setting is displayed when both payment methods are selected. It allows you to set the default option in the payment method drop down when the field is displayed.

Sub-Labels

The Sub-Labels settings are displayed when the Credit Card payment method is selected; they allow you to define custom sub-labels for the credit card inputs. You can also hide the Cardholder Name input.

Supported Credit Cards

The Supported Credit Cards settings are displayed when the Credit Card payment method is selected; this provides a visual indicator to your credit card fields when users are filling in their payment details. You can select from:American Express*; Discover; MasterCard; Visa; Maestro.

(*) PayPal Checkout only supports American Express and Discover for accounts registered in the U.S. and accepting U.S. Dollars.

Card Icon Style

The Card Icon Style setting is displayed when the Credit Card payment method is selected; it controls which style of credit card icons will be used, standard or 3D.

Appearance Settings

PayPal Smart Payment Buttons

When using the PayPal Checkout payment method, PayPal may display Smart Payment Buttons for some of the following funding sources:Credit or debit cards; PayPal Credit; Venmo; SEPA-Lastschrift; Bancontact; eps; giropay; iDEAL; MyBank; Przelewy24; Sofort;  …and maybe more. 

Whether these are presented as payment options to a customer is determined by PayPal at the time of presentation, and is based on factors such as the merchant and the purchasers region, specific PayPal account terms etc. For more information on options available to your account, contact PayPal. 

Funding sources can be disabled using the gform_ppcp_disable_funding filter.

Using the following settings you can customize the appearance of the Smart Payment Buttons using the following settings:

SettingOptionsLayoutVertical or HorizontalSizeResponsive, Large, Medium, or SmallShapeRectangle or PillColorGold, Blue, Silver, White, or Black

PayPal Credit Messages

Enabling this setting allows PayPal to present Pay Later offer messages to your customers, that may provide alternative payment arrangements. What is offered in those messages is determined by PayPal, and based on factors they evaluate such as account terms, region of customer and merchant etc. See this PayPal document for information, and contact PayPal with any questions. 

This setting is only offered if PayPal Checkout was enabled. 

Advanced Settings

The Advanced settings for the PayPal Field allow you to configure the Admin Field Label, Force SSL, and Conditional Logic.

Force SSL

When enabled and the form is displayed on an insecure (non-https) page the field will attempt to redirect the user to the https version of the page. Your site will need an SSL certificate for this to function correctly. Contact your web host if you need assistance purchasing and configuring an SSL certificate.

PayPal Checkout Add-On Change Log

PayPal Checkout Add-On Change Log

2.2.12.2 | 2021-15-092.1 | 2021-05-262.0 | 2020-04-141.4 | 2020-09-241.3 | 2020-08-051.2 | 2020-07-151.1 | 2020-05-061.0 | 2020-03-30

2.2.1

Fixed an issue where orders failed to be processed when the order currency is different than the default Gravity Forms currency.
Fixed an issue where smart buttons do not function correctly when the user switches between a one-time and a subscription feed.
Fixed typo in error message
Updated the alerts to use the new alert styles.

2.2 | 2021-15-09

Added a new setting to the PayPal field's appearance tab to show or hide the PayPal credit messages.
Fixed an issue that prevents transactions from processing if the product name or description exceeds the character limit.
Fixed an issue which causes the Dashboard to break if the PayPal API has a Server Error.

2.1 | 2021-05-26

Added the gform_ppcp_discount_total filter that allows modifying the discount total value before sending it to PayPal.
Fixed an issue that prevents forms from submitting properly when enabled with Ajax.
Fixed an issue that causes duplicate PayPal smart buttons to appear on multi-page forms using Ajax.
Fixed the do not prompt buyer to include a shipping address setting to work correctly with forms configured with a subscription feed.
Fixed an issue that causes a notice about misconfigured subscription settings to display in other add-on settings.
Fixed an issue where the PayPal credit button incorrectly appears as a payment option for subscriptions.
Fixed an issue that causes PayPal Checkout to generate PHP notices when saving feeds for other add-ons.
Fixed an issue where the submit button does not display if a PayPal feed is active.
Fixed an issue that prevents form editors from creating test submissions in preview with forms that have a subscription feed.

2.0 | 2020-04-14

Added support for subscriptions.
Added support for authorizing a payment and capturing later for products and services.
Added a refund button to the entry detail page to allow payments to be refunded in full from Gravity Forms.
Added support for setup fees within subscription feeds.
Added support for trial periods within subscription feeds.
Added logging statements.
Updated the name of the add-on from PayPal Commerce Platform to PayPal Checkout.
Updated the menu and form editor icons to use Gravity Forms 2.5's font icon set instead of an svg.
Updated error messages displayed when insufficient address details are sent to PayPal.
Updated error message displayed when PayPal cannot locate an order ID.
Updated PayPal payment buttons to abide by conditional logic rules set on the form submit button.
Updated the PayPal field appearance tab in the form editor so that smart button previews fully display in horizontal layouts regardless of their selected size.
Fixed the PayPal field so it renders when product quantity is disabled in Gravity Forms 2.5+.
Fixed some javascript errors that sometimes occur when rendering the PayPal Smart Buttons.
Fixed an issue that allows the credit card field to display with a subscription feed if it is the only payment method.
Fixed display issues with the PayPal credit card field in the editor when used in combination with the legacy markup setting.
Fixed an issue where changes to the Cardholder Name settings in the PayPal field are not being retained on save.
Fixed an issue where field settings won't expand in the form editor if the add-on is not connected to PayPal.
Fixed an issue that causes form submissions to fail when a product price is calculated using merge tags.
Fixed an issue with locating entries by transaction ID when processing some webhook events.
Fixed an issue where the credit card field was displaying in multi-page forms when PayPal Checkout is selected as the payment option.
Fixed an issue that prevented submissions from processing when a form contains an invisible recaptcha.
Fixed a layout issue when using multi-page forms with PayPal Checkout.
Fixed the layout of the smart button options in the appearance tab of the PayPal field in Gravity Forms 2.5.

1.4 | 2020-09-24

Added support for Gravity Forms 2.5.
Fixed an issue where order total is not calculated accurately when coupons are applied.

1.3 | 2020-08-05

Added support for WordPress 5.5.
Fixed a JavaScript error thrown in WordPress 5.5.
Fixed multiple layout issues with the Smart Payment Buttons on multi-page forms.
Fixed an issue where an error message is not displayed when checkout fails.

1.2 | 2020-07-15

Added security enhancements.
Added accessibility enhancements that announcing supported credit cards and card errors to screen readers.
Fixed an JS error thrown in forms without any conditional logic field set.
Fixed an payment error when pricing fields have conditional logic based on non-pricing fields.
Added a warning message that disables the Connect to PayPal button for sites on localhost.

1.1 | 2020-05-06

Fixed an issue where Euro users cannot submit payments successfully.
Fixed Smart Payment Buttons not working with authorize intent orders.
Fixed an issue where the PayPal field contains an unclosed span tag in certain PayPal field and form layout configurations.
Fixed an issue where newly registered PayPal accounts cannot see their accounts are connected and their status.

1.0 | 2020-03-30

It's all new!

PayPal Checkout Beta 2.0 Features and Changes

PayPal Checkout Beta 2.0 Features and Changes

PrerequisitesGetting to the PayPal Checkout Add-On SettingsConnecting to PayPalAccount StatusEmail confirmedPayment ReceivableCredit Card field supportIntroductionCaveatsChange Logs2.0 Beta-3 Changes2.0 Beta-2 Changes2.0 Beta-1 ChangesKnown Issues and LimitationsFeatures Being Considered For Future Release…Feedback

Notice: This plug-in has been released, and is no longer in Beta. This article is listed in the Knowledge Base purely for historical reference, and will be deleted in the future.
Prerequisites
See the Using the PayPal Checkout Add-On article.
Getting to the PayPal Checkout Add-On Settings
The PayPal Checkout Settings will allow you to connect the add-on to PayPal.
Navigate to the PayPal Checkout Add-On Settings page:

Log into your WordPress admin dashboard.
On the left side navigation menu, hover over Forms and click on Settings.
Click on the PayPal Checkout tab.

Connecting to PayPal
The PayPal Checkout Add-On supports connecting to the Live or Sandbox PayPal environments.
We recommend connecting to the Sandbox environment when first configuring the add-on or when making changes to existing forms so you can test the forms without interacting with your live PayPal account.
Note: PayPal does not permit connecting to a localhost. Attempting to do so will generate an error message 「Hostname localhost not allowed.」 To test locally, try to use a top-level domain such as .local..
You do not need to have an existing PayPal account to connect the add-on as PayPal will offer you the opportunity to create a new PayPal account whilst connecting the add-on.

Select the environment and then click the Connect with PayPal button.

In the PayPal modal which is displayed follow the steps provided by PayPal to connect to an existing PayPal account or create a new PayPal account.

When you have completed connecting the add-on to your PayPal account click the Go back to Gravity Forms button to close the modal. The add-on settings page will reload.

When the add-on is successfully connected the Connect with PayPal button will be replaced with your PayPal merchant ID and the Disconnect from PayPal button.
Account Status

This is only displayed when the add-on is connected to PayPal, it displays the current status of the PayPal account used to connect to the PayPal Checkout.
Email confirmed
Indicates whether the primary email of the connected PayPal account has been confirmed.
PayPal requires your account email address is confirmed before you can accept payments. See the How do I confirm my email address? article on the PayPal Help Center site.
Payment Receivable
Indicates whether the connected PayPal account can receive payments.
There are many reasons why PayPal can indicate your account can』t receive payments. Please contact PayPal for support with this issue.
Credit Card field support
Indicates whether the connected PayPal account supports accepting payments using the credit card payment method of the PayPal Field.
The Custom Card Fields API is currently in limited release on the PayPal Checkout for the following countries: Belgium, Bulgaria, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Greece, Hungary, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, UK, and US.
PayPal also need to review your account to enable the feature.
If this feature is not enabled for your PayPal account you can still capture payments using PayPal Checkout which is also available with the PayPal Field.
Introduction
With version 2.0, the PayPal Commerce Platform is to be renamed as PayPal Checkout. Besides the name change, the new version will also introduce new features including much requested support for PayPal subscriptions and refunds.
Caveats
This is a beta, and is not intended for production environments.
As with all beta releases, we recommend you install and test all functionality on a sandbox setup that replicates your planned production environment as closely as possible. See also our list of known issues and pending updates below, which we will update as the Beta period progresses.
Change Logs
2.0 Beta-3 Changes

Fixed an issue where field settings won』t expand in the form editor if the add-on is not connected to PayPal.

2.0 Beta-2 Changes

Added Trial Period subscription support
Added Setup Fee subscription support
Added Form Total as Recurring Amount subscription support

2.0 Beta-1 Changes

Update name of add-on to Gravity Forms PayPal Checkout.
Added refund button to entry details page.
Added capture button to entry details page.
Added authorize and capture later option for products and services feeds.
Enabled subscription support in the form feed settings.
Fix PayPal field so it renders when product quantity is disabled in Gravity Forms 2.5+.
When creating a new form with a PayPal field, a new Products & Services feed is automatically created.

Known Issues and Limitations

The Credit Card payment option is currently unsupported by PayPal for Subscriptions, so only Smart Buttons are supported with Subscription Payments
Resolved. Only Single Product field type is supported.Other types of Product Fields (Drop Down, Radio Buttons, etc) have not been fully tested.
Resolved. Only product quantity of 1 is supported. Various Quantity configurations (disabling the quantity field, using a separate quantity field) has not been tested.

Features Being Considered For Future Release…

Add support for Trial Period. Released in Beta 2!
Add support for Setup Fee. Released in Beta 2!
Add support for Form Total. Released in Beta 2!

Feedback
You can provide feedback on issues or thoughts on features using our Support Form, and choosing the product option 「PayPal Checkout Beta」

PayPal Change Log

PayPal Change Log

3.5 | 2021-04-283.4 | 2020-09-153.3 | 2020-04-223.2 | 2019-07-293.1 | 2018-05-173.0 | 2018-05-092.9 | 2018-01-292.8 | 2017-05-162.7 | 2016-08-102.6 | 2016-01-112.5.1 | 2015-09-242.5 | 2015-09-232.4 | 2015-04-202.3 | 2014-12-082.2 | 2014-10-162.1 | 2014-09-302.0.3 | 2014-09-182.0.2 | 2014-09-182.0.1 | 2014-09-182.0 | 2014-09-161.9.4 | 2013-10-281.9.3 | 2013-10-011.9.2 | 2013-09-271.9.1 | 2013-09-271.9 | 2013-10-281.8 | 2013-06-191.7 | 2013-04-011.6 | 2013-02-061.5 | 2012-06-051.4 | 2012-02-091.3.1 | 2011-11-011.3 | 2011-11-011.2 | 2011-04-251.1.11.1 | 2011-03-281.0.beta6.21.0.beta6.11.0.beta61.0.beta51.0.beta41.0.beta31.0.beta20.9 | 2010-12-150.8 | 2010-12-150.7 | 2010-12-150.6 | 2010-12-150.5 | 2010-12-150.4 | 2010-12-15

3.5 | 2021-04-28

Fixed an issue with the display of the add-on icon in the form settings on Gravity Forms 2.5.
Removed extraneous animation from the trial input on the feed settings page.

3.4 | 2020-09-15

Added support for Gravity Forms 2.5
Updated new transactions to use /?callback=gravityformspaypal as the IPN URL. Existing transactions will continue to use /?page=gf_paypal_ipn.

3.3 | 2020-04-22

Added translations for Hebrew, Hindi, Japanese, and Turkish.
Fixed an issue where donation feeds configured to use a specific product field as the payment amount could use the form total instead when there are multiple products in the order summary. Requires Gravity Forms 2.4.16.6 or greater.
Fixed notices which can occur with PHP 7.4 when Gravity Forms is processing post fields and form submission notifications.

3.2 | 2019-07-29

Added security enhancements.
Removed test to verify if server supports TLS 1.2.

3.1 | 2018-05-17

Added detection for servers with an outdated TLS protocol and displays a warning message when needed.

3.0 | 2018-05-09

Added image_url PayPal variable which allows users to enter the URL of the 150x50-pixel image displayed as the logo in the upper left corner of the PayPal checkout pages.
Added GPL to plugin header.
Updated Plugin URI and Author URI to use https.
Removed deprecated PayPal variables page_style and cbt.

2.9 | 2018-01-29

Added compatibility with Gravity Forms 2.3.
Fixed an issue where PayPal can display an error instead of the cart if the option labels exceed 64 characters.

2.8 | 2017-05-16

Added Chinese translation. Credit: Edi Michael.
Updated strings for translations.
Updated string for configuring settings to be consistent with other add-ons.
Deprecated the delayed Notifications setting (Send notifications for the 'Form is submitted' event only when payment is received) in favor of the "Payment Received" notification event.
Fixed typo causing PayPal to not load properly.
Fixed an issue with the delay notification feature where a notification could continue to be delayed even when it is no longer assigned to the form submission event.
Fixed an issue where a note would be added to the entry indicating payment details where updated when editing the entry even though the payment details had not changed.

2.7 | 2016-08-10

Updated options settings so the choices are available to the gform_addon_feed_settings_fields filter in GF2.0.
Updated IPN processing to abort earlier if the IPN does not contain the custom field.
Fixed an issue which could cause notifications from other events to be sent when processing the delayed form submission notifications.
Fixed an issue which could prevent the payment details being edited on the entry detail page for sites where Gravity Forms is using a non-English translation.
Fixed a fatal error which could occur if the IPN verification response contained a WP_Error object.

2.6 | 2016-01-11

Added support for sending notifications on payment/subscription events. Configured on the edit notification page using the 'Event' setting.
Added the gform_paypal_sslverify filter to allow sslverify be modified before sending requests.
Example - turn off SSL verification:
add_filter( 'gform_paypal_sslverify', '__return_false' );
Updated the installation process to activate sslverify by default for all new installations.
Updated tooltip and label for the notifications setting on the feed to indicate it only affects notifications for the 'Form is submitted' event.
Fixed an issue in redirect_url() where the entry currency was not being used.

2.5.1 | 2015-09-24

Fixed a fatal error which could occur if the IPN request check added in v2.5 returned a WP_Error object.

2.5 | 2015-09-23

Added IPN request check to try to detect incompatibility between webserver and new PayPal SSL standards
Added filter to allow return url to be changed in cases where proxy prevents it from being created correctly.
Added $submission_data as the fifth parameter of the gform_paypal_query and gform_paypal_request filters.
Updated $form parameter on gform_paypal_get_payment_feed hook to always pass a form object even if one is not provided to the parent function.
Updated entry detail page to allow editing of payment details when original status is Processing or Pending.
Updated minimum Gravity Forms version to 1.9.3.
Updated max values for the billing cycle and trial period drop downs. D = 90, W = 52, M = 24, Y = 5.
Updated logging to show when IPN processing is aborted due to the entry being marked as spam.
Fixed an issue with IPN validation if the PayPal response body did not contain VERIFIED or INVALID.
Fixed an issue with the upgrade routine which caused it run even if a pre-framework version hadn't been installed.

2.4 | 2015-04-20

Added gform_paypal_return_url_port hook to allow the port to be changed for the return_url
add_filter( 'gform_paypal_return_url_port', 'change_port' );
function change_port(){
return '81';
}
Updated logging statements.
Updated database upgrade routine to remove redundant code that ensured feeds were copied over. Root of the issue was fixed in Gravity Forms core.
Fixed a low severity security vulnerability in the admin area which could be exploited by authenticated users with form administration permissions.
Fixed an issue with IPN processing which could cause the duplicate callback check to prevent the entry being updated for some transactions.
Fixed issue on IPN processing that could potentially prevent PayPal from re-trying failed IPNs on certain scenarios.
Fixed an issue with the delay notifications list on the feed including notifications from all events instead of just the form_submission event.
Fixed deprecation notices related to getting the country and us state codes in Gravity Forms 1.9.
Fixed a fatal error if GFAPI::get_entry returned a WP_Error object during IPN validation.

2.3 | 2014-12-08

Added Spanish translation file.
Updated strings that were not able to be translated.
Updated POT file.
Fixed a fatal error introduced in 2.2.4 preventing the redirect to PayPal.
Fixed issue that, under a specific scenario, causes PayPal to be executed on forms without a PayPal feed.
Fixed translation domain on several strings.
Fixed issue that when editing an entry after previously editing payment status for that same entry, caused duplicate notes and notifications to be sent.

2.2 | 2014-10-16

Added function gf_paypal() to easily get a PayPal instance.
Added gform_paypal_get_payment_feed for backwards compatibility with the gform_paypal_get_feeds hook.
Added function gf_paypal to easily get a PayPal instance.
Added gform_paypal_feed_settings_fields hook to allow adding custom settings field via hooks.
Added hook to allow PayPal business email to be set during IPN email verification. This will allow secondary PayPal email addresses to be configured in the feed.
Updated protected functions to be public.
Fixed issue with IPN page returning a 500 error on IPN messages not directed to Gravity Forms.
Fixed issue with feeds not being copied over.

2.1 | 2014-09-30

Added function to ensure feeds get copied over from legacy tables.
Added hooks to display payment information (edit mode) in payment info box.
Added paypal_fulfillment function overriding base class so that fulfillment is ignored for PayPal feeds.
Fixed issue with post not getting created when manually setting payment status to 'Paid'
Fixed issue with sales page displaying an error.

2.0.3 | 2014-09-18

Fixed issue where payment didn't go to paypal when certain coupons were used.

2.0.2 | 2014-09-18

Added $feed as fourth parameter to gform_paypal_query and gform_paypal_request.

2.0.1 | 2014-09-18

Added logging.
Updated feed transfer logic to reduce changes of feeds not getting moved over.

2.0 | 2014-09-16

Added PayPal partner integration.
Updated to use the Add-On Framework.
Updated single payment status to "Paid" ( from "Approved" ).
Updated feed condition to support full conditional logic.
Updated payment amount so that it can be associated with a specific field in the form.
Updated trial amount so that it can be associated with a specific field in the form.

1.9.4 | 2013-10-28

Updated the number of recurring times maximum from 30 to 52 per PayPal documentation

1.9.3 | 2013-10-01

Fixed issue where floating point comparision was failing in GFPayPal::is_valid_initial_payment_amount().

1.9.2 | 2013-09-27

Added new hook: 'gform_paypal_ipn_{transaction_type}'; allows users to easily hook into the specific IPN transactions they need.

1.9.1 | 2013-09-27

Fixed issue with notifications not being sent when setting "only show notifications when payment is received" is enabled and payment is $0.00.

1.9 | 2013-10-28

Fixed notice message.
Fixed issue where upgrade class was not always included when PayPal details are written on the plugins page.
Updated IPN verification script to use HTTP 1.1 in response to PayPal's change.

1.8 | 2013-06-19

Updated automatic upgrade so that it caches remote requests for 12 hours (even on plugin's page).
Fixed issue with redirecting back from PayPal that takes users to the wrong confirmation page on some occasions.

1.7 | 2013-04-01

Fixed issue where submission still went to PayPal regardless of the feed being inactive.
Fixed issue where changing the form on an existing feed did not save the change.
Fixed error on entry info box (entry detail page) when editing entries.
Fixed issue that ignored discounts when total (product + discount) added up to zero.
Fixed notice message.

1.6 | 2013-02-06

Updated "return mode" parameter so that it is a redirect for non-secure pages to avoid security warning message when returning from PayPal to the site.
Added gform_paypal_request filter to allow entire request to PayPal to be filtered.
Fixed issue where null responses from upgrader resulted in several notices.
Updated ajax calls to not send a cookie to prevent calls to admin-ajax.php being aborted for some users.
Added support for new notification structure (for delayed notification setting) in preparation for Gravity Forms 1.7 release while maintaining backwards compatibility with current released version.
Fixed issue which caused the admin IPN setting to not always remain checked/unchecked.
Fixed issue with feed creating throwing javascript errors and displaying the wrong notification UI.
Updated URL to ajax page so that it uses the built-in WordPress ajaxurl variable.
Fixed issue with detecting if page is under SSL which caused return URL to be invalid.
Updated process to correctly save the config ID used to process the entry in the entry meta.
Updated process to retrieve config by entry.
Added amount validation as an extra IPN security check. Entry will only be marked as Approved/Active if payment amount matches product/subscription amount.
Fixed issue where orders with discounts greater than the total were still being sent to PayPal.
Added additional logging for reasons why the transaction wasn't sent to PayPal (no config, $0 price).
Fixed issue with tooltip script being included in every page.

1.5 | 2012-06-05

Added support for negative line items.
Fixed error message which still referred to Donation fields.
Added new hook: gform_paypal_get_feeds allows the filtering of return configuration feeds.
Updated logging to use the GF Logging plugin.
Fixed issue with "business" variable not being sent via the IPN message.
Added new conditional logic options (greater than, less than, contains starts with, ends with) and support for other conditional fields.
Fixed notices.
Added ability to edit payment status when not set to Approved and not a subscription.
Added ability to edit payment details (amount, transaction id, date) for all payments types.

1.4 | 2012-02-09

Added additional log messages.
Increased timeout value used when sending IPN message to PayPal for validation.
Added feed_id and gateway type to entry meta to facilitate integration with other Add-Ons.
Fixed notice.
Added logging support.
Added support for multiple feeds to be created for a form. Feed to be executed will be determined by the configured Feed Condition when the form is submitted.
Fixed issue where RG_CURRENT_PAGE constant was not available when GF is deactivated.
Updated get_product_query_string() to include quantity when calculating the total.
Fixed issue with drop down values being displayed on PayPal pages, instead of text.
Added function rgars() if it does not already exist.

1.3.1 | 2011-11-01

Added function rgars() if it does not already exist.

1.3 | 2011-11-01

Fixed issue with delay notification and delay post settings not behaving correctly when paypal condition is not met.
Fixed notice messages.
Changed PayPal request to add charset=UTF-8 variable.
Added currency.js file to remove dependency on script from Gravity Forms.
Fixed issue on validation that failed when emails had extra blank spaces.
Added support for sending product fields to PayPal when feed is a donation.
Added support for using Form Total as an option for the recurring amount.
Changed CURL's setting to disable SSL peer validation.
Fixed UI issue on feeds page that displayed the "Add New" button when PayPal was not configured.
Fixed issue with notification settings not displaying the saved values correctly.

1.2 | 2011-04-25

Cleaned up notices.
Fixed issue when using condition on a field with multiple single quote characters in the label.
Fixed issue when creating a feed using forms with HTML markup in field labels.
Fixed database index error when upgrading plugin.

1.1.1

Cleaned up Notice debug messages.

1.1 | 2011-03-28

Fixed issue with delay notification hooks causing emails to be sent in the wrong time when the "send email after payment is received" option is enabled.

1.0.beta6.2

Added gform_paypal_config_validation hook to validate custom options created for the PayPal feed.
Updated PayPal config validation code to support muliple validation errors.
Renamed gforms_paypal_save_config to gform_paypal_save_config.
Removed extraneous code.

1.0.beta6.1

Added a hook to allow users to modify the query string sent to PayPal: gform_paypal_query.
add_filter("gform_paypal_query_12", "update_paypal_query", 10, 3);
function update_paypal_query($query_string, $form, $entry){
return $query_string;
}
Added "Cancel" button to the Edit page.

1.0.beta6

Fixed issue with thank you page displaying "Oops, could not locate your form" message when coming back from Paypal.
Fixed issue with IPN not locating entry properly.

1.0.beta5

Fixed issue where recurring times were not reflecting changes made to PayPal feed.
Defaulting invoice id to blank. It can be specified if needed via the gform_paypal_invoice hook.
Fixed issue where recurring times were not getting sent to paypal.

1.0.beta4

Changed invoice number so that is has a unique number appended to it.
Added a hook to allow users to change the invoice number.
add_filter("gform_paypal_invoice", "change_invoice", 10, 3);
function change_invoice($invoice_id, $form, $entry){
return $entry["id"];
}

1.0.beta3

Added javascript form object as a parameter for the paypalFormSelected jQuery action.

1.0.beta2

Added condition so that PayPal can be bypassed based on selected values in the form.
Bypassing PayPal if there are no products selected.

0.9 | 2010-12-15

Displaying summary boxes even when graph is empty.
Added disclaimer for free trials and no payments.
Fixed issue with double fulfillment for subscriptions with paid trials.

0.8 | 2010-12-15

Added transaction table and modified graph to pull data from it.

0.7 | 2010-12-15

Added support for shipping field.

0.6 | 2010-12-15

Added option to change post status after subscription is cancelled.

0.5 | 2010-12-15

Added graphical stats page.
Added link to entries page.

0.4 | 2010-12-15

Added tooltips to admin page.
Implemented confirmation when returning from PayPal.

{payment_action} Merge Tag

{payment_action} Merge Tag

SummaryUsageModifiers:type:amount:amount_formatted:transaction_type:transaction_id:subscription_id:entry_id:payment_status:note

Summary
The {payment_action} merge tag can be used in notifications assigned to events added by payment add-ons such as Authorize.net, PayPal Standard, PayPal Payments Pro, and Stripe to output details of the event which triggered the notification.
This merge tag was added in Gravity Forms 2.3.6.6.
Usage
{payment_action:[modifier]}
Modifiers
:type
The event action type: complete_payment, refund_payment, fail_payment, add_pending_payment, void_authorization, create_subscription, cancel_subscription, expire_subscription, add_subscription_payment, fail_subscription_payment, or a custom action type added by the add-on.
:amount
The transaction amount without currency formatting.
:amount_formatted
The transaction amount with currency formatting.
:transaction_type
The transaction type: authorization, payment, or refund.
:transaction_id
The ID of the transaction returned by the payment gateway.
:subscription_id
The ID of the subscription returned by the payment gateway.
:entry_id
The entry ID of the submission.
:payment_status
The current payment status of the entry: Authorized, Paid, Processing, Pending, Active, Expired, Failed, Cancelled, Approved, Reversed, Refunded, Voided, or a custom status added by the add-on.
:note
The note which was added to the entry for this event by the add-on.

Password

Password

SummaryCommon SettingsGeneral SettingsNotes

Summary

The Password field provides two single line inputs (one to enter the password and the second to confirm it) that will mask entered content with blobs or asterisks. It is available under the Advanced Fields section within the form editor. The Password field is only available when the User Registration add-on is active.

Password field as displayed in the Field Library

Password field as displayed in the Form Editor.

Common Settings

This field uses only common field settings for the Appearance and Advanced settings. For a description of each of the common field settings, refer to this article. Below you will find description of specialty settings that are particular to this field.

General Settings

SettingDescriptionToggle Confirm Password InputThis toggle allows you to control the visibility of the confirm password input.Enable Password Visibility ToggleEnabling this option adds a toggle allowing the user to see the password they are entering in rather than the masked characters.Enable Password StrengthEnabling this option will force the user to enter a password which meets the minimum strength requirement. See note 1.Minimum StrengthSet the minimum strength requirement for the password. Options are None, Short, Bad, Good, and Strong.Custom Sub-LabelsEnter values in this setting to override the default sub label for each field.

Notes

1. This feature utilizes the same library that WordPress core does to determine the level of strength for the password entered into the form by the user.

2. For security purposes, the password field is not stored in any Gravity Forms database tables.