Fixed a fatal error which can occur with the Stripe API Client if the add-on isn't connected to a Stripe account.
- Added security enhancements.
- Added the ability to refund payments from the entry detail page.
- Added the ability to capture authorized payments from the entry detail page.
- Added the stripe_customer_portal_link shortcode action to support [self-serve billing portal](https://docs.gravityforms.com/stripe-customer-portal-shortcode-action/).
- Updated the Stripe API SDK methods.
- Updated the styling for the disconnect alert messaging.
- Fixed a javascript error when de-authorizing Stripe account.
- Fixed an issue with unsaved warning being displayed on settings pages even when there are no changes made.
- Fixed an issue with the Webhooks Add-On where the payment details in the entry are empty.
- Fixed an issue where if future usage is set to 'on_session' and a user enters a 3DS card. This addresses an issue that results in an infinite loop on form submission.
- Updated the stripe API SDK methods.
- Updated the styling for the disconnect alert messaging.
- Fixed an issue where if future usage is set to 'on_session' and a user enters a 3DS card, they get an infinite loop and can't submit the form.
- Updated error messages when API isn't connected to be more informative.
- Fixed an issue where the merge tags are replaced with fixed values when the subscription name is longer than the 200 character limit by Stripe.
- Fixed an issue where an empty validation message appears if feed conditional logic is set.
- Fixed an issue where an empty validation message appears as soon as a customer types in the credit card field.
- Fixed an issue where the credit card icon overlaps with the placeholder text in the credit card field.
- Fixed an issue where the form fails validation if the plan (price) or product, created by the add-on, is archived in the Stripe account.