Using Gravity Forms ‘gform_stripe_charge_pre_create’ PHP filter

The gform_stripe_charge_pre_create Gravity Forms PHP filter allows the charge properties to be overridden before the charge is created by the Stripe API.

Usage

add_filter('gform_stripe_charge_pre_create', 'your_custom_function', 10, 5);

Parameters

  • $charge_meta (array) – The properties for the charge to be created.
  • $feed (Feed Object) – The feed object currently being processed.
  • $submission_data (Submission Data) – Contains the form title, payment amount, setup fee amount, trial amount, line items created using the submitted pricing field values and any discounts from coupons.
  • $form (Form Object) – The Form which is currently being processed.
  • $entry (Entry Object) – The entry from which the subscription was created.

More information

See Gravity Forms Docs: gform_stripe_charge_pre_create

Examples

Add the statement_descriptor property

Add the statement_descriptor property to the charge meta. Check Stripe’s documentation for requirements.

add_filter('gform_stripe_charge_pre_create', 'stripe_charge_pre_create', 10, 5);

function stripe_charge_pre_create($charge_meta, $feed, $submission_data, $form, $entry) {
    $charge_meta['statement_descriptor'] = 'STATEMENTDESC';

    return $charge_meta;
}

Attach payment method to the customer

This example should be used in combination with gform_stripe_customer_id. It shows how you can tell Stripe.com to attach the payment method to the customer for forms using the Stripe Card field.

add_filter('gform_stripe_charge_pre_create', function($charge_meta, $feed, $submission_data, $form, $entry) {
    $charge_meta['setup_future_usage'] = 'off_session';

    return $charge_meta;
}, 10, 5);

Add the description property

Add the description property to the charge meta.

add_filter('gform_stripe_charge_pre_create', function($charge_meta, $feed, $submission_data, $form, $entry) {
    if (empty($charge_meta['description'])) {
        $charge_meta['description'] = gf_stripe()->get_payment_description($entry, $submission_data, $feed);
    }

    return $charge_meta;
}, 10, 5);

Override the currency

Override the currency for the charge. This example sets the currency to EUR.

add_filter('gform_stripe_charge_pre_create', function($charge_meta, $feed, $submission_data, $form, $entry) {
    $charge_meta['currency'] = 'eur';

    return $charge_meta;
}, 10, 5);

Add metadata to the charge

Add custom metadata to the charge.

add_filter('gform_stripe_charge_pre_create', function($charge_meta, $feed, $submission_data, $form, $entry) {
    $charge_meta['metadata'] = array(
        'custom_key_1' => 'custom_value_1',
        'custom_key_2' => 'custom_value_2'
    );

    return $charge_meta;
}, 10, 5);