latest stable versions: v141007 (changelog)

Old Forums (READ-ONLY): The community now lives at WordPress.org. If you have an s2Member® Pro question, please use our new Support System.

1 month recurring billing instead of 30 days

Home Forums Community Forum 1 month recurring billing instead of 30 days

This topic contains 6 replies, has 4 voices. Last updated by  Jason (Lead Developer) 1 year, 10 months ago.

Topic Author Topic
Posted: Tuesday Oct 16th, 2012 at 4:37 pm #28589
Peter Hall
Username: summitss

Hello,

I am using Authnet Pro Forms. I have new users posted into my membership with a trial period. I use the upgrade Pro Form to allow people to pay for continued access on a one month recurring basis.

I have two problems:

1. I want the billing to actually be 1 month. However, it appears that members are billed on day earlier every month. I don’t know if this is due to signing up in a 31 day month or if there is some other issue. We’ve had numerous complains from members that they keep getting billed a day earlier every month. Has anyone else noted this and how can I solve it?

2. When members are posted in, they get an EOT time X days from signup. If they upgrade before X days are up, they are still billed the day of the upgrade. How can I prevent this so they get the entire X days and then are billed?

Thanks

List Of Topic Replies

Viewing 6 replies - 1 through 6 (of 6 total)
Author Replies
Author Replies
Posted: Wednesday Oct 17th, 2012 at 8:44 am #28674
Staff Member

Hi Peter.

1. I want the billing to actually be 1 month. However, it appears that members are billed on day earlier every month. I don’t know if this is due to signing up in a 31 day month or if there is some other issue. We’ve had numerous complains from members that they keep getting billed a day earlier every month. Has anyone else noted this and how can I solve it?

This would be something you need to ask Authorize.Net. s2Member doesn’t manage the recurring payments, the payment gateway does that.

2. When members are posted in, they get an EOT time X days from signup. If they upgrade before X days are up, they are still billed the day of the upgrade. How can I prevent this so they get the entire X days and then are billed?

You’d need to figure out the days left in their trial and add that to your pro-form as a free initial term to the subscription, so that the first regular payment happens after that. http://www.primothemes.com/forums/viewtopic.php?f=36&t=1604

I hope that helps. :)

Posted: Saturday Oct 27th, 2012 at 4:54 am #29900
Peter Hall
Username: summitss

Hello,

Regarding #2 above:

I have figured out how to “print” the days left in the EOT into the shortcode. For anyone that runs into this in the future, this is what was used and seems to work:

[s2Member-Pro-AuthNet-Form modify="1" level="1" ccaps="" desc="$24.95 USD / Monthly (recurring charge, for ongoing access)" cc="USD" custom="www.domain.com" ta="0" tp="<?php
       if ($days = get_user_option('s2member_auto_eot_time'))
    {
        $days = ceil(($days - time()) / 86400);

        if ($days > 1)
            echo $days ;
    }
?>" tt="D" ra="24.95" rp="1" rt="M" rr="1" rrt="" accept="visa,mastercard" coupon="" accept_coupons="0" default_country_code="US" captcha="0" /]

Regarding #1 above:

I am still left with the issue of days in the month. Authorize.net DOES allow true monthly billing where if I sign up on the 27th of October, I will be billed on the 27th of November, 27th of December, and even the 27th of February and March.

However, S2Member sends 30 days to Authorize.net instead of of true monthly billing. I have just tested this with 1 month recurring and in Authorize.net I see:

Subscription Interval
Payments occur every 30 days.
Subscription Duration
Start Date: 10/30/2012
End Date: No End Date (ongoing subscription)

Is there something wrong with the form or does S2 really send 30 days as the time for a month rather than “1 month”

We manually changed some memberships in Authorize.net directly and they look like this:

Subscription Interval
Payments occur on day 15 of every month.
Subscription Duration
Start Date: 10/15/2012
End Date: No End Date (ongoing subscription)

Please let me know if there is a way to fix this.

Thanks

  • This reply was modified 2 years ago by  Peter Hall.
Posted: Monday Oct 29th, 2012 at 1:39 pm #30040
Raam Dev
Username: Raam
Staff Member

Hi Peter,

I’ll need to consult with the lead developer to get clarification on that and get back to you. Thank you for your patience.

Posted: Friday Nov 2nd, 2012 at 6:45 am #30420
Staff Member

Thanks for the heads up on this thread.

@ Peter Hall

You are correct. s2Member converts all date calculations on the s2Member side of things, into days for it’s integration with Authorize.Net. Therefore, a monthly charge becomes “once every 30 days” according to s2Member Pro. I’m going to have this updated in the next maintenance release, to accomodate true monthly billing as mentioned in the context of this thread. Until then, you may unzip and upload the attached file, allowing it to override your existing copy of /s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php

http://d1v41qemfjie0l.cloudfront.net/s2member/uploads/authnet-utilities.inc_.php_1.zip

Posted: Wednesday Nov 7th, 2012 at 2:19 am #30855
Peter Hall
Username: summitss

Thanks Jason. I was finally able to apply the patch tonight. I will have someone test this tomorrow or when the next person upgrades I will check Authnet and update here with the results.

Posted: Saturday Dec 8th, 2012 at 3:12 am #33963
Staff Member
The patch discussed previously was added to the official release of s2Member Pro v121201+. No need to continue to apply that patch file with the most recent versions of s2Member Pro.
Viewing 6 replies - 1 through 6 (of 6 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WordPress.org. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.