On Payments page for an order (eg admin/commerce/orders/29/payments) doing a Receive for a smaller amount that the displayed total changes status to Completed and only shows a Refund button, so I guess partial payments needs supporting.
This would include showing outstanding balance to pay.
Comments
Comment #2
jons commentedComment #3
bradjones1Partial payments can be applied; this is probably also linked at least in spirit to #2912996: Support admin order payments for admin payments.
I'm going to mark this as needs more info, though, because at least in theory Commerce allows for partial payments, and there is now an API for retrieving the order balance. So, your use case may need to get fleshed out a bit more.
Comment #4
mvonfrie commentedI don't know what @jons' use case is, but I can tell you my use case regarding a travel booking system:
Customers have to pay X% deposit (e. g. 10%) on booking (only if the booking takes place more than Y days before begin of the trip) and the remaining payment latest Z days before arrival. How can I implement this kind of payment splitting?
In addition, there is a discussion about this topic #2847378: Document how a gateway can implement multiple captures.
Comment #5
mvonfrie commentedComment #6
bradjones1You can definitely support that with some custom code however there is no out-of-the-box setting for partial payment up front. We do something like this with Big Island Fish by altering the payment during creation/gateway transaction.
I'm re-titling to better reflect your feature request.
Comment #7
mglamanAlso, I wonder if part of this requires us to review / do house keeping on older code that existed before we supported methods for getting the balance of an order and the amount paid:
Comment #8
nno commented@mvonfrie
You can do this by setting "Transaction mode" in Checkout flow to "Authorize only", then capture Deposit in commerce_order.place.post_transition EventSubscriber.
Something like this
Similarly you can capture balance later in another state transition.