## About WP Full Pay

WP Full Pay is a WordPress plugin designed to make it easy for you to accept payments and create subscriptions from your WordPress site. Powered by Stripe, you can embed payment forms into any post or page and take payments directly from your website without making your customers leave for a 3rd party website.

## Compatibility

WP Full Pay has been fully tested and working on WordPress version 5.0.0+, up to version 6.1.1. The plugin will be updated in the future if WordPress updates any functionality it relies upon. Full Pay will also work with any theme and you can easily style the forms if you require.

The plugin supports Stripe in Australia, Austria, Belgium, Bulgaria, Canada, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hong Kong, Hungary, India, Ireland, Italy, Japan, Latvia, Lithuania, Luxembourg, Malaysia, Malta, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Romania, Singapore, Slovakia, Slovenia, Spain, Sweden, Switzerland, United Kingdom, and United States, plus invite-only preview versions in Gibraltar and Liechtenstein.
For update-to-date information on supported countries, please visit https://stripe.com/global

## Add-ons

Would you like to create a membership website using WP Full Pay? Protect your website content only allowing paying subscribers with our latest add-on WP Full Members. This is a fully featured membership site plugin that seamlessly integrates with WP Full Pay.

## Support

Full support is available at: https://paymentsplugin.com/support

#### Changelog for WP Full Pay

February 28, 2023 (v6.2.4)

> Changed:

> - Fixed: The customer portal displayed incomplete subscriptions.
> - Fixed: The customer portal didn't display the default card if the card was added on the Stripe dashboard.
> - Fixed: The customer portal displayed only the last 10 invoices of the customer.
> - Fixed: The subscription summary on the customer portal wasn't up-to-date until the focus left the quantity stepper.
> - Fixed: The 'amount' property of the $params array of after-payment action of inline subscriptions wasn't set when 3DS was used.
> - Fixed: The 'currency' property of the $params array of after-payment action of subscriptions (inline, checkout) wasn't set.

November 14, 2022 (v6.2.3)

> Changed:

> - Fixed: Some translations were missing from all language bundles.
> - Fixed: Coupons couldn't be applied to products on one-time payments forms if there was only one product added to the form.

October 24, 2022 (v6.2.2)

> Changed:

> - Fixed: Long transaction description could cause sql insert error on one-time payment and donation forms.

September 14, 2022 (v6.2.1)

> Changed:

> - Fixed: A javascript error occurred when the prices were recalculated on checkout payment and subscription forms.
> - Fixed: Some checks were not working properly for the minimum subscription quantity on the customer portal.

September 13, 2022 (v6.1.3)

> Changed:

> - Fixed: The fullstripe_after_subscription_charge action received a NULL Stripe subscription object after 3DS/SCA authentication (caused a problem in WP Full Stripe Members as well).
> - Fixed: Promotion codes were case-sensitive on inline payment and subscription forms.
> - Fixed: Fixed-amount coupons didn't work on inline payment forms with the custom amount option selected.

September 8, 2022 (v6.2.0 b1)

> Added:

> - Custom field values are stored in the Wordpress database, and are displayed on the transaction details page.
> - Coupons can be redeemed only for supported products on inline forms.
> - Added the %IP_ADDRESS% placeholder for the IP address of the customer.
> - Added a section dedicated to add-ons on the 'Full Stripe / Settings' page in WP admin.
> - Implemented minimum quantity for buying subscriptions (buying subscriptions in bulk).
> - Added filters to display additional information on the top and bottom of the customer portal page.
> - Added option to show/hide the 'Subscriptions' section on the customer portal.
> - Added option to toggle scrolling on the customer portal.

> Changed:

> - Fixed: When logging in to the customer portal, the email address was case-sensitive for customers stored in the Wordpress database.
> - Fixed: Redeeming promotion codes was case-sensitive on inline forms.
> - Fixed: Fixed-amount coupons on custom-amount one-time payment forms couldn't be redeemed.
> - Fixed: The 'stripeSubscription' parameter of the 'fullstripe_after_subscription_charge' action was null when called after an SCA 2nd-factor authentication.

August 16, 2022 (v6.1.2)

> Changed:

> - Fixed: Some subscriptions started on checkout forms remained in the "Incomplete" state in WP admin.
> - Fixed: Custom amount payments on inline one-time payment forms generated a PHP notice.
> - Fixed: The "Full Stripe / Transactions" page for subscriptions generated a PHP notice when the Wordpress timezone wasn't a named one but an UTC offset.

April 25, 2022 (v6.1.1)

> Added:

> - Customer portal with account selector (multiple Stripe customers using the same email address).
> - Customer portal filters out and hides zero-amount invoices.
> - Shortcodes are resolved in plugin email templates.
> - Minimum donation amount option on donation forms.
> - Minimum payment amount option on one-time payment forms.
> - Generating invoices for donations.
> - Logging and displaying the IP address of customers on the plugin dashboard.
> - Facility to send plugin emails for testing purposes.
> - Wordpress filter to add URL parameters to thank you page URLs.
> - Wordpress filter to restrict the list of billing and shipping countries.
> - Portuguese translation for all customer-facing UI.

> Changed:

> - The Stripe PHP client has been upgraded to v7.114.0 .
> - The Freemius SDK has been upgraded to v2.4.3 .
> - Reversed the order of Google reCaptcha fields so that it matches the order on the Google settings page.
> - Fixed: Wordpress timezone settings taken into account when displaying dates and times in WP admin.

