Description
The “gform_post_payment_refunded” action in Gravity Forms is triggered after a payment is refunded, allowing further actions to be taken.
Usage
add_action( 'gform_post_payment_refunded', 'my_function', 10, 2 );
Parameters
| Parameter | Type | Description | 
|---|---|---|
| $entry | Entry Object | The entry object that was created. | 
| $action | array | The action that occurred. Contains things such as the amount, what occurred, and the transaction ID. | 
$action = array(
    'type'             => '',
    'amount'           => '',
    'transaction_type' => '',
    'transaction_id'   => '',
    'subscription_id'  => '',
    'entry_id'         => '',
    'payment_status'   => '',
    'note'             => '',
);
Examples
function my_function() {
    // Do something here
    // If data from the Stripe webhook event is needed (and this hook was initiated via a Stripe webhook request), you can access event data with the following line:
    $event = gf_stripe()->get_webhook_event();
    if ( $event ){
       // Access webhook event data. For event object documentation, see: https://stripe.com/docs/api/events/object
    }
}
add_action( 'gform_post_payment_refunded', 'my_function', 10, 2 );
Placement
This code can be used in the functions.php file of the active theme, a custom functions plugin, a custom add-on, or with a code snippets plugin.
See also the PHP section in this article: Where Do I Put This Code?
Source Code
do_action( 'gform_post_payment_refunded', $entry, $action );
This action hook is located in GFPaymentAddOn::refund_payment() in includes/addon/class-gf-payment-addon.php.