Allocate money from Donor to student
You can use soft credit section of the contribution form...
Create a contribution for donor but under soft credit section include student contact
Ref: https://docs.civicrm.org/user/en/latest/contributions/soft-credits/
If you need more than 10 soft credit record for payment than implement preprocess hook via civicrm extension or wp plugin to add the number of count, something like
function modulename_civicrm_preProcess($formName, &amp;$form) {
  if ($formName == 'CRM_Contribute_Form_Contribution') {
    $form-&gt;setVar('_softCreditItemCount', 100);
  }

}

or install the extension in civicrm and add below line in end of civicrm.settings.php file
$civicrm_setting['CiviCRM Preferences']['contributionsoftcredit_limit'] = 100;