コード例 #1
0
function transaction_customer_cancel($trans)
{
    $id = $trans['transactionId'];
    $userid = $trans['userId'];
    $trans = new transaction_class(false);
    $trans->pull_transaction($id);
    $status = $trans->process_refund_request(array("actor" => 'Angel'));
    return $trans->row['transactionTable']['reference_number'];
}
コード例 #2
0
function smart_processRefund($values, $action)
{
    $reason = $_POST['frm_refund_request_' . $values['append']];
    if (strlen($reason) > 3) {
        $trans = new transaction_class(false);
        $trans->pull_transaction($values['append']);
        $status = $trans->process_refund_request(array("actor" => 'Administrator', 'notes' => "{$reason}"));
        return array("action" => "Created A Refund Request for Transaction Reference " . $trans->row['transactionTable']['reference_number'] . ".", "status" => $status['status']);
    }
    return array("action" => "Failed to Create Refund Request (Invalid Reason).", "status" => 'fail');
}
コード例 #3
0
$access = getAccessInfo("\ntransactionId,\n\n'Customer Information' as access_header,\n\tCONCAT(surname,', ',name) as Full_Name,\n\tcs_transactiondetails.country,\n\tcs_transactiondetails.email,\n\t\n'Billing Information' as access_header,\n\tamount,\n\tCONCAT(\t\n\t\tif(status!='D',\n\t\t\tif(status='P','Pending', 'Approved'),\n\t\t\t'Declined'\n\t\t)\t\t\n\t) as status,\n\tif(td_is_a_rebill=1,' Rebilled Transaction',' New Order') as Type_Of_Purchase,\n\tcardtype,\n\tCCnumber,\n\tbankaccountnumber,\n\tbankroutingcode,\n\tbk_descriptor_visa as Billing_Descriptor,\n\tif(cancelstatus='Y',CONCAT('Refunded - ',cancel_refer_num),'') as Refunded,\n\tif(td_is_chargeback='1','Charged Back','') as Chargeback,\n\t\n'Purchase Information' as access_header,\n\treference_number as Reference_ID,\n\tDate_Format(transactionDate,'%W %b %D %Y %H:%i:%s') as Transaction_Date,\n\tproductdescription as Product_Description,\n\tcs.cs_name as Website,\n\tcs.cs_member_url as WebsiteURL,\n\t\n'Subscription Information' as access_header,\n\tss_subscription_ID as Subscription_ID,\n\tDate_Format(ss_account_start_date,'%W %b %D %Y %H:%i:%s') as Account_Started,\n\tDate_Format(ss_account_expire_date,'%W %b %D %Y %H:%i:%s') as Account_Expiration,\n\tss_cancel_id,\n\tss_cust_username,\n\tss_cust_password,\n\tss_account_status,\n\tDate_Format(ss_last_rebill,'%W %b %D %Y %H:%i:%s') as Last_Rebill_Date,\n\t\n'Tracking Information' as access_header,\n\tcd_enable_tracking,\n\ttd_enable_tracking,\n\ttd_tracking_id,\n\ttd_tracking_link,\n\ttd_tracking_order_id,\n\ttd_tracking_company,\n\ttd_tracking_ship_date,\n\ttd_tracking_ship_est,\n\ttd_tracking_info,\n\t\n'Refund Request' as access_header,\n\t'' as refund_select,\n\t'' as refund_reason,\n\t'' as refund_request,\n\tnote_id,\n\tDate_Format(call_date_time,'%W %b %D %Y %H:%i:%s') as Refund_Requested_On,\n\tcustomer_notes\n\t\n", "cs_transactiondetails\nleft join cs_subscription on td_ss_ID = ss_ID\nleft join cs_bank as bk on cs_transactiondetails.bank_id = bk.bank_id\nleft join cs_rebillingdetails as rd on rd_subaccount = td_rebillingID\nleft join cs_company_sites as cs on cs_ID = td_site_ID\nLEFT JOIN `cs_callnotes` as cn ON `transactionId` = cn.`transaction_id` \nleft join cs_companydetails as cd on cd.userId = cs_transactiondetails.userId\n", "{$sql_where}", array('disable' => true, 'HideIfEmpty' => true));
if ($access == -1) {
    beginTable();
    echo "Transaction Information was not found. Please try again.";
    endTable('Transaction Not Found', "lookup.php?{$link_info}", false, true);
    die;
}
$transaction = new transaction_class(false);
$transaction->pull_transaction($access['Data']['transactionId']['Value']);
$style_refund_select = '';
$style_refund_reason = '';
if ($_POST['refund_request'] && !$access['Data']['Refunded']['Value'] && !$access['Data']['note_id']['Value']) {
    $notes = quote_smart($_POST['refund_select'] . " - " . $_POST['refund_reason']);
    $msg = "<b>Please Enter a Detailed Reason for the Refund Request.</b>";
    if (strlen($_POST['refund_reason']) > 10 && $_POST['refund_select']) {
        $refInfo = $transaction->process_refund_request(array("actor" => '.NET', 'notes' => $notes));
        $error_msg = $refInfo['status'];
        $msg = "Transaction Reference " . $transaction->row['transactionTable']['reference_number'] . " {$error_msg}.";
        $access['Data']['note_id']['Value'] = 1;
        unset($access['Data']['Refund_Requested_On']);
        $access['Data']['customer_notes']['Value'] = $notes;
    } else {
        if (!$_POST['refund_select']) {
            $style_refund_select = " style='color:#FF0000;'";
        }
        if (!(strlen($_POST['refund_reason']) > 10)) {
            $style_refund_reason = " style='color:#FF0000;'";
        }
    }
}
$access['Data']['customer_notes']['Size'] = '30';
コード例 #4
0
ファイル: function.php プロジェクト: juliogallardo1326/proc
function exec_refund_request($transID, $service_notes = "Administrator Refund", $customer_notes = "")
{
    $trans = new transaction_class(false);
    $trans->pull_transaction($transID);
    $error_msg = $trans->process_refund_request(array("actor" => $service_notes, 'notes' => "{$customer_notes}"));
    return $error_msg['status'];
    die;
    $error_msg = "Refund Request Created Successfully";
    $sql = "SELECT td.`transactionId`, td.`reference_number`, cd.`companyname`,cd.`username`,\r\n\t\t\t\t\tcd.`password`,cd.`ReferenceNumber`, cd.`email`, td.`email` as customer_email, `note_id`,cs_URL, name, surname\r\n\t\t\t\t\r\n\t\t\t\tFROM `cs_transactiondetails` AS td\r\n\t\t\t\tLEFT JOIN `cs_callnotes` AS cn ON cn.`transaction_id` = td.`transactionId` AND cn.cn_type = 'refundrequest'\r\n\t\t\t\tLEFT JOIN `cs_companydetails` AS cd ON td.`userId` = cd.`userId`  \r\n\t\t\t\tLEFT JOIN `cs_company_sites` AS cs ON td.td_site_ID = cs.cs_ID \r\n\t\t\t\tWhere  `transactionId` = '{$transID}'";
    $result = sql_query_read($sql);
    if (mysql_num_rows($result) == 0) {
        return "Error: Transaction {$transID} Not Found";
    }
    $statusInfo = mysql_fetch_assoc($result);
    if (!$statusInfo['note_id']) {
        $sql = "REPLACE INTO `cs_callnotes` (`transaction_id` , `call_date_time` , `service_notes` , `cancel_status` , `customer_notes` , `solved` , `is_bill_date_changed` , `call_duration` , `customer_service_id` , `prev_bill_date` , `dnc`, `cn_type` )\r\n\t\t\tVALUES ( '{$transID}', NOW() , '{$service_notes}', '', '{$customer_notes}', '' , '', '', '', '', '', 'refundrequest');";
        $qry_callnotes = sql_query_write($sql) or dieLog("Cannot execute query ");
        $data['companyname'] = $statusInfo['companyname'];
        $data['Reference_ID'] = $statusInfo['ReferenceNumber'];
        $data['reference_number'] = $statusInfo['reference_number'];
        $data['username'] = $statusInfo['username'];
        $data['password'] = $statusInfo['password'];
        $data['cancel_reference_number'] = $statusInfo['ReferenceNumber'];
        $data['email'] = $statusInfo['email'];
        $data['reason'] = $service_notes . ": " . $customer_notes;
        $data["gateway_select"] = $statusInfo['gateway_id'];
        $data['site_URL'] = $statusInfo['cs_URL'];
        $data['full_name'] = $statusInfo['name'] . " " . $statusInfo['surname'];
        send_email_template('merchant_refund_request_notification_email', $data);
        $data['email'] = $statusInfo['customer_email'];
        send_email_template('customer_refund_confirmation', $data);
    } else {
        $error_msg = "Refund Request Already Exists";
    }
    return $error_msg;
}
コード例 #5
0
ファイル: index.php プロジェクト: juliogallardo1326/proc
 $td_transactionId = trim($_REQUEST['td_transactionId']);
 if ($td_transactionId && is_numeric($td_transactionId)) {
     $sql = "select reference_number from `cs_transactiondetails` where transactionId = '{$td_transactionId}' ";
     $result = sql_query_read($sql) or dieLog(mysql_errno() . ": " . mysql_error() . "<BR>");
     $td_transactionId = mysql_result($result, 0, 0);
 }
 $query = "\tUPDATE tickets_tickets\n\t\t\t\t\t\tSET tickets_urgency = '" . $_REQUEST['tickets_urgency'] . "',\n\t\t\t\t\t\ttickets_issue = '" . $_REQUEST['tickets_issue'] . "',\n\t\t\t\t\t\ttd_transactionId = '{$td_transactionId}',\n\t\t\t\t\t\ttickets_category = '" . $_REQUEST['tickets_category'] . "'\n\t\t\t\t\t\tWHERE tickets_id    = '" . $_REQUEST['ticketid'] . "'";
 sql_query_write($query) or dieLog(mysql_error(), mysql_error());
 $msg = 'Ticket Updated';
 $service_notes = quote_smart($_REQUEST['service_notes']);
 $transID = intval($_REQUEST['td_transactionId']);
 if ($_POST['submit'] == 'Refund Order') {
     if ($td_transactionId && $service_notes) {
         $trans = new transaction_class(false);
         $trans->pull_transaction($td_transactionId, 'reference_number');
         $status = $trans->process_refund_request(array("actor" => 'Customer Service', 'notes' => "{$service_notes}"));
         $msg = "Refund Request " . $status['status'];
     }
 }
 if ($_POST['submit'] == 'Cancel Rebill') {
     //$ref_no = func_Trans_Ref_No($td_transactionId);
     //$qry_details="UPDATE `cs_transactiondetails` SET `td_enable_rebill` = '0', `reason` = 'Admininstrator Cancel', `cancel_refer_num` = '$ref_no'  WHERE `transactionId` = '$td_transactionId'";
     if ($td_transactionId && $service_notes) {
         require_once "../../includes/transaction.class.php";
         $trans = new transaction_class(false);
         $trans->pull_transaction($td_transactionId, 'reference_number');
         $status = $trans->process_cancel_request(array("actor" => 'Customer Service'));
         $msg = "Subscription Cancel " . ($status ? "Succeeded" : "Failed");
     }
 }
 ?>