April 19, 2022 (v6.1.0 b1)

> Added:

> - Customer portal with account selector (multiple Stripe customers using the same email address).
> - Customer portal filters out and hides zero-amount invoices.
> - Shortcodes are resolved in plugin email templates.
> - Minimum donation amount option on donation forms.
> - Minimum payment amount option on one-time payment forms.
> - Generating invoices for donations.
> - Logging and displaying the IP address of customers on the plugin dashboard.
> - Facility to send plugin emails for testing purposes.
> - Wordpress filter to add URL parameters to thank you page URLs.
> - Wordpress filter to restrict the list of billing and shipping countries.
> - Portuguese translation for all customer-facing UI.

> Changed:

> - The Stripe PHP client has been upgraded to v7.114.0 .
> - The Freemius SDK has been upgraded to v2.4.3 .
> - Reversed the order of Google reCaptcha fields so that it matches the order on the Google settings page.
> - Fixed: Wordpress timezone settings taken into account when displaying dates and times in WP admin.

April 5, 2022 (v6.0.11)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: The customer portal didn't work with some Wordpress themes and page builders due to a HTML escaping issue.
> - Fixed: The plugin threw an error when activating it on a Wordpress site powered by PHP v8.1.

Mar 2, 2022 (v6.0.10)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: A high-priority security issue.
> - Fixed: When using payment in installments -type plans on checkout subscription forms, the charge count didn't get refreshed in certain cases.

Feb 23, 2022 (v6.0.9)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: Inline one-time payment forms charged the wrong amount when a one-time payment was followed by a subscription for the same Stripe customer.
> - Fixed: When the custom amount payment option was combined with a single product added to a payment form then the custom amount selector wasn't displayed.
> - Fixed: The fullstripe_modify_email_message filter didn't work for the member registration email of WP Full Stripe Members.

Jan 19, 2022 (v6.0.8)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Added:

> - Option to turn off invoice generation on one-time payment forms (turned off by default).

> Changed:

> - Fixed: The tax id wasn't saved to the Stripe customer in some cases on inline subscription forms.

Dec 13, 2021 (v6.0.7)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Added:

> - Filter for the post types supported by Thank you pages.
> - Romanian translation (thanks monk Theologos).
> - Portuguese (partial) translation (thanks João Gonçalo Dias)

> Changed:

> - Fixed: Default billing country couldn't be selected if no tax is collected.
> - Fixed: The donation email template of the plugin was reset when the plugin was updated.
> - Fixed: When the applied coupon was applicable only for certain number of recurring charges, the "Payment details" popover was empty.
> - Fixed: The length of custom field labels wasn't validated.
> - Fixed: For live transactions, the plugin displayed 'Test' API mode label in the "Transaction details" side pane.
> - Fixed: Shortcodes weren't resolved within the "Thank you" page shortcodes.

Nov 10, 2021 (v6.0.6)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: The payment details popover was empty when plans of different recurring intervals were listed on subscription forms.
> - Fixed: Stripe email receipts weren't sent on inline one-time payment forms.
> - Fixed: The payment amount was always appended to the payment button text, even in absence of the {{amount}} placeholder, on one-time payment forms.
> - Fixed: The "Other" payment option (custom amount) wasn't localized properly.
> - Fixed: The query to populate the thank you pages dropdown on the "General" tab of forms could run out of memory when there were pages/posts with lot of metadata.
> - Fixed: The product name was fixed as "My product" when a custom amount was entered on one-time payment forms.
> - Fixed: There was "null" displayed as country for tax rates with no country specified.

Oct 23, 2021 (v6.0.5)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: Forms weren't displayed on the "Manage forms" page of some websites.
> - Fixed: The webhook endpoint returned ERR 500 when a test webhook event was sent from the Stripe dashboard.
> - Fixed: The interval label of subscriptions was wrong in some cases on the "Full Stripe / Transactions / Subscriptions" page.
> - Fixed: A full-blown error with stack trace was shown if there was no product or plan on the form.
> - Fixed: 3D Secure authentication didn't work properly on inline one-time payment forms in some cases.

Oct 19, 2021 (v6.0.4)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: Forms weren't displayed on the "Manage forms" page of some websites.
> - Fixed: The "Settings" link didn't work properly on the "Plugins" page.
> - Fixed: Freemius customers received an "Access denied" error when tried to open the "Full Stripe / Settings" page.
> - Fixed: The "Terms and condition" label wasn't loaded properly when it contained double quotes.

Oct 18, 2021 (v6.0.3)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Changed:

> - Fixed: One-time payment forms with the 'Custom amount' payment type couldn't be saved.

Oct 18, 2021 (v6.0.2)

> IMPORTANT: There are breaking changes if you're upgrading from v5.5.x or earlier, check out our blog post: https://paymentsplugin.com/blog/release-notes-for-wp-full-stripe-v6-0-2

> Added:

