Hi neoconcepts. I see you have already successfully done a project almost exactly what I am looking for. I have used the original projects outline and added in a little more detail.
X-Cart customization: Subscription payments based on initial pay date without any setup fee.
I use X-Cart automatic pay_subscription script for recurring billing on my website www.physioshop.co.uk. By default for monthly, weekly, anually subscription types it sets the charge on 1st of each month/week/yr regardless of initial pay date.
But I do not want to set specific date for recurring billing, only type of subscription. And script should check if there are some customers to charge today based on initial pay date. E.g.
If it is weekly - then payment dates are once a week from the initial payment date
If it is monthly - then the payment dates are once a month from the initial payment date
If it is Yearly - then the payment date is once a year from the initial payment date
I'm selling subscriptions to my customers on my website [url removed, login to view] using X-Cart. My current gateway is Protx. The recurring billing date can only be set to 1st of each month for all customers using X-Cart Subscription Module.
I want different dates for each customer, based on their initial subscription purchase date and the subscription type.
Currently, X-Cart's native Subscription Module initially only charges my customers a fractional amount based on number of remaining days this month (plus one-time setup fee if I set it). It will then charge them monthly rate on the 1st of each following month. I do not wish to use prorate rates at all and I want to be able to do away with the setup fee as well (if I choose) e.g. set it to zero which would not display it at the product level at all of the cart.
If you visit my website and add a subscription based product (e.g. magazine subscription) to your shopping cart, you will see “Days remain up to end of period” and an amount right below this line which is calculated based on remaining number of days.
What I'd like to do is to charge my subscribers one month fee at the time their orders are placed (plus one-time setup fee if applicable). Then they will be charged monthly rate based on initial pay date.
The other element to the subscription amount is the shipping and tax amounts. Currently the subscription model does not cope with recharging the shipping component. I am not sure about the tax but if applicable in the sale the amount in the database for recharging each week,month, year should include taxes and shipping. It would be preferrable to choose if this is applicable to be charged on and on-going basis at the setup of the subscription product in the first instance.
For clarity, I'll describe this project with examples below.
Scenario 1: Suppose Customer Adam placed his subscription order on October 12th, I’d like to charge him initially for $[url removed, login to view] setup fee plus $[url removed, login to view] first month rate ($[url removed, login to view] total). I’d like to continue charging him $[url removed, login to view] on the 12th of every month thereafter until he cancels.
Scenario 2: Suppose Customer Brian placed his subscription order on October 20th, I’d like to charge him initially for $[url removed, login to view] setup fee plus $[url removed, login to view] first month rate ($[url removed, login to view] total). I’d like to continue charging him $[url removed, login to view] on the 20th of every month thereafter until he cancels.
Scenario 3: Suppose Customer Brian placed his subscription order on October 20th, I’d like set the setup charge to zero so there isn't one and and therefore only charge him a monthly rate of $[url removed, login to view] plus shipping $6 plus all applicable taxes on the 20th of each month thereafter.
SPECIAL CASE Scenario 3: Suppose Customer Charles placed his subscription order on January 31st, I’d like to charge him initially for $[url removed, login to view] setup fee plus $[url removed, login to view] first month rate ($[url removed, login to view] total). The next bill date would be February 28th or 29th since there are no more than 28 or 29 days in February. Future bill date will be based on original bill date if available; otherwise, set bill date to the last available date of a month.
SPECIAL CASE Scenario 4: Suppose my web server or website is down for 2 days in a row, thus I could not run the subscription script. When I run subscription script the next time after my website is up again, I’d like the script to check and find all the customers that should have been charged during those 2-day downtime (or better yet, since last time the script was run), and charge them accordingly.
Admin issues: I would like to be able to continue to look in the subscriptions section of the admin and click on the billing date and update/edit it if required.
I would also like a button that tells me the number of subscriptions due for renewal in the current week/month/year and the dollar value associated with each.
I submitted this custom modification project to X-Cart Custom Development team and requested a quote. The quote was $150.00. But the start date is 22 – 24 working days from today, and about 5 working days to complete this project.
I’m posting this project here in hope that someone can start and complete this project much sooner than what X-cart quoted me. I’m willing to pay up to $[url removed, login to view] for this project.
This project requires knowledge in PHP and familiarity in X-Cart. Feel free to PM me if you have any questions. Thanks!