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']; }
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'); }
$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';
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; }
$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"); } } ?>
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"; }
$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();