Refund Payment Step

Introduction

The Refund Payment step refunds a payment made either in the current entry or in a different entry.

Note: If you’re refunding a subscription payment, use the Cancel Subscription Step before the Refund Payment step to prevent future billing. This ensures the customer is not charged again while the refund is being processed.

Refund Payment Step Settings

Refer to Common Step Settings for additional settings you will see on the step edit screen in addition to the following:

Step SettingDescription
Transaction/Subscription ID Field Select which transaction to refund:
Entry Transaction/Subscription ID – Refunds the payment from the current entry
Field containing Transaction ID – Refunds a payment from a different entry using a Transaction ID field or Subscription ID field.

The dropdown shows all Hidden fields, Text fields, Subscription ID fields, and Transaction ID fields on the form. The customer must provide this ID, or you can retrieve it using the {entry:transaction_id} merge tag from the original entry
Refund ReasonThe reason for the refund. Options: “Requested by customer”, “Duplicate”, and “Fraudulent”.
Refund AmountChoose to refund the full amount charged to the customer, or select a number field on the form that contains a partial refund amount.
Refund PeriodOptional time limit (in days) for processing refunds. When set, refunds will only be processed if the payment was made within this period. Leave blank to allow refunds at any time. See Refund Period Example below

Note: Payment transaction IDs use the format pi_xxxxxxxxxxxx and subscription IDs use the format sub_xxxxxxxxxxxx

Next Step Settings

Next Step Settings

Next StepDescription
RefundedThe next step in the workflow if the payment was refunded successfully. For example, you could select a notification step to email the customer and an administrator confirming the refund
FailedThe next step in the workflow if the payment was not refunded successfully. Common reasons for failure include:
• Payment was not previously captured
• Payment was already refunded
• The transaction ID is invalid or from a different site
• The refund period has expired
• The payment gateway API returned an error
• Network connectivity issues

You could select a notification step to inform the customer and administrator that the refund failed
Refund Period ExpiredThe next step in the workflow if the refund period has expired and the refund was not processed

Examples

Refund Period

If you have a 30-day refund guarantee, set the refund period to 30. The refund will only be processed if the payment was made within the 30-day limit. If the step runs for a payment made before the 30-day period, the step status will be “refund period expired”.

Refund and Cancel Workflow

When refunding a subscription payment, the recommended workflow order is:

  1. Cancel Subscription step (Stops future billing)
  2. Refund Payment step (Returns the payment to the customer)

This prevents the situation where a customer receives a refund but continues to be charged for future subscription periods.

Verifying Refund Status in Stripe

To verify that a refund was processed successfully in your Stripe Dashboard, navigate to the payment or subscription and check the refund timeline. Refer to the Stripe official documentation for more information. To verify that a refund was processed successfully in your Stripe Dashboard. Refer to the for more information.

Image showing the Gravity Flow Entry timeline.

Stripe Extension Limitations

The Gravity Flow Stripe Extension has the following limitations that apply across all step types and field types.

Same-Site Validation Requirement

All Stripe transaction IDs, subscription IDs, and payment operations must originate from Gravity Forms on the same WordPress site. The following will not validate or process:

  • Transactions from staging/production environments (different WordPress installations)
  • Stripe purchases made through retail devices, mobile apps, or other systems
  • Transactions from external Gravity Forms installations
  • Subscriptions or payments created in different Stripe accounts

Single Payment Step Per Workflow

Only one Stripe feed and one Stripe payment step are supported per workflow. You cannot add multiple Payment Form (Checkout) steps or Capture Payment steps to the same workflow.

If your workflow requires multiple payments, consider these alternatives:

  • Use separate forms and workflows – Create multiple forms, each with its own Stripe feed and workflow. Use Form Connector to pass data between workflows when needed
  • Combine payments upfront – Calculate the total payment amount and collect it in a single transaction at the appropriate workflow step
  • Use other payment add-ons – For workflows requiring multiple payment processors or payment types, combine Stripe with other Gravity Forms payment add-ons (each with its own feeds)

For more information on handling multiple payment feeds, see the Form Submission Step documentation.

Feed Configuration Requirement

All Stripe steps require a properly configured Stripe feed on the form before the step can function. The Stripe feed is automatically selected from your form configuration and cannot be manually selected in the step settings. See the Stripe feed configuration guide for setup instructions.