partial_payment functionality working