Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

It is time to refund for echeck (business checking).

  • Loading branch information...
commit be09f12192d69cbdf73927208da2c2db16287f21 1 parent 2532baa
ethem authored
Showing with 24 additions and 3 deletions.
  1. +6 −3 enrol/authorize/locallib.php
  2. +18 −0 enrol/authorize/uploadcsv.php
View
9 enrol/authorize/locallib.php
@@ -335,7 +335,8 @@ function authorize_print_order_details($orderno)
else {
$extra->amount = $amount;
$message = '';
- if (AN_APPROVED == authorize_action($order, $message, $extra, AN_ACTION_CREDIT)) {
+ $success = authorize_action($order, $message, $extra, AN_ACTION_CREDIT);
+ if (AN_APPROVED == $success || AN_REVIEW == $success) {
if (empty($CFG->an_test)) {
if (empty($extra->id)) {
$table->data[] = array("<b><font color=red>$strs->error:</font></b>", 'insert record error');
@@ -593,8 +594,10 @@ function authorize_get_status_action($order)
case AN_STATUS_AUTHCAPTURE:
if (authorize_settled($order)) {
- if ($order->paymentmethod == AN_METHOD_CC && $canmanage) {
- $ret->actions = array(ORDER_REFUND);
+ if ($canmanage) {
+ if (($order->paymentmethod == AN_METHOD_CC) || ($order->paymentmethod == AN_METHOD_ECHECK && !empty($order->refundinfo))) {
+ $ret->actions = array(ORDER_REFUND);
+ }
}
$ret->status = 'settled';
}
View
18 enrol/authorize/uploadcsv.php
@@ -111,6 +111,7 @@ function authorize_process_csv($filename)
$transid = $data[$csvfields['Transaction ID']];
$transtype = $data[$csvfields['Transaction Type']];
$transstatus = $data[$csvfields['Transaction Status']];
+ $reftransid = $data[$csvfields['Reference Transaction ID']];
$settlementdate = strtotime($data[$csvfields['Settlement Date/Time']]);
if ($transstatus == 'Approved Review' || $transstatus == 'Review Failed') {
@@ -122,6 +123,23 @@ function authorize_process_csv($filename)
continue;
}
+ if (!empty($reftransid) && $transstatus == 'Settled Successfully' && $transtype == 'Credit') {
+ if ($refund = get_record('enrol_authorize_refunds', 'transid', $reftransid)) {
+ $order = get_record('enrol_authorize', 'id', $refund->orderid);
+ if (AN_METHOD_ECHECK == $order->paymentmethod) {
+ $refund->status = AN_STATUS_CREDIT;
+ $refund->settletime = $settlementdate;
+ update_record('enrol_authorize_refunds', $refund);
+ $updated++;
+ }
+ }
+ else {
+ $ignored++;
+ $ignoredlines .= $reftransid . ": Not our business, in refunds\n";
+ continue;
+ }
+ }
+
if (! ($transstatus == 'Settled Successfully' && $transtype == 'Authorization w/ Auto Capture')) {
$ignored++;
$ignoredlines .= $transid . ": Not settled\n";
Please sign in to comment.
Something went wrong with that request. Please try again.