The Official Blog for LifterLMS Contributors

  • LifterLMS Stripe Version 3.0.0

    • Deprecated reliance on the Plugin Update Checker class from the LifterLMS core in order to allow update and activation via the new free LifterLMS Helper plugin.
    • This version requires LifterLMS 1.5.0 at a minimum and will not function with older versions of LifterLMS.
    • Upgrading to v3.0.0 from older versions of LifterLMS Stripe is easy, simply retrieve the update automatically from your WordPress installation. Please Note that after updating to v3.0.0 you will no longer be able to receive automatic updates without installing the free LifterLMS Helper plugin. Version 2.0.0 of LifterLMS (coming soon) will remove update functionality so we urge you to update to Stripe v3.0.0 soon and install the updater plugin to continue receiving automatic updates.
    Read more: LifterLMS Stripe Version 3.0.0
  • LifterLMS Stripe Version 2.0.0

    Completely rewritten for improved performance and stability

    Improvements and Enhancements
    • Now entirely Object Oriented codebase
    • Proper error handling and catching for all processing errors and interactions.
    • A new “debug mode” setting has been created to allow for better debugging of processing issues. This setting will output the raw error response of any unsuccessful API calls made to Stripe during payment processing.
    • Improved frontend validation via Stripe.js helps identify potential typos and missed fields prior to payment processing without a page reload.
    • Prevent users from accidentally double charging themselves by locking the credit card form upon submission.
    • A CSS-only loading animation during payment processing that was a lot of fun and only warrants and changelog item because I enjoyed coding it.
    • User and plan data is now identified as either “live” or “test” data. This prevents test mode id’s from being used after switching to live mode (and vice versa).
    • Test transactions are clearly marked as “TEST” when viewing the LifterLMS order inside LifterLMS
    • A testing interface has been added when test mode is enabled to help you prefill the credit card form with a few of the available test mode cards that Stripe provides.
    • New filters to allow customization of error messages, on screen language, and more.
    • Removed the dependency on Stripe’s PHP SDK in favor of CURL requests via the WordPress Core function wp_safe_remote_post. This results in a significantly smaller and simpler codebase and enables compatibility with servers on older versions of PHP that don’t support namespacing.
    • Added support for Stripe Metadata. On Stripe dashboards it is now easier to see the related WordPress post or user ID.
    • On LifterLMS Orders, Stripe Metadata is now clearly visible in the admin panel. Links to the Stripe Customer, Charge, and more are available for all Stripe transactions.
    Upgrading from previous versions to v2.0.0
    • Almost all data saved by LifterLMS Stripe has been reformatted so previously saved subscriptions and customers will be stored in a new location
    • Because test and live mode identifiers were never stored by previous version of LifterLMS Stripe, we cannot migrate existing IDs during upgrade. However, all plans and customers will be automatically found or created during payment processing so no migration is actually needed anyway!
    • A new database table ({$wpdb->prefix}lifterlms_stripe_plans) will be installed to hold all created plans
    • Existing LifterLMS Stripe Tables that were required for previous versions are no longer needed be are being preserved for historical purposes. If you wish to delete these tables, you may do so using the method of your choosing. The deprecated tables are {$wpdb->prefix}lifterlms_stripe_orders and {$wpdb->prefix}lifterlms_stripe_subscription_plans
    Deprecated Functions and Classes

    CLASSES

    • LLMS_Settings_Integrations_Stripe was replaced by LLMS_Stripe_Settings

    FUNCTIONS

    • llmsstripe_locate_template() is no longer needed
    • llmsstripe_theme_override() is no longer needed
    • llmsstripe_get_template() is no longer needed
    • llmsstripe_enqueue_scripts() was replaced by LLMS_Stripe_Checkout_Form->enqueue()
    • llmsstripe_person_edit_account_url() is no longer needed
    • llmsstripe_generate_random_plan_id() is no longer needed
    • llmsstripe_save_subscription_plans() is no longer needed
    • llms_stripe_locate_payment_plan() was replaced by LLMS_Stripe_Plan->locate()
    • llms_stripe_create_new_payment_plan() was replaced by LLMS_Stripe_Plan->create()
    • llms_stripe_get_trial_days() was replaced by LLMS_Stripe_Plan->get_trial_days()
    • llms_stripe_setup_expired_subscription_check_schedule() was replaced by LLMS_Stripe_Crons->schedule()
    • cancel_expired_subscriptions() was replaced by LLMS_Stripe_Crons->cancel_expired_subscriptions()
    • get_public_key() was replaced by LLMS_Stripe_Settings->get_publishable_key()
    • get_secret_key() was replaced by LLMS_Stripe_Settings->get_secret_key()
    • llms_get_stripe_subscription_plans_table_name() is no longer needed
    Read more: LifterLMS Stripe Version 2.0.0
  • LifterLMS Stripe Version 1.1.2

    • Improved error handling during checkout for various card declined scenarios.
    Read more: LifterLMS Stripe Version 1.1.2
  • LifterLMS Stripe Version 1.1.1

    • Fixed an issue which prevented some recurring transactions to process correctly on initial checkout
    • Improved error handling during plugin activation key submission
    Read more: LifterLMS Stripe Version 1.1.1
  • LifterLMS Stripe Version 1.1.0

    • Coupons now discount both single and recurring transactions
    • Tested with WordPress 4.4
    Read more: LifterLMS Stripe Version 1.1.0