Hi,
I currently have an ecommerce shopping site using Authorize.Net with AIM. Using AIM with an ecommerce site is simple because I just "authorize" and then "settle/capture" the amount when the item ships.
However; I'm working on a new site which involves recurring monthly/yearly membership fees as well as still using an order type checkout process like an ecommerce shopping site. The ecommerce checkout proces would be simple because I can just use the same AIM type method to process orders that I currently use on my live ecommerce site.
But I'm at a loss, on what the best method would be to process the recurring monthly/yearly membership fees.
One method I was thinking of using, but don't know if it makes sense, is when the customer signs up for an account that would be the "billing date" I will use for the next payment due. For example, at the time of signup I would charge a "one-time setup fee" along with the "1st month payment". So if the customer signed up on 2/15/12, in the admin part of my site under a "Recurring Payments" page I create; I would list all recurring payments with the "amount due" and the "next bill date". So when 3/15/12 comes around I was thinking I could use a "cron job" that runs daily on my site to send and charge any payments that are due on 3/15/12 to Authorize.Net using AIM.
Would this make any sense at all to use this method? Or would I be able to handle this process better using ARB?
I never used ARB so I'm not sure how or where I would fit using ARB into my website to handle recurring payments. Would I still need to create a "Recurring Payments" page in admin like I described above?
Thank you,
olimits7
02-16-2012 08:32 PM - edited 02-16-2012 08:34 PM
Isn't that a repeat of your previous question?
02-21-2012 08:10 PM
Yes, sorry...I didn't realize before that your "Correct." response was towards this question I asked.
02-21-2012 08:32 PM
I'm using the CIM, storing a future billing date in our database, then I setup a cron job to bill someone when that date is smaller then current date..
I store customerprofileID and customerbillingID that is created by the CIM, then i just post a customertransaction for amounts every month..
easy to figure out a month after they signed up using:
function renewDate($start_date = FALSE) { if ($start_date) { $now = $start_date; // Use supplied start date. } else { $now = time(); // Use current time. } // Get the current month (as integer). $current_month = date('n', $now); // If the we're in Dec (12), set current month to Jan (1), add 1 to year. if ($current_month == 12) { $next_month = 1; $plus_one_month = mktime(0, 0, 0, 1, date('d', $now), date('Y', $now) + 1); } // Otherwise, add a month to the next month and calculate the date. else { $next_month = $current_month + 1; $plus_one_month = mktime(0, 0, 0, date('m', $now) + 1, date('d', $now), date('Y', $now)); } $i = 1; // Go back a day at a time until we get the last day next month. while (date('n', $plus_one_month) != $next_month) { $plus_one_month = mktime(0, 0, 0, date('m', $now) + 1, date('d', $now) - $i, date('Y', $now)); $i++; } return $plus_one_month; }
If you need more code or details on how I do all this let me know.
02-22-2012 01:25 PM