コード例 #6
0
 function angel_refund_transaction()
 {
     foreach ($this->page_map as $index => $value) {
         ${$value} = $index;
     }
     $lookup = new lookup_class();
     $trans = $this->working_vars['transactions'];
     $curr = $this->working_vars['current_trans'] - 1;
     if (!isset($trans[$curr])) {
         return $this->angel_404("error message: 1000");
     }
     if (!$trans[$curr]['reference_number']) {
         return $this->angel_process_transaction();
     }
     $reference_number = $trans[$curr]['reference_number'];
     $trans = new transaction_class(false);
     $trans->pull_transaction($reference_number, 'td.reference_number');
     $refinfo = $trans->process_refund_request(array("actor" => 'Angel', 'notes' => $cancel_reason_decoded));
     if (!$refinfo['success']) {
         //angel_transfer_callcenter
         return "\n\t\t<ANGELXML>\n\t\t\t<MESSAGE>\n\t\t\t\t<PLAY>\n\t\t\t\t\t<PROMPT type=\"text\">\n\t\t\t\t\t\tThere was an error processing your refund request. " . $refinfo['status'] . " \n\t\t\t\t\t</PROMPT>\n\t\t\t\t</PLAY>\n\t\t\t\t<GOTO destination=\"/{$angel_transfer_callcenter}\" />\n\t\t\t</MESSAGE>\n\t\t</ANGELXML>\n\t\t\t";
     }
     $temp = "";
     $m = strlen($reference_number);
     for ($j = 0; $j < $m; $j++) {
         $temp .= $reference_number[$j] . ", ";
     }
     $refid = $temp;
     return "\n\t\t<ANGELXML>\n\t\t\t<MESSAGE>\n\t\t\t\t<PLAY>\n\t\t\t\t\t<PROMPT type=\"text\">\n\t\t\t\t\t\t" . $refinfo['status'] . ".  \n\t\t\t\t\t\t\n\t\t\t\t\t\tWe are sorry you were not satisfied with your purchase.\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tThe refund reference number for this refund request is, {$refid}.\n\t\t\t\t\t\t\n\t\t\t\t\t\tAgain, that reference number is, {$refid}\n\t\t\t\t\t\t\n\t\t\t\t\t\tThank you for calling " . $this->template[$this->template_sel]['name'] . " support.\n\t\t\t\t\t</PROMPT>\n\t\t\t\t</PLAY>\n\t\t\t\t<ACTION type=\"hangup\"/>\n\t\t\t</MESSAGE>\n\t\t</ANGELXML>\t\t\n\t\t";
 }
