(Sorry if this is a bit disjointed - assembling a few emails here)
Here is the use case:
Interaction A:
1. User finds product and goes to purchase it. There are two options, either pay full price, or pay "down payment" of $150 (or X).
2. User can add other products with or without down-payments for those as well.
3. User checks out and pays (via PayPal Pro integration).
Interaction B:
1. X days before the product (camp event) an automated email is sent to users who did a down-payment which includes a link back to the site.
2. User clicks the link and sees remaining balance, then enters payment information and finishes paying.
Alternate Ending:
1. User mails in check / credit card over phone and staff need to go in and note order as fully paid.
Let me walk through it one more time here:
A. User wants to purchase for product (in these cases, register for a camp).
B. At the bottom of the product (camp) page, there is a drop-down with two options "Pay in Full" or "Down Payment ($150)".
C. User selects "Down Payment ($150)" and clicks "Register".
D. Optionally, user chooses additional products or attributes of that product.
E. User proceeds to checkout as usual.
F. On a designated date, an automated email is sent to users who have orders with the Down Payment option.
G. The email contains a link to pay the remainder.
H. When the user clicks the link they are taken to a page that is basically the "Checkout" page of the shopping cart.
I. There they enter payment information and finish checkout.
Details:
- The down payment amount should be able to be a percentage or a specific number. Ideally, on the module configuration page a default percentage or number could be entered (ie for one client it will always be $150, for another it will always be 50%).
- Almost always, users will just sign up for one camp during registration. However, a user could theoretically sign up for two. Consequently, the "Pay Remainder" email should be product specific, not order specific and a separate email should be sent within X days of the other camp they registered for.
- Somehow (this is the fun part
this needs to tie-in with Ubercart Reports because the clients will need to track who has paid what.
- The client should be able to go in and enter checks received with the remainder (or down payment) for an item (this is already built-in to Ubercart, isn't it?)
I'd like to focus on having this fit my client's needs, and then later the community can broaden it out for other use cases if desired.
I'm thinking it might be best to just hook into the Ubercart checkout process again for the second interaction? Thoughts?
I have worked with uc_recurring in the past and tried to hijack it for this sort of purpose - it works, but is a hack. The main showstopper I see with it though is that I can't guarantee users will always pay with the same method. For all I know they might even just mail in a check.
Need the start this ASAP (shocking, eh?
The sooner we can get started the better. Let me know what else you need to know! I'll be using Unfuddle for project tracking, tickets, and SVN for this one.
BTW, some threads I came across on the site that relate:
http://www.ubercart.org/forum/development/5635/partial_payments_or_payme...
http://www.ubercart.org/forum/module_support/13366/adding_partial_paymen...
http://www.ubercart.org/forum/support/8360/create_manual_order_full_paym...
If someone can get me a quote and timeframe plus previous experience that would be wonderful!
