$return_hist['amount_return'] = $amount_return; $return_hist['amount_cancel'] = round($payi->detail['invoice_amount_cancel']*100); $return_hist['payment_method'] = 'null'; $return_hist['status'] = 1; $return_hist['submitted_date'] = date('Y-m-d H:i:s'); $class_payone->payoneReturnItemHistory($return_hist); */ if ($amount_return < 0) { $payi->finesAmount($amount_return / 100 * -1); } elseif ($amount_return == 0) { $payi->reduceAmount($payi->getBalance()); /*line below already included with above condition and action is also the same } elseif ($amount_return == 0 && $request['clearingtype'] != 'vor') { $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); } }
if (is_array($response)) { if ($response['status'] == 'APPROVED') { $class_pi->saveUsedSequenceNumber($nextsequencenumber); if ($invoice_complete_status == 'A') { $successA[] = $invoice_id; } else { $successU[] = $invoice_id; } $return_hist['status'] = 1; $return_hist['submitted_date'] = $process_time; $class_payone->payoneReturnItemHistory($return_hist); /* We still need to do reduceAmount and finesCanceledAmount here, * this needed to exactly know its caused by the closed small payment process. */ $class_pi->reduceAmount(($amount_small_returned - $amount_fines) / 100); $class_pi->finesCanceledAmount(($amount_fines - $amount_fines_canceled) / 100); } else { if ($invoice_complete_status == 'A') { $failedA[] = $invoice_id; } else { $failedU[] = $invoice_id; } } } } } else { $counter_returns_no_txid++; } } echo "\nTotal Small Amount Return : {$counter_small_amount} \n"; if ($counter_returns_no_txid > 0) {