$payi->reduceAmount($payi->getBalance());*/ } elseif ($amount_return > 0) { $payi->finesCanceledAmount($amount_return / 100); } } else { //sequencenumber received = sequencenumber submitted if ($payi->detail['invoice_complete_status'] == 'F' || $payi->detail['invoice_complete_status'] == 'A' || $payi->detail['invoice_complete_status'] == 'U' || $payi->detail['invoice_complete_status'] == 'P' || $payi->detail['invoice_complete_status'] == 'D' || $payi->detail['invoice_complete_status'] == '1') { /* Handling debit response which debit transactions triggered by payone-return-sender.php which are: * 1) Overpayment (last status = F) * 2) Closing small amount payment (last status = A or U) * 3) Return process (last status = F, P, D, 1) */ if ($amount_return < 0) { $payi->overPaymentAmount($amount_return / 100); } else { $payi->debitAmount($amount_return / 100); } } } //UPDATE INVOICE STATUS if ($request['balance'] <= 0) { if ($request['balance'] == 0) { if ($payi->detail['invoice_complete_status'] == 'F') { //set as refund processed for refund $status = 'D'; } elseif ($payi->detail['invoice_complete_status'] == 'A' || $payi->detail['invoice_complete_status'] == 'B') { //if user not paid yet or this is before process is captured submitted "B" then returned all products, set as invoice cancelled $status = '3'; } else { //set as paid for non-refund $status = 'P';
} } elseif ($class_pi->detail['invoice_order_type'] == 'S') { //CLOSED RETURN (REMOVE FROM Return List on SP Orders Management on Tab "Cancel & Return") //if(count($rid_arr)>0) { // foreach($rid_arr as $return_id) if($return_id>0) $class_jo->returnItemUpdate($return_id, 'confirm_return', '1'); //} //Don't do this, the returns in SP Orders Management will be removed when the returns are reported to SP //By doing this here we prevent the returns to be reported to our SP which is very important } $class_payone->payoneReturnItemHistory($return_hist); if ($return_hist['amount_return_submitted'] == 0) { //REFUND >> $returns['amount_return'] is negative //$class_pi->overPaymentAmount($return_hist['amount_return']/100); $class_pi->overPaymentAmount($amount_return_total / 100); } else { $class_pi->debitAmount($request['amount'] / 100 * -1); //$request['amount'] = round($return_hist['amount_return_submitted']); $last_balance = $class_pi->getBalance(); if ($last_balance < 0) { $class_pi->overPaymentAmount($last_balance); $class_pi->updateCompleteStatus('F'); //F = REFUND SUBMITTED } } } else { $failed[] = $return_id; } } } else { // $counter_is_refund++; $counter_is_refund[] = $request['txid'];