Giter VIP home page Giter VIP logo

pmpro-recurring-emails's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pmpro-recurring-emails's Issues

Billing Amount variable returning $0 in recurring reminder email

When !!billing_amount!! is added to the recurring reminder email, it's returning $0. Reports from users is this was working before December 2022.

Varialbe should be available in this email. (see line 190)
"billing_amount" => pmpro_formatPrice( $euser->membership_level->billing_amount ),

Have recreated on live site: The sample had the same initial and recurring payment amount.

reminder-template

reminder-email2

BUG: Trials not considered when determining days until expiry

Steps to re-create:

  1. Install Recurring Emails add-on and optionally auto-renewal checkbox
  2. Check out for a one-payment membership with an expiration date
  3. Before that membership expires, check out for the level again with a recurring payment (either by editing the level or via auto-renewal checkbox). This should grant the user a trial period equal to the days remaining until the expiration date of the original one-payment membership. Ex, if they had 10 days left in membership and the recurring membership had a payment every 30 days, their first recurring payment would be in 40 days.
  4. Wait until 17 days before the recurring payment (7 days before the original expiration date), and the user will receive an email saying that their recurring payment will be charged in 7 days. The expected behavior would be for the user to be notified 7 days before the date of the recurring payment, 10 days after they actually are notified.

Code that determines orders with x days left before the next recurring payment is here:

CASE mu.cycle_period
WHEN 'Day' THEN ('%s' - INTERVAL mu.cycle_number DAY + INTERVAL %d DAY)
WHEN 'Week' THEN ('%s' - INTERVAL mu.cycle_number WEEK + INTERVAL %d DAY)
WHEN 'Month' THEN ('%s' - INTERVAL mu.cycle_number MONTH + INTERVAL %d DAY)
WHEN 'Year' THEN ('%s' - INTERVAL mu.cycle_number YEAR + INTERVAL %d DAY)
END

Needs thought to figure out the best way to resolve this issue.

See ticket here (admins only): https://www.paidmembershipspro.com/forums/topic/auto-renew-membership-periods-sometimes-off-by-a-few-days-weeks/

Email sent every day during 7 days

After checking to my email logs, the email is not send 7 days before the payment, but every day during 7 days. It impacts the cancellation decision in the mind of the customer.

BUG: Billing information referencing last order causing data mismatch

If a user changes their billing information and then receives a recurring email reminder, 'old' details are shown still. This causes confusion to members that recently updated their billing information.

As per the Update Billing page, the Recurring Reminder Emails should rather grab it from user meta instead to keep it in sync - https://github.com/strangerstudios/pmpro-recurring-emails/blob/dev/pmpro-recurring-emails.php#L210-L223

Code reference: https://github.com/strangerstudios/pmpro-recurring-emails/blob/dev/pmpro-recurring-emails.php#L210-L223 (might be outdated if commits are done after this issue).

Notifications sent to memberships that already renewed

I activated this on a production site and it sent out its first round of notifications this morning. Almost everything worked fine, except it sent emails to two members whose subscriptions had already been automatically re-billed yesterday. Funnily, the message got the !!renewaldate!! variable correct, so it sent them warnings that they're memberships will renew in July 2017. Seems like maybe the DB query grabbed them based on the previous rebill date but didn't filter them out with the latest renewal?

The only modification I made to the plugin was to add a 30-day notification to the default 7-day.

Thanks for all the great work you do with PM Pro!

Compatibility with Billing Limits

Recurring reminder emails can be sent after the billing limit for a membership has been reached. There should be a check for if a user's level has billing limits and whether the user has completed those payments before the email is sent.

MMPU Compatibility

When sending a recurring payment email reminder, PMPro populates the email based on the first active membership level that the user has. This is a result of using the pmpro_getMembershipLevelForUser() function here:

$euser->membership_level = pmpro_getMembershipLevelForUser( $euser->ID );

In order to fix this, we need to ensure that the membership level information that we grab is the membership level that is actually renewing soon.

Emails not sending

I am unable to get emails from this add-on, all other emails from PMPro send.

I am working through figuring this out, just thought I'd post it here in case someone has an idea.

Recurring notification has renewal date of January 1, 1970

I am using the "Recurring Emails Add On" at mnsongwriters.org. I have a ticket going with PMPro Support. I am a Plus member. My support person has been of little help so far in ferreting out the code bug that results in showing a renewal date of January 1, 1970 in the recurring email notification. Here is a typical "live" message as received by a member:

“This is just a reminder that your Auto-Renewing Subscription $50/year membership will automatically renew on January 1, 1970.”

The variable !!enddate!! is used in the template “Membership level recurring payment”.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.