9 replies [Last post]
modmaker's picture
Offline
Joined: 10/08/2009
Juice: 9
Was this information Helpful?

Hello,
I am trying to create a module for ubercart that will allow partial payments, a kind of, booking a product/ service. Presently with ubercart, one is required to pay the full amount to buy a product or service. There is a recurring fee module but that is not what I am after. In my scenario where the product or service is costing more than 10000USD, customers may prefer to pay a partial amount as booking and pay the rest in person.

Approach:
--------------
The way I am trying to achieve this by a custom module for ubercart which will allow the admin to enter two prices. One is the full product price (already in ubercart) and another one new price box (created by the custom module) that stores the partial payment (booking price) in a new database table. So far I have managed to get an additional button "Make partial payment" on each product besides add to cart button. I have used a form_alter hook in 'add to cart form' to modify the submit handler of add to cart form so that I can detect which button is clicked. ("add to cart" or "make partial payment").

The problem:
------------------

The problem I am facing is that I cannot add the products to the cart with partial payments. When I call the function Uc_add_to_cart, it reads the original product price (sell price ) and i dont find a way to change the value to my partial payment value.

I tried using sessions and tried an "if" clause in hook_nodeapi to check if the price to be loaded is sell price or partial price. But the idea is bit clumsy and does not work out well.

I am looking for:
----------------------

I am looking for a solution which enables me to set the sell price of the product dynamically in node load so that I can add the product to cart with partial amount. If there is any other solution for the same, I am willing to try that.

Thanks in advance for your help.

RSTaylor's picture
Offline
Joined: 04/02/2008
Juice: 99
Re: Adding partial payment functionality in ubercart module

UC Variable Price allows the customer to enter the price when adding an item to the cart:
http://drupal.org/project/uc_varprice

That is not quite the same as having an admin specify what the partial price down payment required is, but may help give you some ideas on how to change it by hooking into a combination of hook_add_to_cart_data() and hook_add_to_cart(). (Or maybe you could use it as-is and just set the product's minimum price to the partial price that you need.)

The one possible problem that I see with this approach is that the price set when adding an item to the cart is what will be on the order. That is, if you have a $10,000 product with a partial price of $2,000, so you add the item to the cart as a $2,000 item, the order will have a $2,000 total. I would expect that you'd still want a $10,000 total, but only want to charge $2,000 on checkout, leaving an order with an $8,000 balance and some sort of 'partial payment received' status. Not quite sure how best to approach that.

Flex's picture
Offline
Joined: 09/20/2009
Juice: 2
Re: Adding partial payment functionality in ubercart module

I am new to drupal and ubercart, so I cannot offer much in the way of support yet; but this is just the sort of thing I am looking for, and would love to know if you work a solution.

I would be happy to contribute through testing if I could be of help there.

Thanks
Flex

GearedDesign's picture
Offline
Joined: 10/18/2009
Juice: 33
Has anyone discovered this solution?

I need to be able to allow customers to choose a service to book and then allow them to pay a $50 deposit on it. The rest would be paid when the service was rendered. I've been looking for days for a solution. Looks like the are others with similar issues.

valdesma's picture
Offline
Joined: 11/27/2009
Juice: 14
did you find a solution to your problem?

I have the same need.

I need to be able to accept a partial payment, then the rest of the money should be collected later in person

tarre's picture
Offline
Joined: 11/12/2009
Juice: 14
workaround!!

Hi!

i've workaround with a very similar problem.

We have a product that you can fully pay (let's say the total), you can leave a signal (let's say signal), and also you can pay "the rest".

of course, if you pay the total you don't have to pay anything else.
if you pay the signal, then you'll have to pay the rest in the future.

total = signal + rest

so we have added a _three_options_attribute, with this three paymente amounts: total, signal and rest.

our customers can choose if they want to pay it all, leave the signal, or pay the rest, as Options for this products.

with this workaround there is no "human failure check".
our customers can pay twice a signal, or something like this... no automatic consistency check

but at least, we offer some ability like you were looking for (i think).

luck!

kafmil's picture
Offline
Joined: 02/25/2010
Juice: 26
Partial Payment or deposit

Did you or anyone else out there develop or find a module to do this? There seem to be a number of people wanting this functionality, if anyone finds something please post it in one (or several) of the numerous threads out there on this topic.
TIA

sipy's picture
Offline
Joined: 05/04/2010
Juice: 42
Re: Partial Payment or deposit

I am looking for similar functionality as well. Options i would like to give my customers are
- Pay full price
- Pay deposit
- Pay Rest.

Or pay later in person....

I guess this would be rather easy to implement with attributes as described above, but that would be just workaround. It would be way better to have a module that will do the checking and will update the status as well. So you can see that who owns and how much.

sipy's picture
Offline
Joined: 05/04/2010
Juice: 42
Re: Adding partial payment functionality in ubercart module

I have similar needs. I don't really want to use attributes for this because then it wont show how much total price is going to be. and how much customer will be owning.

Covenant Web Design's picture
Offline
Joined: 01/09/2009
Juice: 132
Developed!

We posted a while back (http://www.ubercart.org/forum/bounties/15764/1000_partial_payment_module) to have this developed and have had it live in production for a while now and working with no problems.

Just had someone get in touch about buying it. Our total development cost was just over $1,400 USD. Not sure if other people still need it - would be glad to put it out there, but would like to recoup some of the dev cost. We've got one person who is willing to do $300, so if we have a few more I'd love to polish it up and release it!

Joshua

Joshua Stewardson
Client Consultant
Covenant Web Design