> - Completely redesigned admin/dashboard experience.
> - Tax calculations use Stripe tax rates (exclusive) on one-time payment and subscription forms, inline and checkout alike.
> - One-time payment forms use Stripe products, just like subscription forms do.
> - Coupon field option added to all one-time payment and subscription form types.
> - Shipping address option added to checkout one-time payment and checkout subscription forms.
> - Customers can upgrade/downgrade subscriptions on the "Customer portal" page.
> - Administrators can configure whether subscriptions are cancelled at the end of period or immediately on the Customer portal
> - The plugin generates invoices also for one-time payments.
> - Forms can be cloned on the "Manage forms" page.
> - Business, Agency, and Unlimited licenses can be network-activated with a singe click.
> - New webhook URL added while keeping the legacy webhook URL as well.
> - Placeholder tokens can be used in email subjects.
> - Action/filter hooks can throw a user-friendly exception shown as a banner error on payment forms.

> Changed:

> - The "Manage subscriptions" page has been renamed to "Customer portal".
> - The one-time donation frequency is now optional on donation forms.
> - Completely redesigned/extended function signatures for before/after payment action hooks.
> - The Stripe PHP client has been upgraded to v7.67.0 .
> - The Freemius SDK has been upgraded to v2.4.1 .

> Removed:

> - The "Include amount on button" option of one-time payment forms has been removed, use the '{{amount}} placeholder instead.
> - The "Include default styles" option of appearance settings has been removed.

Sep 30, 2021 (v6.0.1 b2)

> Added:

> - Full support for tax calculations based on Stripe tax rates (exclusive) on one-time payment and subscription forms, inline and checkout alike.

Aug 6, 2021 (v6.0.0 b1)

> Added:

> - Coupon field option added to checkout subscription forms.
> - Coupon field option added to inline and checkout one-time payment forms.
> - Shipping address option added to checkout one-time payment and checkout subscription forms.
> - Customers can upgrade/downgrade subscription plans on the "Customer portal" page.
> - Administrators can configure the Customer portal so that subscriptions are cancelled at the end of period, not immediately.
> - The plugin generates invoices also for one-time payments (except auth & capture forms).
> - Business, Agency, and Unlimited licenses can be network-activated with a singe click.
> - Action/filter hooks can throw a user-friendly exception shown as a banner error on payment forms.
> - New webhook URL added while keeping the legacy webhook URL as well.
> - Placeholder tokens can be used in email subjects.
> - New placeholder token for the coupon code applied: %COUPON_CODE%.
> - New placeholder token for payment amount with a coupon applied: %AMOUNT_DISCOUNTED%.
> - New placeholder token for donation frequency: %DONATION_FREQUENCY%.
> - New placeholder token for the Stripe invoice number: %INVOICE_NUMBER%.
> - New placeholder token for the Stripe subscription receipt: %RECEIPT_URL%.

> Changed:

> - Completely redesigned admin/dashboard experience.
> - The Stripe PHP client has been upgraded to v7.67.0 .
> - The Freemius SDK has been upgraded to v2.4.1 .
> - One-time payment forms use Stripe products, just like subscription forms do.
> - The "Manage subscriptions" page has been renamed to "Customer portal".
> - The one-time donation frequency is now optional on donation forms.
> - Completely redesigned/extended function signatures for before/after payment action hooks.

> Removed:

> - The "Include amount on button" option of one-time payment forms has been removed, use the '{{amount}} placeholder instead.
> - The "Include default styles" option of appearance settings has been removed.

Jul 21, 2021 (v5.5.6)

> Changed:

> - Fixed: An internal error appeared on checkout save card forms.
> - Fixed: The "Manage subscriptions" page now works also on cached pages.
> - Fixed: Checkout subscription forms display the plan name instead of plan id on invoice items of the setup fee.
> - Fixed: Database tables now have primary keys recognized also by MySql 7.8+.

Mar 10, 2021 (v5.5.5)

> Added:

> - The "fullstripe_after_subscription_cancellation" action is fired also in the "customer.subscription.deleted" webhook event handler.
> - Added the "setup_future_usage" parameter to checkout sessions for future compatibility.

> Changed:

> - Fixed: Compatibility issues with PHP v8.
> - Fixed: Compatiblity issue of the wp_localize_script() function in Wordpress v5.7.

Jan 13, 2021 (v5.5.4)

> Changed:

> - Fixed: The Manage Subscriptions page crashed when displaying subscriptions of the standard pricing model.

Jan 11, 2021 (v5.5.3)

> Changed:

> - Fixed: When no recurring option was configured on a donation form, a recurring donation was started upon payment as well.
> - Fixed: Donation forms sent plugin email receipts even when sending plugin receipts wasn't turned on.
> - Fixed: When no preset donation amount was configured, the custom donation amount field had display issues.
> - Fixed: Subscribing to zero amount (free) subscription plans on checkout forms displayed an error.
> - Fixed: Activating the plugin without required PHP extensions displayed a cryptic message which masked the real error.
> - Fixed: Wordpress displayed Strict Standards error messages on some PHP v7.3 and v7.4 installations.
> - Fixed: The payment details popover displayed NaN instead of actual payment amounts when a custom VAT handler was used.

Nov 25, 2020 (v5.5.2)

> Changed:

> - Fixed: Save card forms displayed an error when either email receipts or thank you pages were turned on.
> - Fixed: The subscription billing anchor day was sometimes off by a day due to timezone calculation issues.
> - Fixed: Capturing, refunding, and voiding one-time payments didn't work in WP admin.
> - Fixed: The create/edit one-time payment form page broke when the amount list was empty.
> - Fixed: The "One-time payment forms" page displayed an error after upgrading from WP Full Stripe Free.
> - Fixed: The "One-time payments" page displayed an error after upgrading from WP Full Stripe Free.

