function act_excuteRefund() { global $dbConn; $orderId = $_POST['orderId']; if ($orderId == '') { self::$errCode = 1; self::$errMsg = '参数refund Id 有误!'; return false; } $OrderRefundList = OrderRefundModel::getOrderRefundList("*", " WHERE id = {$orderId} AND is_delete = 0"); //var_dump($OrderRefundList); if (!$OrderRefundList) { self::$errCode = "001"; self::$errMsg = "获取信息失败!"; return false; } if ($OrderRefundList[0]['orderType'] == 2) { //手动退款 $rtn = OrderRefundModel::updateOrderRefund(" status = '1', updateTime = " . time(), " WHERE id = {$orderId} AND is_delete = 0"); $sql = " UPDATE `om_unshipped_order` SET orderStatus=2000 , orderType=1004 WHERE id={$orderId}"; $dbConn->execute($sql); $sql = " UPDATE `om_shipped_order` SET orderStatus=660 , orderType=710 WHERE id={$orderId}"; $dbConn->execute($sql); self::$errCode = OrderRefundModel::$errCode; self::$errMsg = OrderRefundModel::$errMsg; return $rtn; } else { if ($OrderRefundList[0]['orderType'] == 1) { //PayPal退款 $paypal_account = trim($dataArr['paypalAccount']); $paypal_passwd = trim($dataArr['pass']); $signature = trim($dataArr['signature']); $account = trim($dataArr['totalSum']); $transactionID = urlencode(trim($dataArr['PayPalPaymentId'])); //$transactionID = urlencode('8UB78354D73053524'); //for test......... $refundType = urlencode(trim($dataArr['refundType'])); $currencyID = urlencode($dataArr['currency']); $amount = trim($dataArr['refundSum']); $memo = $dataArr['note']; //$operator = $_SESSION['truename']; //操作人 //////////////////For test/////////////////////// /* $paypal_account = 'keyhere_api1.gmail.com';//trim($dataArr['paypalAccount']); $paypal_passwd = 'Z2MM4MR7JYNXJJTU'; //trim($dataArr['pass']); $signature = 'A.KeI6NrmIaMvyjNhuLwy2pLV0zPAQ20fUMuWkw30BkqbQWQM8mSQ2MX';//trim($dataArr['signature']); */ /* $paypal_account = 'chenyishan77_api1.gmail.com';//trim($dataArr['paypalAccount']); $paypal_passwd = 'DYWRHBMGN3FE5RH2'; //trim($dataArr['pass']); $signature = 'AZevjjIseNWGR7SfrsQRQeCXRhikAy2qVHVUJOAviaPPhxzAYrKpsYkl';//trim($dataArr['signature']); $account = '4.19'; //trim($dataArr['totalSum']); $transactionID = '46P33414V65055144'; //urlencode(trim($dataArr['PayPalPaymentId'])); $refundType = 'Full'; // urlencode(trim($dataArr['refundType'])); $currencyID = 'USD'; //urlencode($dataArr['currency']); $amount = '1'; //trim($dataArr['refundSum']); $memo = 'Refund for a customer'; //$dataArr['note']; */ ///////////////////////////////////////// if ($refundType == "Full") { $money_amount = $account; } else { $money_amount = $amount; } $nvpStr = "&TRANSACTIONID={$transactionID}&REFUNDTYPE={$refundType}&CURRENCYCODE={$currencyID}&NOTE={$memo}"; //$nvpStr="&TRANSACTIONID=$transaction_id&REFUNDTYPE=$refundType&CURRENCYCODE=$currency&NOTE=$memo"; if ($refundType == 'Partial') { $nvpStr = $nvpStr . "&AMT={$amount}"; } //return self::act_updateRefundInfo($orderId); $rtn = OrderRefundModel::updateOrderRefund(" status = '1', updateTime = " . time(), " WHERE id = {$orderId} AND is_delete = 0"); self::$errCode = OrderRefundModel::$errCode; self::$errMsg = OrderRefundModel::$errMsg; return $rtn; $httpParsedResponseAr = self::PPHttpPost($paypal_account, $paypal_passwd, $signature, 'RefundTransaction', $nvpStr, $account); if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { self::$errCode = 200; self::$errMsg = '请求Paypal退款成功!'; return true; } else { self::$errCode = 4; self::$errMsg = '请求Paypal退款失败!'; return false; } } } }
public function act_manualRefundxls() { date_default_timezone_set("Asia/Chongqing"); error_reporting(0); $start = strtotime($_REQUEST['start']); $end = strtotime($_REQUEST['end']); $account = $_REQUEST['account']; $staffInfoLists = CommonModel::getStaffInfoList(); //获取全部人员 foreach ($staffInfoLists as $staffInfoList) { $staffLists[$staffInfoList['global_user_id']] = $staffInfoList['global_user_name']; } unset($staffInfoLists); //print_r($packings); // exit; $accountLists = omAccountModel::accountAllList(); //获取全部账号信息 foreach ($accountLists as $value) { $accounts[$value['id']] = $value['account']; //账号id对应名称 } unset($accountLists); $orderReturn = OrderRefundModel::getAllOrderRefundList('WHERE a.`addTime` >= ' . $start . ' AND a.`addTime` <= ' . $end . ' AND a.`is_delete` = 0'); $fileName = "Manual_Refund" . date('Y-m-d') . ".xls"; $excel = new ExportDataExcel('browser', $fileName); $excel->initialize(); $excel->addRow(array('扫描日期', 'ebay store', '订单编号', '客户ID', '仓位号', '料号', '数量', '国家', '包裹总金额', '币种', '包装员', '退款原因', 'paypal', '备注', '退款日期', '空白', '退款金额', '物品总金额', '币种', '退款比例', '标记', '操作员', '统计员')); foreach ($orderReturn as $k => $v) { $time = date('Y-m-d', $v['addTime']); //扫描日期 $sellerUser = $accounts[$v['sellerAccountId']]; //卖家帐号 $omOrderId = $v['omOrderId']; //订单编号 $buyer = $v['platformUsername']; //买家 $goods_location = ''; //仓位号 $sku = $v['sku']; //sku $amount = $v['amount']; //数量 $country = ''; //国家 $currency = $v['currency']; //币种 $packinguser = ''; //包装员 $reason = $v['reason']; //退款原因 $paypal = $v['paypalAccount']; //paypal $note = $v['note']; //注备 $updateTime = $v['updateTime']; //退款日期 $kongbai = ''; //空白 $refundSum = $v['refundSum']; //退款金额 $totalSum = $v['totalSum']; //物品总金额 $currency = $v['currency']; //币种(上面也有一个币种) $proportion = $refundSum / $totalSum; //退款比例 $mark = ''; //标记 $operator = ''; //操作员 $statisticians = ''; //统计员 $row = array($time, $sellerUser, $omOrderId, $buyer, $goods_location, $sku, $amount, $country, $currency, $packinguser, $reason, $paypal, $note, $updateTime, $kongbai, $refundSum, $totalSum, $currency, $proportion, $mark, $operator, $statisticians); $excel->addRow($row); } $excel->finalize(); exit; }
public static function getAllOrderRefundList($where) { self::initDB(); $sql = "SELECT a.*,b.sku,b.amount,b.actualPrice FROM om_order_refund AS a LEFT JOIN om_order_refund_detail AS b ON a.id = b.orderRefundId " . $where; $query = self::$dbConn->query($sql); if ($query) { self::$errCode = "200"; self::$errMsg = "修改成功!"; return true; } else { self::$errCode = "003"; self::$errMsg = "修改失败! sql= {$sql} "; return false; //失败则设置错误码和错误信息, 返回false } }