* Added filter hook to allow bailing from processing webhook
* Added subscription cancellation handler
* Added logic for payment intent data not to be used other than for paynow product
* Added payment methods options update
* Added `get_payment_methods` helper and apply payment method options
* Added payment methods settings
* Added `invoice.payment_succeeded` webhook event handler
* Added `invoice.payment_failed` webhook event handler
* Added filter hook for checkout sca integration payment method types
* Added ideal to SCA payment methods
* Added test endpoint secret settings field
* Updated to rename webhook handler function
* Updated to set up Stripe session and store it in cookie to prevent multiple session creations in Stripe
* Updated call to `stripe_button` function only once
* Updated global exception
* Updated endpoint secret setter and getter and change endpoint secret retrieval to use getter method
* Updated admin script to accomodate test endpoint secret field
* Updated default username to use email address format and add filter to create short username if needed
* Fixed wrap session creation in try catch block to prevent fatal error and return button if session is not created
* Fixed non active subscription pass logic checks and enroll users to courses
* Fixed Bail process if payload or signature is empty
* Fixed undefined index error
* Fixed prevent creating Stripe session if the product type is not paynow or subscribe to prevent Stripe error
* Fixed ideal payment method addition logic
* Fixed change response code for `SignatureVerification` error
* Fixed ideal payment not available for currency other than euro
* Fixed duplicate customer creation in Stripe account because of unnecessary `add_stripe_customer()` call