Oct 26, 2020 (v5.5.1)

> Added:

> - Donation forms with custom amount recurring donations are here!
> - Form currency format is now configurable (decimal separator character, currency symbol, currency symbol position).
> - Form UI is available in 6 new languages (Danish, French, German, Italian, Japanese, Spanish)
> - The Manage Subscription page and payment forms can be used on the same page.
> - The Subscription Receipt email template supports the %INVOICE_URL% placeholder.
> - New display languages are available for checkout forms.
> - The display language of the Card Info field on inline forms is now configurable.
> - A description (decorated with placeholder tokens) can be added to saved cards.

> Changed:

> - The Card Info field is now full width.
> - The Cardholder's Name field is now a required field.
> - The subscription plan selector displays the plan recurring fee and interval as well.
> - No success message is displayed before redirecting to Thank you pages.
> - The Cardholder's Name and Email address fields are moved towards the bottom of the form, just north of the Card Info field.
> - Fixed: Some placeholders of the 'Subscription ended' email template didn't work properly.
> - Fixed: Logging in to the Manage Subscriptions page didn't work on some Multisite installations.
> - Fixed: REST API endpoint registrations complained about missing parameters (introduced in Wordpress v5.5.0).
> - Fixed: Reworked some calls to functions deprecated in PHP v7.4 .

Oct 10, 2020 (v5.5.0-beta)

> Added:

> - Donation forms with custom amount recurring donations are here!
> - Form currency format is now configurable (decimal separator character, currency symbol, currency symbol position).
> - Form UI is available in 6 new languages (Danish, French, German, Italian, Japanese, Spanish)
> - The Manage Subscription page and payment forms can be used on the same page.
> - The Subscription Receipt email template supports the %INVOICE_URL% placeholder.
> - New display languages are available for checkout forms.
> - The display language of the Card Info field on inline forms is now configurable.
> - A description (decorated with placeholder tokens) can be added to saved cards.

> Changed:

> - The Card Info field is now full width.
> - The Cardholder's Name field is now a required field.
> - The subscription plan selector displays the plan recurring fee and interval as well.
> - No success message is displayed before redirecting to Thank you pages.
> - The Cardholder's Name and Email address fields are moved towards the bottom of the form, just north of the Card Info field.
> - Fixed: Some placeholders of the 'Subscription ended' email template didn't work properly.
> - Fixed: Logging in to the Manage Subscriptions page didn't work on some Multisite installations.
> - Fixed: REST API endpoint registrations complained about missing parameters (introduced in Wordpress v5.5.0).
> - Fixed: Reworked some calls to functions deprecated in PHP v7.4 .

Jul 27, 2020 (v5.4.1)

> Added:

> - The billing anchor day feature now supports subscription plans with trial.

> Changed:

> - Fixed: Submitting subscription forms with a billing anchor day later than the current day of the month threw an error.
> - Fixed: Custom VAT calculation didn't work when there was only one plan on the form.
> - Fixed: When saving cards, metadata for existing customers weren't updated.
> - Fixed: Payment in installments -type subscriptions weren't cancelled automatically in some cases.

Apr 23, 2020 (v5.4.0)

> Added:

> - Billing cycle anchor day can be specified for monthly subscriptions.
> - Subscribers can download invoices from the "Manage subscriptions" page.
> - Administrators can turn off downloading invoices by subscribers.
> - Administrators can turn off cancelling subscriptions by subscribers.
> - Subscription plans now support day intervals.
> - Full Stripe app icon displayed on the WP admin dashboard.

> Changed:

> - Improved the scheduler that stops subscriptions with cancellation counts (payment in installment plans).
> - The "Payment details" popover doesn't display decimal places for amounts in zero-decimal currencies (like JPY).
> - The "Payment details" popover doesn't display a quantity label when purchased quantity is one.
> - Renamed the "Settings / Users" page to "Settings / Security".

Mar 17, 2020 (v5.3.0)

> Changed:

> - WP Full Stripe can run concurrently with other Stripe plugins.
>   (Moved the Stripe PHP client library to a custom namespace)
> - Fixed conflict of the "Payment details" popover with some Wordpress themes.

Feb 26, 2020 (v5.2.0)

> Added:

> - Customers can purchase subscriptions in bulk.
> - Subscribers can change subscription quantity on the "Manage subscriptions" page.
> - Subscription plans can be selected by passing an URL parameter to subscription pages.
> - Custom amount can be set on one-time payment forms by passing an URL parameter to payment pages.
> - Custom placeholder tokens can be added programmatically to email templates.
> - Metadata can be added programmatically to transactions (think affiliate id).

> Changed:

> - Updated Stripe PHP client to v7.24.0 .
> - Updated Freemius SDK to v2.3.2 .
> - Fixed webhook event processing on checkout forms.

Dec 9, 2019 (v5.1.0)

> Added:

> - Inline forms can collect shipping address.
> - Checkout forms can be protected by Google reCaptcha.
> - The plan selector is hidden automatically when only one plan is added to the form.
> - The "Update card" function of "Manage subscriptions" has become SCA-compliant.

> Changed:

> - Fixed the auto-update feature because it didn't work for some Envato customers.
> - Fixed the "Card update" function on the "Manage subscriptions" page, it didn't update the payment method for some subscribers.
> - Fixed a checkout form related periodic task which caused a lot of API errors.