コード例 #7
0
$addvar = '';
if ($nolink) {
    $addvar .= '&nolink=' . $nolink;
}
if ($_REQUEST['hide_header']) {
    $addvar .= '&hide_header=' . $_REQUEST['hide_header'];
}
$ref = quote_smart($_REQUEST['ref']);
$id = $ref;
$field = 'reference_number';
if ($_POST['refund']) {
    $refund_reason = $_POST['refund_reason'];
    if (strlen($refund_reason) > 3) {
        $trans = new transaction_class(false);
        $trans->pull_transaction($ref, $field);
        $status = $trans->process_refund_request(array("actor" => 'Administrator', 'notes' => "{$refund_reason}"));
        $msg .= $status['status'] . "<BR>";
    }
}
if ($_POST['charged_back']) {
    $qry_details = "UPDATE cs_transactiondetails SET `td_is_chargeback` = '1',`td_bank_deducted`=0,`td_merchant_deducted`=0,`td_reseller_deducted`=0 WHERE {$field} = '{$ref}'";
    $rst_details = sql_query_write($qry_details) or dieLog(mysql_errno() . ": " . mysql_error() . "<BR>Cannot execute query");
    $msg .= "{$ref} Set as Charged Back<BR>";
}
//$access = getMerchantAccess();
$access = getAccessInfo("\n\n'Customer Info' as access_header,\n\tCONCAT(surname,', ',name) as Full_Name,\n\tcs_transactiondetails.address as Address,\n\tcs_transactiondetails.city,\n\tcs_transactiondetails.state,\n\tcs_transactiondetails.zipcode,\n\tco_full as Country,\n\tipaddress as IP_Address,\n\tcs_transactiondetails.email,\n\tcs_transactiondetails.phonenumber as 'Phone',\n\t\n'Billing Info' as access_header,\n\trd_subName,\n\tamount,\n\tCONCAT(\t\n\t\tif(status!='D',\n\t\t\tif(status='P','Pending', 'Approved'),\n\t\t\t'Declined'\n\t\t)\t\t\n\t) as status,\n\ttd_process_msg as 'Processor_Response',\n\t0 as 'Ban_Info',\n\tif(td_is_a_rebill=1,' Rebilled Transaction',' New Order') as Type_Of_Purchase,\n\tcardtype,\n\tCCnumber,\n\tbankaccountnumber,\n\tbankroutingcode,\n\ttd_bank_transaction_id as 'Bank_Trans_ID',\n\tif(cancelstatus='Y',CONCAT('Refunded - ',cancel_refer_num),'') as Refunded,\n\tcustomer_notes as Refund_Requested,\n\tif(td_is_chargeback='1','Charged Back','') as Chargeback,\n\t\n'Purchase Info' as access_header,\n\tcd.userId as userId,\n\tcompanyname,\n\ttransactionId,\n\treference_number as Reference_ID,\n\tDate_Format(transactionDate,'%W %b %D %Y %H:%i:%s') as Transaction_Date,\n\tCONCAT(td_product_id,': ',productdescription) as Product_Description,\n\tcs.cs_name as Website,\n\tfrom_url as WebsiteURL,\n\t\n'Subscription Info' as access_header,\n\tss_subscription_ID as Subscription_ID,\n\tDate_Format(ss_account_start_date,'%W %b %D %Y %H:%i:%s') as Account_Started,\n\tDate_Format(ss_account_expire_date,'%W %b %D %Y %H:%i:%s') as Account_Expiration,\n\tss_cancel_id,\n\tss_cust_username,\n\tss_cust_password,\n\tss_account_status,\n\tCONCAT(ss_rebill_status_text,' (',ss_rebill_status,')') as Rebill_Status,\n\tDate_Format(ss_last_rebill,'%W %b %D %Y %H:%i:%s') as Last_Rebill_Date,\n\t\n'Tracking Info' as access_header,\n\tcd_enable_tracking,\n\ttd_enable_tracking,\n\ttd_tracking_id,\n\ttd_tracking_link,\n\ttd_tracking_order_id,\n\ttd_tracking_company,\n\ttd_tracking_ship_date,\n\ttd_tracking_ship_est,\n\ttd_tracking_info,\n\t\n'Profit Info' as access_header_spanned,\n\t'' as Breakdown,\n\t\n'Misc Info' as access_header_spanned,\n\ttd_non_unique,\n\ttd_merchant_fields as Merchant_Data,\n\ttd_process_query as Debug_Query,\n\ttd_process_result as Debug_Result,\n\ttd_process_duration as Query_Time\n\t\n\t\n", "cs_transactiondetails\nleft join cs_subscription on td_ss_ID = ss_ID\nleft join cs_rebillingdetails as rd on rd_subaccount = td_rebillingID\nleft join cs_company_sites as cs on cs_ID = td_site_ID\nleft join cs_companydetails as cd on cd.userId = cs_transactiondetails.userId\nleft join cs_country as co on cs_transactiondetails.country = co_ISO\nleft join cs_callnotes as co on transaction_id = transactionId and cn_type='refundrequest'\n\nleft join cs_profit_action on pa_trans_id = transactionId \n", "{$field} = '{$id}'", array('disable' => true));
if ($access == -1) {
    dieLog("Invalid Transaction", "Invalid Transaction");
}
$transactionId = $access['Data']['transactionId']['Value'];
$fraud = new fraud_class();