示例#1
0
 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;
             }
         }
     }
 }
示例#2
0
 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;
 }
示例#3
0
 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
     }
 }