Oct 28, 2019 (v5.0.3)

> - Bugfix: Checkout subscription forms fail when simple button layout is active.
> - Bugfix: Checkout subscription forms crash when simple button layout is active and there is no valid plan selected.
> - Bugfix: One-time payments fail when the form has an empty description.
> - Bugfix: Leaves subscription status as 'Incomplete' when subscribing to a plan with a trial period.
> - Bugfix: The plugin wouldn't let customers pay on inline forms with reCaptcha turned on and 3DS cards.
> - Bugfix: Subscription forms with no valid plan don't return a user friendly error message.
> - Bugfix: Subscription forms don't validate the email address in certain cases.
> - Bugfix: The "Manage subscriptions" page doesn't display the subscriber's active subscriptions.
> - Bugfix: The plugin logs errors into the web server log about checkout sessions it cannot verify.

Sep 19, 2019 (v5.0.2)

> - Fixed issue related to billing address handling on checkout subscription forms.
> - Fixed issue of subscription plans with trial period not working on inline subscription forms.
> - Fixed issue of database patches not applied correctly on MySql 5.5 database servers.
> - Fixed issue of delete local action not working properly for saved cards.

Sep 13, 2019 (v5.0.1)

> - Fixed issue of checkout forms not redirecting back to the starting page after payment.
> - Fixed issue of checkout one-time payment forms displaying an error message when submitting custom donation amounts.
> - Now the plugin sets the billing address of customers on checkout subscription forms (because Stripe doesn't).

Sep 12, 2019 (v5.0.0)

> - The plugin is now SCA-compliant, please read our blog post: https://paymentsplugin.com/blog/wp-full-stripe-sca-ready .
> - The "Manage subscriptions" feature now works without subscription data in the Wordpress database (no need to import subscriptions).

Aug 12, 2019 (v4.2.0)

> - Added %TRANSACTION_ID% placeholder to emails and thank you pages of all form types.
> - Implemented Wordpress authentication option for the "Manage subscriptions" feature.
> - Now firing Wordpress actions before and after cancelling subscriptions.
> - Now showing the CSS selector on the "Appearance" tab of all form types for easier CSS customizations.
> - Made the plugin demo mode more strict.

Jun 29, 2019 (v4.1.2)

> - Bugfix: Updated the Freemius SDK to v2.3.0 to avoid a fatal error when installing the plugin on Wordpress v5.2.x.

Jun 25, 2019 (v4.1.1)

> - Refined form CSS based on feedback from our customers.

Jun 13, 2019 (v4.1.0)

> - Modified plugin to be compatible with several licensing engines (EDD, Freemius).

Jun 20, 2019 (v4.0.3)

> - Refined form CSS based on feedback from our customers.

May 28, 2019 (v4.0.2)

> - IMPORTANT: WP Full Stripe v4.0.2 requires PHP 5.5 or greater
> - IMPORTANT: WP Full Stripe v4.0.2 has new a form design, it's not compatible with the old design. Your custom CSS rules won't work.
> - UPDATE ONLY IF you have tested v4.0.2 in your test/staging environment.
> - Bugfix: Javascript and CSS files of the plugin weren't loaded on some websites
> - Bugfix: The "Payment details" popover displayed "Null" when only one plan was added to a subscription form

May 24, 2019 (v4.0.1)

> - IMPORTANT: WP Full Stripe v4.0.1 requires PHP 5.5 or greater
> - IMPORTANT: WP Full Stripe v4.0.1 has new a form design, it's not compatible with the old design. Your custom CSS rules won't work.
> - UPDATE ONLY IF you have tested v4.0.1 in your test/staging environment.
> - Bugfix: Payment currency was always displayed as USD in popup one-time payment forms of the "Select amount from list" payment type
> - Bugfix: Billing and shipping address was not set properly in some cases on popup forms

May 23, 2019 (v4.0.0)

> - IMPORTANT: WP Full Stripe v4.0.0 requires PHP 5.5 or greater
> - IMPORTANT: WP Full Stripe v4.0.0 has new a form design, it's not compatible with the old design. Your custom CSS rules won't work.
> - UPDATE ONLY IF you have tested v4.0.0 in your test/staging environment.
> - Professional, new look for all form types
> - Professional, new look for the "Manage subscriptions" page
> - Standard and compact inline one-time payment forms are merged and live on as inline forms with new, unified look
> - Inline forms now use Stripe Elements for collecting card details
> - Subscription forms can display plans as radio button list or dropdown
> - Subscription forms have a new "Payment details" popover for subscription overview (setup fee, plan, VAT, total)
> - One-time payment forms can display amounts as radio button list or dropdown
> - Added donation look for one-time payments
> - Vastly improved error feedback on all forms
> - Stripe PHP client upgraded to v6.27.0

Apr 30, 2019 (v3.16.3)

> - Fixed an issue of not displaying feedback after payment with certain billing countries
> - Fixed an issue of not working when other plugins use Google reCaptcha

Feb 14, 2019 (v3.16.2)

> - Added Google reCaptcha support (v2) for inline forms
> - Added support for custom field placeholders in one-time payment form descriptions
> - Fixed issue with the %PRODUCT_NAME% placeholder on one-time popup forms with the "Select amount from list" payment type
> - Fixed HTML escaping issue for placeholders with single and double quotes in email notifications and on Thank you pages

Oct 8, 2018 (v3.16.1)

> - Added verifications to make the CVC/CVV code required (even when Stripe doesn't require it)
> - You can select more plans on a form due to increased database column size (from 255 characters to 2048 characters)
> - Fixed an issue of cancelling subscriptions not working on the "Manage subscriptions" page when being logged in to WordPress
> - Fixed an issue of subscription trials not working
> - Fixed an issue of website assets not loading when Wordpress is hosted on Windows webservers (css, js, and image files)

Sep 3, 2018 (v3.16.0)

> - Added "Authorize & capture" support for one-time payments
> - Reworked how the setup fee works so it's a proper invoice item now, and tax can be added on top of it
> - Fixed an issue of customer name and billing address not set properly on Stripe invoices
> - Renamed and moved the "Card captures" menu to the "Saved cards" menu
> - Added webhook event handlers for one-time payment state changes (refunded, pending, expired, failed, captured)

Jul 11, 2018 (v3.15.1)

> - IMPORTANT: Update to this version if you are using webhooks and subscriptions that end after certain number of charges
> - Fixed an issue related to subscriptions not ending automatically
> - Changed the way javascript files are loaded so the plugin is compatible with more themes

May 25, 2018 (v3.15.0)

> - GDPR-compatible forms with an option to add a "Terms of use" checkbox
> - Self-service area for subscribers to update credit card data, and cancel subscriptions (with Google reCaptcha protection)
> - Configurable payment description for all one-time payment forms
> - Changed the order of the Stripe API keys (publishable, secret) on the "Settings" page
> - Made changes to be compatible with the WP Mandrill plugin

Apr 20, 2018 (v3.14.0)

> - Card capture forms for customers to submit credit card data (so you can charge them later).
> - Error message displayed upon form submit when secret and publishable API keys are entered in the wrong order.
> - Updated the Stripe PHP client to v6.4.1
> - Made subscription management compatible with v6.0 Stripe API (products as parents of subscription plans).
> - Removed Alipay support temporarily.
> - Removed Bitcoin support.
> - "Lock email address field for logged in users" feature turned into "Fill in email address for logged in users".
> - Fixed an issue related to not displaying error message when an empty form was submitted.
> - Fixed an issue related to not saving the default billing country on subscription forms.
> - Fixed an issue related to not displaying properly popup button labels containing single quote characters.
> - Fixed the bug that the "Could not find payment information" error message was not localizable.

Feb 12, 2018 (v3.13.1)

> - Fixed a subscription plan creation/editing/listing issue caused by a new Stripe API version.
> - Fixed an issue related to optional custom fields.

Jan 8, 2018 (v3.13.0)

> - Added shipping address support to popup forms (both one-time and subscription).
> - Increased the maximum number of custom fields per form to 10 (used to be 5).
> - The form name is displayed for each payment in WP admin.
> - The form name is added as metadata to one-time payments and subscriptions.
> - Performed small tweaks to make inline and popup form layouts alike (aligned labels to left, removed fieldset element).
> - Removed security verification that caused nonce errors on cached websites.
> - Condensed the billing address and the shipping address to one metadata each.
> - For one-time payments, all metadata is added to the Stripe charge object (the Stripe customer object is left intact).
> - For subscriptions, all metadata is added to the Stripe subscription object (the Stripe customer object is left intact).

November 21, 2017 (v3.12.1)

> - Fixed the product description not being displayed on popup subscription forms.

November 13, 2017 (v3.12.0)

> - Added tax (VAT) support to subscription forms.
> - Added option for simple popup subscription button (no plan selector, no plan info label, no custom fields, no coupon field).
> - Added option for selecting the display language of popup one-time payment forms, and popup subscription forms.

September 5, 2017 (v3.11.1)

> - Fixed a billing address validation issue on inline one-time forms.

August 22, 2017 (v3.11.0)

> - IMPORTANT! This release contains critical security fixes and critical bugfixes. Please update your Full Stripe installation as soon as possible!!!
> - Added support for "custom amount" and "select amount from list" payment types to popup one-time payment forms (Stripe checkout forms).
> - Updated the Stripe PHP client to the latest version (v5.1.1)

August 18, 2017 (v3.10.0)

> - Added popup (Stripe checkout) support to subscription forms.
> - Added custom field support to all form types (one-time and subscription, inline and popup).
> - Fixed issues with zero-decimal currencies (like the Japanese Yen).
> - Fixed WP admin URLs linking to Stripe charges and Stripe subscriptions.
> - Fixed the value of the %AMOUNT% placeholder on subscription forms where both setup fee and plan fee have to be charged.
> - Fixed an issue of not being able to select certain payment confirmation ("Thank you") pages for redirects.

April 19, 2017 (v3.9.1)

> - Fixed a bug on the edit page of popup forms in WP admin.

April 18, 2017 (v3.9.0)

> - Payment currency can be set per form.
> - Payment currency can be set per subscription plan.
> - Setup fee can be set per subscription plan.
> - Added the %DATE% placeholder token to all email notifications.
> - Split all form editor pages into tabs in order to make room for new features.

March 1, 2017 (v3.8.2)

> - Fixed a bug related to customizable "Thank you" (payment confirmation) pages.

February 26, 2017 (v3.8.1)

> - Fixed a bug related to PHP 5.3.x compatibility.

February 24, 2017 (v3.8.0)

> - All forms are responsive and mobile friendly.
> - "Thank you" pages after payment are customizable with placeholder tokens.
> - Payment types "Select amount from list" and "Custom amount" can be combined on one-time payment (and donation) forms.
> - New option added to make custom fields mandatory.
> - Minimum plugin requirements are verified at activation time.
> - Added collision prevention code to handle those cases when other plugins load jQuery in a non-standard way.
> - Fixed a bug with the %PRODUCT_NAME% placeholder when the payment type is "Select Amount from List".
> - Fixed a bug with form names containing only digits.
> - Fixed a bug with error messages when invalid card expiry date is provided.

February 15, 2017 (v3.7.5)

> - Fixed an issue with payment descriptions containing commas when the payment type is "Select Amount from List".

January 23, 2017 (v3.7.4)

> - Increased amount length from 6 digits to 8.
> - The Stripe PHP client has been upgraded to v4.4.0 .
> - Fixed a bug that caused the product description not properly being mapped to the %PRODUCT_NAME% placeholder on Stripe checkout forms.

December 2, 2016 (v3.7.3)

> - The Stripe PHP client has been upgraded to v4.2.0 .

November 24, 2016 (v3.7.2)

> - Fixed a bug related to missing button icons in WP Admin.
> - Fixed a bug that prevented the plugin from being activated (class name collision with other plugins).
> - Plan label handling modified to work with themes that remove empty <p>tags.

November 18, 2016 (v3.7.1)

> - Error pane handling modified to work with themes that remove empty <p> tags.
> - Fixed a bug that would prevent the plugin from displaying more than 100 subscription plans.
> - Removed placeholders for the card and name fields on subscription forms.

November 2, 2016 (v3.7.0)

> - Any number of forms can be embedded into a page or post!
> - The plugin can auto-update to the latest version with the click of a button!
> - Form shortcode generator added for embedding forms easily into pages and posts (simple copy'n'paste)!
> - AliPay support added for one-time payments on Stripe checkout-style payment forms.
> - Subscriptions can now be deleted on the "Subscribers" page.
> - Country dropdown has been added to the billing address on all form types.
> - The "Action" column has been redesigned on all admin pages (iconified buttons).
> - The "Payments" page has a new layout, it is more structured and more spacious.
> - The "Payments" page has got a search box. Find payments based on customer's name and email address, Stripe customer id, Stripe charge id, or mode (live/test).
> - The "Settings" page can now be extended by add-ons.
> - "Newsfeed" tab has been added to the "About" page.
> - Fixed an issue related to being unable to save subscription forms with selected subscription plan names containing spaces.
> - The "Transfers" feature has been removed due to incompatibility with the latest Stripe API (will be reintroduced later).
> - The Stripe client and API used by the plugin has been upgraded to v3.21.0 in order to be compatible with TLS 1.2.

June 3, 2016 (v3.6.0)

> - Support for subscriptions that terminate after certain number of charges!
> - Subscriptions can be cancelled from the "Subscribers" page.
> - The "Subscribers" page has a new layout, it is more structured and more spacious.
> - The "Subscribers" page has a search box. Find subscriptions based on subscribers' name and email address, Stripe customer id, Stripe subscription id, or mode (live/test).
> - The "Settings / E-mail receipts" page has a new layout for managing e-mail notifications (new email types coming soon).
> - Now you can translate form titles and custom field labels to other languages as well.
> - Stripe webhook support added for advanced features in the coming releases.
> - Fixed an issue related to the value of the %PLAN_AMOUNT% token when a coupon is applied to the subscription.
> - Fixed an issue related to plan ids, now they can contain comma characters.
> - Improved error handling and error messages for internal errors.

March 15, 2016 (v3.5.1)

> - Added %PRODUCT_NAME% token to email receipts (used when payment type is "Select Amount from List")
> - Added extra error handling for failed cards (declined, expired, invalid CVC).
> - Fixed issue with long plan lists on subscription forms.

February 21, 2016 (v3.5.0)

> - Added Bitcoin support for checkout forms!
> - The e-mail field can be locked and filled in automatically for logged in users.
> - Success messages and error messages are scrolled into view automatically.
> - The spinning wheel has been moved next to the payment button on all form types.
> - The lists on the "Payments" and "Subscribers" pages now are descending and ordered by date by default.
> - Fixed an issue with payment forms on Wordpress 4.4.x: the submitted forms never returned.

December 6, 2015 (v3.4.0)

> - New payment type introduced on payment forms: the customer can select the payment amount from a list.
> - The "Settings" page is now easier to use, it has been divided into three tabs: Stripe, Appearance, and Email receipts.
> - The e-mail receipt sender address is now configurable.
> - All payment forms (payment, checkout, subscription) add the same metadata fields to the Stripe "Payment" and "Customer" objects.
> - CSS style improvements to assure compatibility with the KOMetrics plugin.

October 30, 2015 (v3.3.0)

> - The plugin is translation-ready! You can translate it to your language without touching the plugin code. (Public labels only)
> - Usability improvements made to the currency selector on the "Settings" page.
> - Improved error handling on all form types (payment, checkout, and subscription).
> - Version number of the plugin is displayed on the "About" and "Help" pages in WP Admin.
> - Confirmation dialog has been added to delete operations where it was missing.
> - Fixed an issue on subscription forms with the progress indicator spinning endlessly, never returning.
> - Fixed an issue on checkout forms with the %CUSTOMERNAME% token not resolved properly in email receipts.

August 22, 2015 (v3.2.0)

> - Subscription plans on subscription forms can be reordered by using drag and drop!
> - Subscription plans can be modified or deleted directly from WP Full Stripe.
> - Page or post redirects can be selected using an autocomplete, no time wasted with figuring out post ids.
> - Arbitrary URLs can be used as redirect URLs.
> - Placeholder tokens for custom fields are available in email receipts.

July 18, 2015 (v3.1.1)

> - Fixed a bug with Stripe receipt emails on subscription forms.

June 25, 2015 (v3.1.0)

> - Now you can use plugin email receipts for all form types (payment, checkout, and subscription) !!!
> - New email receipt tokens: customer email, subscription plan name, subscription plan amount, subscription setup fee.
> - Separate email template and subject fields for payment forms and subscription forms.
> - Support for all countries supported by Stripe (20 countries currently).
> - Support for all currencies supported by Stripe (138 currencies in total, number varies by country).

December 30, 2014

> - You can now use multiple checkout buttons on the same page!
> - Checkout button styling can now be disabled (useful for theme conflicts).
> - Some minor changes added for future extensions.

December 5, 2014

> - Removing form input placeholders as they conflict with some themes.
> - SSN is no longer a required field for transfer forms.
> - Support for KO Metrics added.
> - Bugfix: settings upgrade properly when installing a new version of the plugin.

November 4, 2014 - We're now at version 3.0! Over 1 years worth of regular updates & new features

> - You can now add up to 5 custom input fields to payment & subscription forms!
> - Subscribers and payment records can now be deleted locally (they remain in your Stripe dashboard).
> - Lots of UI/UX improvements including appropriate table styling and useful redirects.
> - Added livemode status to subscribers.
> - Cardholder name correctly added to payment details.

October 16, 2014

> - Email address is now a required field on payment forms.
> - We now check for existing Stripe Customers before creating new ones.
> - Updated the Stripe PHP Bindings to the latest version.
> - Fixed deprecated warnings on payment and subscription table pages.
> - Fixed a bug with trying to redirect to post ID 0 following payment.
> - Hook and function updates to support upcoming Members add-on.

October 7, 2014

> - Updated bank transfers feature to include ability to transfer to debit cards as well as bank accounts.
> - Fixed a bug with checkout forms not displaying.

September 7, 2014

> - Bugfix: Subscriptions create Stripe customer objects correctly again.

August 30, 2014

> - Stripe Customer objects are now created for charges, meaning better information about customers in your Stripe dashboard
> - Custom input has been moved from the description field to a charge metadata value
> - Fixed Stripe link on payments history tables
> - Stripe checkout forms now correctly save customer email
> - Locale strings for CAD accounts have been added

July 23, 2014

> - Hotfix to update transfers parameter due to Stripe API update

July 20, 2014

> - Added option to use Stripe emails for payment receipts
> - Fixed issue with redirect ID field on edit forms
> - Added customer name to metatdata sent to Stripe on successful payment

June 23, 2014

> - New tabbed design on payment and subscription pages
> - New sortable table for subscriber list
> - Choose to show remember me option on checkout forms
> - Ability to choose custom image for checkout form

June 21, 2014

> - You can now specify setup fees for subscriptions!

June 18, 2014

> - Added ability to customize subscription form button text
> - Currency symbol now shows for plan summary price text
> - Some typos have been fixed & other UI improvements.
> - New About page.

May 5, 2014

> - New system allows selection of different form styles
> - New 'compact' style for payment forms. More to come!
> - Tidy up of form code to allow easier creation of new form styles.

Apr 20, 2014

> - Checkout form now uses currency set in the plugin options
> - Updated currency symbols throughout admin sections
> - Tested to work with latest release, WordPress 3.9

Apr 19, 2014

> - Added address line 2 and state fields to billing address portion of forms
> - Used metadata parameter with Stripe API to better store customer email and address fields
> - Address fields on forms now take locale into account (Zip/Postcode, State/Region etc.)
> - Added new fields to customize email receipts

Apr 13, 2014

> - New form type! Stripe Checkout forms are now supported. These are pre-styled, responsive forms.
> - You can now select to receive a copy of email receipts that are sent after successful payments.
> - More email validation added.

Mar 21, 2014

> - You can now customize payment email receipts in the settings page
> - Stage 1 of major refactor of code, making it easier & faster to provide future updates.
> - Loads more action and filter hooks added to make plugin more extendable.

Feb 17, 2014

> - Subscription forms now show total price at the bottom
> - Coupon codes can now be applied, showing total price to the customer

Feb 15, 2014

> - Added option to send email receipts to your customers after successful payment

Jan 26, 2014

> - Fixed an issue with copy/pasting Stripe API keys sometimes including extra spaces

Jan 15, 2014

> - You can now edit your payment and subscription forms!
> - Improved table added for viewing payments which allows sorting by amount, date and more.
> - General code tidy up. More coming soon.

Dec 27, 2013

> - Address option added to payment forms
> - Reorganized loading of Stripe code meaning faster load times and less conflicts
> - Lots of UI improvements throughout administrator menus
> - More hooks added to allow greater extendability

Nov 15, 2013

> - Added support for Australian Dollar AUD
> - Made changes to improve integration with various HTTPS plugins