gform_stripe_payment_element_updated_payment_information

Description

Allows users to filter the payment information of the payment element before calling elements.update(). This is useful when altering payment details like currency and amount. For property details, see Stripe documentation for elements.update(options).

NOTE: This filter only applies to the form front-end javascript. You must also implement PHP filters to change values upon submission of the form.

Usage

gform.addFilter( 'gform_stripe_payment_element_updated_payment_information', function( paymentInformation,feedId,formId ){
    // do something with the information
    return paymentInformation;
} );

Parameters

  • $paymentInformation javascript object
    The object that contains the updated payment information.
  • $feedId string
    The ID of the feed being processed.
  • $formId string
    The ID of the form being processed.

Example

This example shows how the currency can be changed for Form ID 5.

add_filter( 'gform_currency_pre_save_entry', function ( $currency, $form ) {
    if ( rgar( $form, 'id' ) == 5 ) {
        return 'EUR';
    }
    return $currency;
}, 10, 2);

add_filter( 'gform_stripe_charge_pre_create', function ( $charge, $feed, $submission_data, $form, $entry ) {
    if ( rgar( $form, 'id' ) == 5 ) {
	    $charge['currency'] = 'eur';
    }
	return $charge;
}, 10, 5);

add_action( 'wp_footer', function () {
?>
<script type="text/javascript">
	jQuery( document ).ready( function() {
		gform.addFilter( 'gform_stripe_payment_element_updated_payment_information', function( paymentInformation, feedId, formId ) {
            if ( formID == 5 ) {
                paymentInformation.currency = 'eur';
            }
			return paymentInformation;
		} );
	});
</script>
<?php
});

Since

This hook was added in Stripe Add-On 5.5.2.

Placement

Your code snippet can be placed in an HTML field on your form or in a theme custom JavaScript file.

See also the JavaScript/jQuery section in this article: Where Do I Put This Code?

Source Code

This action hook is located in js/src/payment-element/stripe-payments-handler.js.