Gravity Forms Checkout Setup and Usage

The Gravity Forms Checkout extension for Easy Digital Downloads allows you to create purchase forms for any of your products through Gravity Forms.

Setup

After you have installed and activated the Gravity Forms Checkout extension, there are no further setup steps - the extension is ready to use.

Note: These instructions require the Gravity Forms Checkout extension as well as Gravity Forms.

Connect to EDD Download

In the Gravity Forms form editor, add a Product field to your form.

Edit the Product field and give it a name you want to show users. In the example below, the product has been named "Product Name.".

This can be done by hovering over the product field and clicking the "Settings" button.

There will be a dropdown field under the text "Connect to EDD Download." Select the appropriate EDD product from the list. If the product has variations, you'll see a message saying there are variations (which require additional setup). Instructions for variable products can be seen below.

Now save the form and you're done!

Connect to EDD Download with Variable Pricing

When connecting a product with Variable Pricing, you will see an additional message under the "Connect to EDD Download" dropdown stating that the download has variations. 

When connecting a Download with Variable Pricing, you'll also need to add an "Option" field in the form.

Once the "Option" field is in place, select a Download from the "Product Field Mapping" dropdown menu.

If the product you chose has variations, a "Load EDD Options & Prices for this Product" button will appear:

Clicking the "Load EDD Options..." button will load the price variations from the selected Easy Digital Downloads product:

Now save the form and you're done. 


Advanced: How Gravity Forms Checkout Connects with EDD Variations

Either the Name of the product variation or Price ID must be the same as in Easy Digital Downloads.

Connecting using Variation Name

The easiest way to connect the Gravity Forms option choices to Easy Digital Downloads price variations is to give them the same name. The EDD names are automatically loaded when you click the "Load EDD Options & Prices for this Product" button.

Connecting using Variation Price ID

When you enable variable pricing in Easy Digital Downloads, use the name of the price variations.

If instead you want to use a different name, use the number representing the position of the option, starting with one. In the example shown below, the "Good" variation would be 1, "Better" would be 2, and "Best" would be 3.

You can see in the next screenshot that the values that have been set are 1, 2, and 3. even though the names are different, it will be connected because those numbers match the EDD variation positions.

FAQ

Why are Purchases being marked as "Pending"?

There are a few reasons why a Gravity Forms purchase would be marked as Pending in Easy Digital Downloads.

The Gravity Forms form didn't include any payment methods.

The status will be set to "Pending" if:

  • The total of the order is greater than zero
  • The connected Gravity Forms form has no configured method of payment; there is no payment made at the time of submission

If this is the case, then you will need to modify the default payment status to be "Completed."

Gravity Forms hasn't "heard back" from the payment processor yet

It can take some time for payment processors to notify a website that a payment has been accepted or rejected. During this time, the purchase will be marked as "Pending" until the notification comes in.

Does Gravity Forms Checkout support subscription payments?

No, at this time subscription payments are not supported with Gravity Forms Checkout.  If this feature is important to you, please let us know.

How to define the Customer fields that should be used

If you have a form that has multiple name, email, or address fields, you may want to change which fields are used for the Customer.
In Version 2.0, if your form has multiple fields of those types, you will see a new "EDD Fields" form setting.

From the EDD Fields settings page, choose the field that will be used for the EDD Customer. By default, the first field of its type will be used.

How to redirect to the EDD Payment Confirmation page

If you want to show users an Easy Digital Downloads receipt instead of a Gravity Forms receipt, you can do that by updating the Gravity Forms form confirmations. Here's how.

While in the form, navigate to Settings → Confirmations.

Hover over "Default Confirmation" and click the "Edit" link.

Change the "Confirmation Type" to "Redirect". Once it's set to redirect, update the Redirect URL setting to the Purchase Confirmation page URL from Easy Digital Downloads.

Once you have the redirect URL in place, click "Save Confirmation" and new purchases will now be redirected to the Easy Digital Downloads purchase confirmation page. Users will see a receipt generated by Easy Digital Downloads.

Modifications

How to modify the default payment status

The default status of new orders before payment is applied is "Pending." If you want to accept payments by default, use the code below:

<?php
 
add_filter( 'edd_gf_default_status', 'modify_edd_gf_default_status', 10, 2 );

/**
 * Modify the default status when there's no status match.
 *
 * @param string $default Default payment status for EDD ("pending" or "publish") (Default: "pending")
 * @param string $status The status of the Gravity Forms entry, set in `$entry['payment_status']`
 */
function modify_edd_gf_default_status( $default = 'pending', $status = '' ) {
	// Set the default status to be Completed/Paid
	return 'publish';
}

How to include base product download links when purchasing a product with price variations

Prior to Version 1.3, if a customer purchased a product with variable pricing and the base product also had a download associated with it, they would receive a link to the base product as well as the variable product they bought. In Version 1.3, this was changed so that customers would only receive a link to the option they purchased. 


If you would like to restore this functionality, add this code to your theme's functions.php file:

<?php

add_filter('edd_gf_variable_products_include_base', '__return_true');