The title says it all. I sell relatively expensive products which cannot be delivered until about two months after the order. So, I can only receive a deposit of, say, 30% of the total when the order is placed and receive the rest when the goods are despatched. Can this be done with Paypal ?
Yes, this could be the answer. I am thinking of using the basic Business account + IPN + payments by email. This would allow me to *grab* 30% when the goods are ordered and then ask the customer to settle the rest when the goods are ready. At the moment, on my (not Zen Cart) site, I use the French banks system which allows me to debit my clients although I don't see their credit card details. This is ok in that I can initiate the debit myself but its a (major) pain to set up.
I've looked eveywhere for this and there doesn't appear to be a simple solution. I'm currently looking at Paypal as the payment method. It appears to work well. However, I only want to send to Paypal 30% of the amount of the order when the total amount of the order exceeds €200. This is what I have on my existing - Interakt - site and this was achieved by modifying the PHP code in the checkout payment method page. The code was/is :
I've looked everywhere for this and apparently it doesn't exist in Zen Cart : all I want is to be able to bill clients who order on my site 30% of the order total. So Paypal receives a debit for 30% and the remaining 70% I ask the customer to pay by email within Paypal's site. I cannot by law bill my clients 100% of the amount due. This appears to be so simple I wonder why it doesn't already exist !
If *ALL* you want to do to Zen Cart is have it collect *ONLY* 30% of the order total, you can make a similar code-edit in your PayPal module as you did in your other module.
That will cause Zen Cart to only ask PayPal for the single 30% payment.
It will not ever collect the remaining 70%.
It will likely throw your order details off kilter though.
And will prevent IPNs from working properly, since the transaction amount will never match the order amount.
You could instead hire someone to write a discount order-total module that discounts 70% off the order amount, and describes the discount as "To Be Paid Later", and then sends the remaining amount to be paid immediately via PayPal.
I'll have a look at the invoice module and see whether that could de the trick. I'll have to have another look at the Paypal module to see where I can limit the initial payment to 30%. I couldn't see it when I first looked (and I'm not at the office today). Zen Cart Admin doesn't have to manage the rest of the payments - my existing site doesn't either - and, unless I've not understood, I can use Paypal's email payment facility to ask the customer to pay the remaining 70% when the goods are ready to be despatched.
Oh boy, I've been looking through paypal_functions.php (which I presume is the file to amend) and there are hundreds of lines of code in there ! Could some kind soul tell me where I have to insert the ">200" and "0.30" to limit the initial payment to 30% of orders exceeding 200 Euros ? What a headache !
I would strongly recommend against going this route. You will have to hand-port these customizations to every new version of the Paypal Payment module.
You're probably right but the fact is, I cannot debit my clients 100% of an order when the goods won't be ready for delivery for 2 months. I'm trying to find out what can be done with Paypal with its standard website payments solution. I don't suppose your instalment module would work with Paypal ?
Sorry, I didn't mean to suggest that what you're trying to do is bad, I'm suggesting that modding the Paypal payment method is bad. You should modify the Invoice or perhaps Installment payment methods instead. (Installment would work with some modification if you get a merchant account.)
You could instead hire someone to write a discount order-total module that discounts 70% off the order amount, and describes the discount as "To Be Paid Later", and then sends the remaining amount to be paid immediately via PayPal.
I still think this would be the least painful and most efficient approach.