Fix: Subscription creation failed with monthly memberships if next month has fewer days than this month.
Improvement: Update Stripe and Braintree gateways to "soft fail" after all essential actions have been taken. For example: if initial payment is successful but setting up the subscription fails, then registration is still deemed "successful" (whereas previously it would have been marked as a failure). In this case, membership is still activated but auto renew is disabled and a note is added to indicate the subscription creation failure.
Improvement: Add help next next to email reminders to clarify the difference between Expiration & Renewal reminders.
Fix: Convert stripe_checkout gateway to stripe in membership records.
Fix: RCP_Membership::enable() not enabling the membership. This caused a problem where memberships were not getting assigned when someone attempted to register, had their card declined, then tried again successfully.
Improvement: Add $discounts and $fees method arguments to rcp_registration_get_total filter.
Fix: Incorrect calculation in expiration date when accounting for walking dates used by PayPal. This could have caused some memberships in RCP to expire a day or two before the PayPal renewal charge went through.
Fix: Ensure we never pass a 0 user_id to our rcp_user_has_{status}_membership filters. Instead a 0 user_id is converted to the current user ID, which was the intention.
Fix: Protect against fatal errors in Memberships admin UI if you somehow have a membership record associated with a since-deleted customer / user.
Fix: Adjust parameters on email reminder query to set inclusive to true. This fixes a problem where memberships that expired at certain times may not have been included.
Fix: Use existing hidden field for registration payment ID instead of appending a new field to the form.
Fix: Braintree - do not send threeDSecure.amount parameter if 3D secure is not enabled on the account. This fixes registration issues with Braintree accounts that do not have 3D secure enabled.
Fix: Payment subtotal incorrectly set to 0 when adding a payment via Restrict > Payments > Add New.
Fix: Check for required fields in rcp_add_customer() function to prevent PHP notices when those fields are not included.
Fix: Enabling payment plans on a level that already has memberships that were created without a payment plan causes those memberships to complete the payment plan earlier than they should. With this fix, existing memberships will continue to be treated as if they do not have a payment plan at all.