There would never be an instance when this product is added to the same cart as another product. Let me try to explain.
Our customers are able to add products to their cart as normal and check out. The products are physical goods, i.e., wedding bouquets and various types of artificial flowers. When they get to the checkout, they are presented with payment options as normal; PayPal, Nochex, Google Checkout, or 'Pay by Instalments'. This is exactly how it should be.
A lot of our customers have wedding dates well in advance as they like to plan their wedding. So, a big percentage of our sales are payment plans and the customer chooses the 'Pay by Instalments' payment method. Doing so will earn them a 20% deposit invoice. At this point they're booked into our calendar for shipping on a specific date that suits them.
In the time between purchase and shipping, they are able to pay for their order in amounts that suits them. A little at a time, or the remaining balance towards their date. It's up to them.
Up until now, I've been manually invoicing them when they wish to pay something towards their flowers. However, with a little help from 'Kobra', I've been able to implement a rather handy custom product:
http://www.silkblooms.co.uk/index.php?main_page=product_info&products_id=1652
If you look at it, you'll see that it lets the customer enter an amount in GBP and check out. When the 'order' comes through, we'll deduct it from their balance.
I've added a 'Pay an Instalment' button in their account pages too, so they can just click that and they're taken to the custom product above.
This product is completely hidden from other site users as it's in a hidden category. So, no one will add it to their cart. This product is there purely so customers can pay an instlament.
So, perferct. Until they get to the checkout page and find themselves presented with payment options again. When you're paying an instlament, you really shouldn't have another option to 'Pay by Instalments'. This shouldn't be an option.
The logic would be either:
if (cart weight = 0kg) then don't show 'pay by instalments'
OR
if (product in cart = product ID 1652) then don't show 'pay by instalments'
Would this be possible?