=== Paid Memberships Pro: Pay by Check Add On === Contributors: strangerstudios, eighty20results Tags: pmpro, paid memberships pro, members, memberships, check, cheque, payments, offline Requires at least: 5.0 Tested up to: 7.0 Stable tag: 1.1.8 A collection of customizations useful when allowing users to pay by check for Paid Memberships Pro levels. == Description == Adds a radio option to checkout to pay by credit card or PayPal now or pay by check. Users who choose to pay by check will have their order to "pending" status. Users with a pending order will not receive a membership level immediately. After you receive and cash the check, you can edit the order to change the status to "success", which will complete the membership puchase. == Installation == 1. Upload the `pmpro-pay-by-check` folder to the `/wp-content/plugins/` directory. 1. Activate the plugin through the 'Plugins' menu in WordPress. 1. Change your Payment Settings to the "Pay by Check" gateway and make sure to set the "Instructions" with instructions for how to pay by check. Save. 1. Change the Payment Settings back to use your gateway of choice. Behind the scenes the Pay by Check settings are still stored. 1. Edit your membership levels and set the "Pay by Check Settings" for each level. If you would like to change the wording from "Pay by Check" to something else, you can use this custom code: https://gist.github.com/strangerstudios/68bb75bf3b83530390d4 == Changelog == = 1.1.8 - 2026-06-30 = * BUG FIX: The membership level's confirmation message is no longer shown on the checkout confirmation page for pending Pay by Check orders; it now displays only once the order status is `success`. This aligns with the same change in PMPro core (strangerstudios/paid-memberships-pro#3682). #153 (@kimcoleman) = 1.1.7 - 2026-05-05 = * ENHANCEMENT: Updated default email templates to use the new liquid syntax (`{{ var }}`) for Paid Memberships Pro 3.7+ while preserving the legacy `!!var!!` syntax on older versions. #152 (@dparker1005) * ENHANCEMENT: Updated the admin "check pending" email body to use `{{ order_id }}` / `{{ order_date }}` / `{{ order_total }}` so it matches the documented variable list and the member-facing templates. #152 (@dparker1005) = 1.1.6 - 2026-03-27 = * ENHANCEMENT: Cleaned up settings formatting in the admin. #150 (@strangerstudios) * BUG FIX: Fixed checkout page when toggling between the new PayPal (REST API) gateway and Pay by Check. #151 (@dparker1005) * BUG FIX: Updated references to the PayPal Website Payments Pro gateway slug from `paypal` to `paypalwpp`. #151 (@dparker1005) = 1.1.5 - 2025-09-25 = * BUG FIX: Fixed issues with the !!name!! and !!display_name!! variables referencing the site admin instead of the member in certain email templates. #146 (@andrewlimaza) * BUG FIX: Fixed an issue where the "Pay by Check" option would show billing fields when it shouldn't show for this payment method. #147 (@andrewlimaza) = 1.1.4 - 2025-06-25 = * ENHANCEMENT: Now showing the correct email template variables when editing the "Pay by Check" email templates. #144 (@dparker1005) * BUG FIX/ENHANCEMENT: Now allowing tax to be calculated on recurring orders. #141 (@dwanjuki) * BUG FIX: Fixed an issue where users may lose their existing membership after abandoning an early renewal checkout. #142 (@dwanjuki) = 1.1.3 - 2025-03-05 = * ENHANCEMENT: Now showing Pay By Check crons in the PMPro Site Health report. #135 (@MaximilianoRicoTabo) * BUG FIX/ENHANCEMENT: Updated the payment instructions output formatting to match the core PMPro plugin. #138 (@dparker1005) * BUG FIX: Fixed an issue where levels that are set to only allow check payments could send users to offsite payment gateways. #133 (@dparker1005) = 1.1.2 - 2024-11-20 = * BUG FIX: Fixed an issue where recurring orders would be created with a $0 total when using PMPro v3.2+. #131 (@dparker1005) * BUG FIX: Fixed an issue where block editor pages would not save successfully when the checkout block was used. #130 (@MaximilianoRicoTabo) = 1.1.1 - 2024-09-25 = * ENHANCEMENT: Now notifying the site admin when a pending check order is created at checkout. #129 (@dparker1005) * BUG FIX: Fixed an issue where payment subscriptions were immediately cancelled when a user purchased a level that they already had. #125 (@dparker1005) * BUG FIX: Fixed an issue where calling `pmpro_getLevelAtCheckout()` too early might cache the incorrect level at checkout. #128 (@dparker1005) = 1.1 - 2024-07-17 = * ENHANCEMENT: Added support for v3.1+ Paid Memberships Pro frontend changes. #120 (@MaximilianoRicoTabo, @kimcoleman) * BUG FIX: Now only sending the cancellation email if a level was removed. #118 (@dparker1005) * BUG FIX: Fixed issue where crons were not being set up or disabled. #121 (@dparker1005) = 1.0.1.1 - 2024-06-10 = * BUG FIX: Fixed incorrect parameters passed to the pmpro_confirmation_url filter. #117 (@mircobabini) = 1.0.1 - 2024-06-08 = * BUG FIX: Fixing broken SQL query. = 1.0 - 2024-06-03 = * ENHANCEMENT: When using PMPro v3.0+, recurring orders are now generated based on information in the PMPro Subscriptions table. * ENHANCEMENT: When using PMPro v3.0.3+, checkouts using the Check gateway are now processed once the payment is received instead of assigning the membership immediately. * ENHANCEMENT: Initial payments now respect the "Send Reminder Emails" and "Cancel Membership" after x days level settings. * ENHANCEMENT: Improved default values for the "Send Renewal Emails", "Send Reminder Emails", and "Cancel Membership" after x days level settings. * BUG FIX/ENHANCEMENT: When using PMPro v3.0.3+, Check subscriptions now respect profile start dates set at checkout. * REFACTOR: Organized code into separate files. * DEPRECATED: Removed HTML email templates. Emails should now be customized from the PMPro Email Templates settings page. = 0.12.1 - 2024-03-28 = * BUG FIX: Fixed an issue for sites running PMPro v3.0+ where recurring check orders could be created in pending status when the most recent order for a user wasn't a check order. #115 (@dparker1005) = 0.12 - 2023-12-11 = * FEATURE: Email templates for this Add On can now be edited from the "Memberships" > "Settings" > "Email Templates" settings page. #106 (@MaximilianoRicoTabo) * ENHANCEMENT: Now respecting the "Gateway Name Label" setting in core PMPro v3.0+ for updating "Check" wording. #108 (@MaximilianoRicoTabo) * ENHANCEMENT: Adding compatibility with the PMPro v3.0+ Subscriptions Table by updating the subscription object when a recurring invoice is generated and no longer processing recurring orders for cancelled subscriptions. #110 (@dparker1005) = 0.11.3 - 2023-10-04 = * SECURITY: General improvements and sanitization of the codebase. (@andrewlimaza) * BUG FIX: Fixed an issue where more than one order would be created mistakenly when there were different payment plans for a level. (@andrewlimaza, @dparker1005) * BUG FIX: Fixed an issue with the "Address for Free & Offsite Levels" Add On would not show billing fields. (@JarrydLong) * BUG FIX: Fixed an issue where the `[pmpro_member]` shortcode would throw a warning in certain cases for Pay By Check members. (@JarrydLong) = 0.11.2 - 2023-08-30 = * BUG FIX/ENHANCEMENT: Improved performance when loading the checkout page for a "check only" level to avoid issue where some sites could run out of PHP memory. #99 (@dparker1005) * BUG FIX: Fixed PHP warnings that could occur when the user is logged out. #98 (@dparker1005) * REFACTOR: Deprecating the function `pmpropbc_pmpro_get_gateway()` as a part of the performance improvements. #99 (@dparker1005) = 0.11.1 - 2023-08-14 = * ENHANCEMENT: Updating `