If you are updating to Charitable Stripe 1.4 from a previous version, there are some changes you should be aware of, particularly if you are using code to customize the plugin’s behaviour.
Things that were removed
charitable_stripe_charge_args filter
The charitable_stripe_charge_args filter was removed in 1.4. In our experience, there were two key ways this filter was used:
To change the statement descriptor.
The statement descriptor can now be customized via the Stripe settings page. Go to Charitable > Settings > Payment Gateways > Stripe and set “Format” to “Set a custom statement descriptor”, then specify your custom statement descriptor in the setting below.
If you would want your statement descriptor to be dynamic (i.e. not the same for every donation), you can use the charitable_stripe_statement_descriptor filter.
To change the metadata that is sent to Stripe.
Changing the metadata can now be done with one of two filters.
Classes
Two classes were removed entirely:
Charitable_Stripe_Gateway_Processor_One_TimeCharitable_Stripe_Gateway_Processor_Recurring
Both of these classes are no longer required, as the new Charitable_Stripe_Gateway_Processor_Checkout and Charitable_Stripe_Gateway_Processor_Payment_Intents classes now handle all gateway processing.
Filters
Some filters were removed:
charitable_stripe_gateway_processor_recurringcharitable_stripe_gateway_processor_one_timecharitable_stripe_donation_statuscharitable_stripe_charge_args(replacements mentioned above)
Methods
Some class methods were removed:
Charitable_Gateway_Stripe::add_hidden_token_field()was removed and replaced byCharitable_Gateway_Stripe::add_hidden_stripe_account_field().Charitable_Gateway_Stripe::set_submitted_stripe_token()was removed without replacement.Charitable_Gateway_Stripe::redirect_to_donation_form()was removed without replacement.Charitable_Gateway_Stripe::process_donation_legacy()was removed without replacement.
Things that were deprecated
The following methods were deprecated and will be removed in a future version:
Charitable_Stripe_Gateway_Processor::create_stripe_customer()Charitable_Stripe_Gateway_Processor::get_saved_stripe_customer_id()Charitable_Stripe_Gateway_Processor::save_stripe_customer_id()Charitable_Stripe_Gateway_Processor::get_stripe_customer_objectCharitable_Stripe_Gateway_Processor::get_stripe_customer_card_id()Charitable_Gateway_Stripe::enqueue_scripts()Charitable_Gateway_Stripe::maybe_setup_scripts_in_donation_form()Charitable_Gateway_Stripe::maybe_setup_scripts_in_campaign_loop()Charitable_Gateway_Stripe::require_credit_card_details()Charitable_Gateway_Stripe::validate_donation()
In addition, some class properties were deprecated:
Charitable_Stripe_Webhook_Processor::stripe_event
