How to pay with site credit in Commerce? I would like to allow users to pay for products with site credit.

A field keeps track of how much credit a user has with us, and if they have enough of it to pay for an order they should have that option. Even better would be if they could dump the last bit of credit onto an order and pay the rest the regular way.

I have a few ideas; I'm just wondering if there's a standard or best practice in this situation. Thanks in advance.

Edit: Some of the ideas:


Using Rules, add a payment method if the user has more credit than the order total. If this payment method is selected, no validation is needed. The user clicks through and credit is deducted.
Add a checkbox to the checkout pane called ~"use site credit". If checked, subtract the user's credit from the price (up to the order total). This has the advantage that a user can pay with credit even if they don't have enough for the whole order, but seems much harder to do.
At the calculate price stage, automatically subtract credit from the order appropriately. Add some notification informing the user that this has been done.


I may update this more as I explore options further
you can use user-points module with Commerce userpoints. they work nice togather.