コード例 #1
0
ファイル: OrderInfoTest.php プロジェクト: lambadijital/bukoli
 public function testSend()
 {
     $order_insert_result = $this->order_info->send();
     $this->assertInstanceOf('BuKoli\\Result\\OrderInsert', $order_insert_result);
     $this->assertEquals(1, $order_insert_result->getStatus());
     $this->assertNotEmpty($order_insert_result->getTrackingNumber());
 }
コード例 #2
0
 function getTag($tag)
 {
     global $application;
     $value = null;
     switch ($tag) {
         case 'PersonInfoShipping':
             $value = $this->getPersonInfo('Shipping');
             break;
         case 'PersonInfoBilling':
             $value = $this->getPersonInfo('Billing');
             break;
         case 'OrderTrackId':
             if (modApiFunc("Checkout", "getDeleteOrdersFlag") == "true") {
                 $value = nl2br($this->_order['TrackId']);
             } else {
                 $value = nl2br($this->_order['TrackId']);
             }
             break;
         case 'PrintCommand':
             if ($this->_print != 'Y') {
                 $value = '';
             } else {
                 $value = modApiFunc('TmplFiller', 'fill', 'checkout/' . $this->template_folder . '/', 'print_js_code.tpl.html', array());
             }
             break;
         default:
             $value = parent::getTag($tag);
             break;
     }
     return $value;
 }
コード例 #3
0
 /**
  * Getting The end javascript
  *
  * @return string
  */
 protected function _getEndJs()
 {
     if (!($order = Order::get($this->Request['orderId'])) instanceof Order) {
         die('Invalid Order!');
     }
     if (trim($order->getType()) !== Order::TYPE_INVOICE) {
         header('Location: /order/' . $order->getId() . '.html?' . $_SERVER['QUERY_STRING']);
         die;
     }
     $js = parent::_getEndJs();
     $orderItems = $courierArray = array();
     foreach ($order->getOrderItems() as $orderItem) {
         $orderItems[] = $orderItem->getJson();
     }
     $purchaseEdit = $warehouseEdit = $accounEdit = $statusEdit = 'false';
     if ($order->canEditBy(Core::getRole())) {
         $statusEdit = $order->canEditBy(Core::getRole()) && Core::getRole()->getId() === trim(Role::ID_SYSTEM_ADMIN) ? 'true' : 'false';
         if (in_array(intval(Core::getRole()->getId()), array(Role::ID_SYSTEM_ADMIN, Role::ID_STORE_MANAGER, Role::ID_SALES))) {
             $purchaseEdit = $warehouseEdit = $accounEdit = 'true';
         } else {
             if (trim(Core::getRole()->getId()) === trim(Role::ID_PURCHASING)) {
                 $purchaseEdit = 'true';
             } else {
                 if (trim(Core::getRole()->getId()) === trim(Role::ID_WAREHOUSE)) {
                     $purchaseEdit = 'false';
                     $warehouseEdit = 'true';
                     $statusEdit = 'false';
                 }
             }
         }
     }
     if (in_array(intval(Core::getRole()->getId()), array(Role::ID_SYSTEM_ADMIN, Role::ID_STORE_MANAGER, Role::ID_ACCOUNTING, Role::ID_SALES))) {
         $accounEdit = 'true';
     }
     $orderArray = $order->getJson();
     $orderArray['childrenOrders'] = array_map(create_function('$a', 'return $a->getOrder()->getJson();'), OrderInfo::getAllByCriteria('typeId = ? and value = ?', array(OrderInfoType::ID_CLONED_FROM_ORDER_NO, trim($order->getOrderNo()))));
     $orderArray['creditNotes'] = array_map(create_function('$a', 'return $a->getJson();'), CreditNote::getAllByCriteria('orderId = ?', array(trim($order->getId()))));
     $orderStatuses = array_map(create_function('$a', 'return $a->getJson();'), OrderStatus::findAll());
     $courierArray = array_map(create_function('$a', 'return $a->getJson();'), Courier::findAll());
     $js .= 'pageJs';
     $js .= '.setCallbackId("updateOrder", "' . $this->updateOrderBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("changeOrderStatus", "' . $this->changeOrderStatusBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("updateOIForWH", "' . $this->updateOIForWHBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("updateShippingInfo", "' . $this->updateShippingInfoBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("clearETA", "' . $this->clearETABtn->getUniqueID() . '")';
     $js .= '.setCallbackId("changeIsOrdered", "' . $this->changeIsOrderedBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("updateAddress", "' . $this->updateAddressBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("updatePONo", "' . $this->updatePONoBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("changeShippingMethod", "' . $this->changeShippingMethodBtn->getUniqueID() . '")';
     $js .= '.setCallbackId("updateSerials", "' . $this->updateSerialsBtn->getUniqueID() . '")';
     $js .= '.setEditMode(' . $purchaseEdit . ', ' . $warehouseEdit . ', ' . $accounEdit . ', ' . $statusEdit . ')';
     $js .= '.setOrder(' . json_encode($orderArray) . ', ' . json_encode($orderItems) . ', ' . json_encode($orderStatuses) . ', ' . OrderStatus::ID_SHIPPED . ')';
     $js .= '.setCourier(' . json_encode($courierArray) . ', ' . Courier::ID_LOCAL_PICKUP . ')';
     $js .= '.setCommentType("' . Comments::TYPE_PURCHASING . '", "' . Comments::TYPE_WAREHOUSE . '")';
     $js .= '.setOrderStatusIds([' . OrderStatus::ID_NEW . ', ' . OrderStatus::ID_INSUFFICIENT_STOCK . '], [' . OrderStatus::ID_ETA . ', ' . OrderStatus::ID_STOCK_CHECKED_BY_PURCHASING . ', ' . OrderStatus::ID_INSUFFICIENT_STOCK . '], [' . OrderStatus::ID_PICKED . '])';
     $js .= '.init("detailswrapper")';
     $js .= '.load();';
     return $js;
 }
コード例 #4
0
ファイル: notify.php プロジェクト: lughong/test
 public function NotifyProcess($data, &$msg)
 {
     $log = Log::factory(NT_LOGS_PATH . 'wxpay_saoma/');
     $log->write('wxpay_saoma_notify', "call back:\n" . json_encode($data) . "\n");
     $notfiyOutput = array();
     if (!array_key_exists("transaction_id", $data)) {
         $msg = "输入参数不正确";
         $log->write('wxpay_saoma_notify_transaction_id', "输入参数不正确\n" . json_encode($data) . "\n");
         return false;
     }
     //查询订单,判断订单真实性
     if (!$this->Queryorder($data["transaction_id"])) {
         $msg = "订单查询失败";
         $log->write('wxpay_saoma_notify_Queryorder', "订单" . $data['out_trade_no'] . "查询失败\n" . json_encode($data) . "\n");
         return false;
     }
     /******************************查询订单正确后start*****************************************/
     //把订单中的支付改为微信支付
     $order_sn = $data['out_trade_no'];
     $order_info = OrderInfo::get_by_sn($order_sn);
     if ($order_info) {
         //检查支付钱数是否被修改过
         $total_fee = $data["total_fee"] / 100;
         $money_paid = $order_info['order_money'] + $order_info['shipping_fee'] - $order_info['bonus'];
         if ($total_fee != $money_paid) {
             $log->write('wxpay_saoma_money', "支付钱数对不上, 订单号为:" . $order_info . ", 微信返回总钱数" . $total_fee . "!=订单总钱数" . $money_paid . "\n" . json_encode($data) . "\n" . json_encode($order_info) . "\n");
             return false;
         }
         //支付成功,改变支付状态为yes
         $order_id = $order_info['order_id'];
         if ($order_info['pay_status'] == 'no') {
             $order = new OrderInfo($order_id);
             $modify = $order->wxsaoma_pay_status();
             $log->write('wxpay_saoma_changepay', $modify);
             $log->write('wxpay_saoma_success', "【支付成功】:\n" . json_encode($data) . "\n" . json_encode($order_info) . "\n");
         }
     } else {
         $log->write('wxpay_saoma_not_exists_order', "订单" . $order_sn . "不存在\n" . json_encode($data) . "\n");
         return false;
     }
     /******************************查询订单正确后end*****************************************/
     return true;
 }
コード例 #5
0
ファイル: alipay.php プロジェクト: lughong/test
 public function zfb_order_done($order_id)
 {
     //检查orderid是不是本人的
     Assert::num_gt_zero($order_id);
     $uid = User::get_login_id();
     if (!$uid) {
         $url = URL . 'login';
         header("Location:{$url}");
         throw new Exception("exit");
     } else {
         $result = OrderInfo::get_order_info($order_id);
         if (!$result) {
             header("location:" . URL);
         }
         $smarty = get_smarty();
         //再去逛逛
         $smarty->assign('homeurl', URL);
         //订单详情
         $smarty->assign('order_detail_url', URL . 'weixin/usercenter/order_detail/' . $order_id);
         $smarty->display('web/home/order_success.html');
     }
 }
コード例 #6
0
ファイル: js_api_call.php プロジェクト: lughong/shop
		function callpay()
		{
			if (typeof WeixinJSBridge == "undefined"){
			    if( document.addEventListener ){
			        document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
			    }else if (document.attachEvent){
			        document.attachEvent('WeixinJSBridgeReady', jsApiCall); 
			        document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
			    }
			}else{
			    jsApiCall();
			}
		}
	</script>
</head>
<body>
	</br></br></br></br>
	<?php 
$info = OrderInfo::get_order_info_by_sn($out_trade_no);
?>
	<div id="tip" align="center" style="">
		<!--<button style="width:210px; height:30px; background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" type="button" onclick="callpay()" >稍等片刻,马上进入微信支付</button>-->
马上进入微信支付,稍等片刻...
	</div>
	<script>
	callpay();
	</script>
</body>
</html>
コード例 #7
0
ファイル: usercenter.php プロジェクト: lughong/shop
 public function cancelorder($order_id)
 {
     $order_id = (int) $order_id;
     $uid = LuS::get('uid');
     if ($order_id && $uid) {
         //取消订单
         OrderInfo::cancelUserOrderByOrderId($uid, $order_id);
         //添加库存(取消订单,一般都不会把库存添加回去,有可能把订单变成有效)
         // AdminGoodsM::plusStock( $uid, $order_id );
     }
     $url = url('usercenter', 'usercenter::detail', $order_id);
     header('Location:' . $url);
     throw new Exception('exit');
 }
コード例 #8
0
ファイル: Cart.class.php プロジェクト: lughong/shop
 public static function addOrder($uid = 0, $username = '', $pay_name = '货到付款', $default_address_id = 0)
 {
     if ($uid) {
         //从购物车里获取到商品列表
         $cart_goods_list = Cart::select($uid);
         if ($cart_goods_list) {
             //计算订单总金额
             $order_total_data = self::getOrderTotal($cart_goods_list);
             $total = $order_total_data['total'];
             //运费
             $shipping_fee = self::getOrderShippingFee($total);
             //优惠
             $bonus = 0;
             //使用优惠券...
             //收货地址
             $address_info = UserAddress::getAddrByAddressId($uid, $default_address_id);
             if (!$address_info) {
                 $address_info = UserAddress::getDefaultAddress($uid);
             }
             $data['sn'] = self::createOrderSn();
             //订单号
             $data['uid'] = $uid;
             //用户id
             $data['username'] = $username;
             //用户名
             $data['order_status'] = 'yes';
             //订单有效
             $data['consignee'] = $address_info['consignee'];
             //联系人
             $data['province'] = $address_info['province'];
             //省
             $data['city'] = $address_info['city'];
             //市
             $data['district'] = $address_info['district'];
             //区
             $data['address'] = $address_info['address'];
             //详细地址
             $data['mobile'] = $address_info['mobile'];
             //手机或电话
             $data['shipping_fee'] = $shipping_fee;
             //运费
             $data['bonus'] = $bonus;
             //优惠
             $data['order_money'] = $total;
             //货物总金额
             $data['money_paid'] = $total + $shipping_fee + $bonus;
             //应付款金额
             $data['pay_name'] = $pay_name;
             //付款方式
             //非货到付款操作
             if ($pay_name !== '货到付款') {
                 $data['pay_time'] = time();
                 //支付时间
                 $data['confirm_status'] = 'yes';
                 //确认订单状态(非货到付款自动确认)
                 $data['confirm_time'] = time();
                 //确认订单时间
             }
             $rs = OrderInfo::addOrder($data);
             if ($rs) {
                 //下单成功,减少库存
                 AdminGoodsM::minusStock($cart_goods_list);
                 //添加到订单商品表
                 OrderGoodsInfo::addGoods($rs, $cart_goods_list);
                 //删除购物车里面的商品信息
                 $where = self::_where($uid);
                 Cart::delete($where);
             }
             //下单成功
             return $rs;
         }
     }
     //下单失败
     return false;
 }
コード例 #9
0
ファイル: goods.php プロジェクト: lughong/shop
 public function addtoorder()
 {
     //是否已经登录
     User::isLogin();
     if (!$_POST) {
         $url = url('goods', 'goods::balance');
         header('Location:' . $url);
         throw new Exception('exit');
     }
     $default_address_id = isset($_POST['shipping']) ? htmlspecialchars($_POST['shipping']) : 0;
     $payment = isset($_POST['payment']) ? htmlspecialchars($_POST['payment']) : '';
     $is_mobile = isset($_POST['mobile']) ? htmlspecialchars($_POST['mobile']) : '';
     $uid = LuS::get('uid');
     $username = LuS::get('username');
     $order_id = Cart::addOrder($uid, $username, $payment, $default_address_id);
     //订单详情页
     $order_detail_url = url('usercenter', 'usercenter::detail', $order_id);
     //首页
     $home_url = HOMEURL;
     //订单号
     $order_info = OrderInfo::getUserOrderInfoByOrderId($uid, $order_id);
     //获取支付链接
     $pay = GoodsM::getPayList($order_info['sn']);
     //货到付款
     $hdfkpay_url = $order_detail_url;
     $smarty = get_smarty();
     $smarty->assign('order_detail_url', $order_detail_url);
     $smarty->assign('home_url', $home_url);
     $str = $smarty->fetch('goods/order_success.html');
     //增加一个订单id
     $return_arr = array(true, $str, $pay['alipay'], $pay['wxpay'], $pay['wxsaomapay'], $hdfkpay_url, $order_id);
     echo json_encode($return_arr);
     throw new Exception('exit');
 }
コード例 #10
0
ファイル: OrderInfo.class.php プロジェクト: lughong/shop
 public static function editOrderStatus($order_id, $pay_type)
 {
     $order_info = getOrderInfoByOrderId($order_id);
     if ($order_info) {
         $data = array();
         $data['pay_time'] = time();
         $data['pay_status'] = 'yes';
         $data['pay_name'] = $pay_type;
         $where = array();
         $where['order_id'] = $order_id;
         OrderInfo::modifyOrderInfo($data, $where);
         return true;
     } else {
         return false;
     }
 }
コード例 #11
0
ファイル: Order.php プロジェクト: larryu/magento-b2b
 /**
  *
  * @param Customer    $customer
  * @param string      $orderNo
  * @param OrderStatus $status
  * @param string      $orderDate
  * @param string      $type
  * @param string      $isFromB2B
  * @param Address     $shipAddr
  * @param Address     $billAddr
  */
 public static function create(Customer $customer, $type = self::TYPE_ORDER, $orderNo = null, $comments = '', OrderStatus $status = null, $orderDate = null, $isFromB2B = false, Address $shipAddr = null, Address $billAddr = null, $passPaymentCheck = false, $poNo = '', Order $cloneFrom = null)
 {
     $order = new Order();
     $order->setOrderNo(trim($orderNo))->setCustomer($customer)->setStatus($status instanceof OrderStatus ? $status : OrderStatus::get(OrderStatus::ID_NEW))->setOrderDate(trim($orderDate) === '' ? trim(new UDate()) : trim($orderDate))->setIsFromB2B($isFromB2B)->setType(trim($type) === '' ? self::TYPE_ORDER : trim($type))->setShippingAddr($shipAddr instanceof Address ? $shipAddr : $customer->getShippingAddress())->setBillingAddr($billAddr instanceof Address ? $billAddr : $customer->getBillingAddress())->setPassPaymentCheck($passPaymentCheck)->setPONo(trim($poNo));
     if ($cloneFrom instanceof Order) {
         $counts = intval(OrderInfo::countByCriteria('value = ? and typeId = ?', array($cloneFrom->getOrderNo(), OrderInfoType::ID_CLONED_FROM_ORDER_NO)));
         $newOrderNo = $cloneFrom->getOrderNo() . '-' . ($counts + 1);
         $order->setOrderNo($newOrderNo);
         $cloneFrom->addComment($msg = 'A new order has been clone from this order:' . $newOrderNo, Comments::TYPE_SYSTEM)->addLog($msg, Log::TYPE_SYSTEM);
     }
     $order->save();
     if ($cloneFrom instanceof Order) {
         $order->addInfo(OrderInfoType::ID_CLONED_FROM_ORDER_NO, $cloneFrom->getOrderNo(), true)->addComment($msg = 'Cloned from Order:' . $cloneFrom->getOrderNo(), Comments::TYPE_SYSTEM)->addLog($msg, Comments::TYPE_SYSTEM);
     }
     $order->addComment($comments, Comments::TYPE_NORMAL)->addInfo(OrderInfoType::ID_CUS_EMAIL, $customer->getEmail())->addInfo(OrderInfoType::ID_CUS_NAME, $customer->getName())->addLog('Order (OrderNo.=' . $order->getOrderNo() . ') created with status: ' . $order->getStatus()->getName(), Log::TYPE_SYSTEM, 'Auto Log', __CLASS__ . '::' . __FUNCTION__);
     return $order;
 }
コード例 #12
0
ファイル: adminorder.php プロジェクト: lughong/shop
 protected function change($order_id, $status)
 {
     $rs = OrderInfo::modifyOrderStatusByOrderId($order_id, $status);
     if ($rs) {
         echo '操作成功';
     } else {
         echo '操作失败';
     }
     throw new Exception('exit');
 }
コード例 #13
0
ファイル: getorderinfo.php プロジェクト: lughong/shop
<?php

require_once '../../include.php';
//支付类型
$payment_type = "1";
//必填,不能修改
//服务器异步通知页面路径
$notify_url = HOMEURL . "plugins/wapalipay/return/notify_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数
//页面跳转同步通知页面路径
$return_url = HOMEURL . "plugins/wapalipay/return/return_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
$order_sn = $_GET['id'];
$order_sn = trim($order_sn);
//根据订单号获取订单信息
$order_info = OrderInfo::getOrderInfoBySn($order_sn);
if (!$order_info) {
    exit("error");
}
//商户订单号
$out_trade_no = $order_info['sn'];
//商户网站订单系统中唯一订单号,必填
//订单名称
$subject = 'test';
//必填
//付款金额
$total_fee = $order_info['order_money'] + $order_info['shipping_fee'] - $order_info['bonus'];
//必填
//订单描述
$body = 'very good';
//商品展示地址
コード例 #14
0
ファイル: handleorder.php プロジェクト: lughong/test
$log->write('aliapyweb', $_REQUEST);
if ($_REQUEST['trade_status'] == 'TRADE_FINISHED' || $_REQUEST['trade_status'] == 'TRADE_SUCCESS') {
    //判断该笔订单是否在商户网站中已经做过处理
    //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
    //请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的
    //如果有做过处理,不执行商户的业务程序
    //注意(TRADE_FINISHED):
    //退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
    //注意(TRADE_SUCCESS):
    //付款完成后,支付宝系统发送该交易状态通知
    //调试用,写文本函数记录程序运行情况是否正常
    //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
    //检查订单是否存在
    $order_info = OrderInfo::get_order_info_by_sn($out_trade_no);
    if ($order_info) {
        //检查支付钱数是否被修改过
        $total_fee = $_REQUEST['total_fee'];
        $money_paid = $order_info[0]['order_money'] + $order_info[0]['shipping_fee'] - $order_info[0]['bonus'];
        if ($total_fee != $money_paid) {
            exit('error');
        }
        $order_id = $order_info[0]['order_id'];
        //支付成功,改变支付状态为yes
        if ($order_info[0]['pay_status'] == 'no') {
            $order = new OrderInfo($order_id);
            $order->pay_status();
        }
        header("location:" . URL . 'wapalipay/alipay/zfb_order_done/' . $order_id);
        exit;
    }
}
コード例 #15
0
ファイル: notify_url.php プロジェクト: lughong/test
        //支付成功
        $order_sn = $notify->data["out_trade_no"];
        $order_sn = trim($order_sn);
        $log->write('wxpay_notify', array('out_trade_no' => $order_sn));
        //把订单中的支付改为微信支付
        $order_info = OrderInfo::get_order_info_by_sn($order_sn);
        if ($order_info) {
            //检查支付钱数是否被修改过
            $total_fee = $notify->data["total_fee"] / 100;
            $money_paid = $order_info[0]['order_money'] + $order_info[0]['shipping_fee'] - $order_info[0]['bonus'];
            if ($total_fee != $money_paid) {
                $log->write('wxpay_money', "支付钱数对不上, 订单号为:" . $order_info[0]['sn'] . ", 微信返回总钱数" . $total_fee . "!=订单总钱数" . $money_paid . "\n" . json_encode($notify->data) . "\n" . json_encode($order_info) . "\n");
                exit('error');
            }
            $order_id = $order_info[0]['order_id'];
            //支付成功,改变支付状态为yes
            if ($order_info[0]['pay_status'] == 'no') {
                $order = new OrderInfo($order_id);
                $modify = $order->wx_pay_status();
                $log->write('wxpay_notify_changepay', $modify);
                $log->write('wxpay_notify', "【支付成功】:\n" . $xml . "\n");
            }
        } else {
            exit('error');
        }
    }
    //商户自行增加处理流程,
    //例如:更新订单状态
    //例如:数据库操作
    //例如:推送支付完成信息
}
コード例 #16
0
 function getTag($tag)
 {
     $value = null;
     switch ($tag) {
         case 'Local_PersonInfoShipping':
         case 'Local_PersonInfoBilling':
             $group_name = _ml_strtolower(str_replace('Local_PersonInfo', '', $tag));
             $lang_suffix = _ml_strtoupper($group_name . '_info');
             $this->current_info_group = array('name' => $group_name, 'lang_suffix' => $lang_suffix);
             $value = $this->templateFiller->fill('GroupHeader');
             $value .= $this->out_CustomerInfoGroup(_ml_ucfirst($group_name));
             break;
         case 'Local_KeyDetails':
             $this->current_info_group = array('name' => 'key', 'lang_suffix' => 'KEY_DETAILS');
             $value = $this->templateFiller->fill('GroupHeader');
             $value .= $this->out_KeyDetails();
             break;
         case 'Local_ProductsDetails':
             $this->current_info_group = array('name' => 'products', 'lang_suffix' => 'ORDERED_PRODUCTS');
             $value = $this->templateFiller->fill('GroupHeader');
             $value .= $this->templateFiller->fill('ProductsContainer');
             break;
         default:
             $value = parent::getTag($tag);
             break;
     }
     return $value;
 }
コード例 #17
0
ファイル: order.php プロジェクト: jycx/yimai_shop_php
 $totals = $_POST['totalPrice'];
 //合法性判断
 if (empty($_info['i_name'])) {
     my_redirect("order.php?goods_id={$goods_id}", '接收人姓名不能为空!', '正在为您跳转到订单页面!');
 }
 if (empty($_info['i_address'])) {
     my_redirect("order.php?goods_id={$goods_id}", '接收人地址不能为空!', '正在为您跳转到订单页面!');
 }
 if (empty($_info['i_phone'])) {
     my_redirect("order.php?goods_id={$goods_id}", '接收人电话不能为空!', '正在为您跳转到订单页面!');
 }
 if (strlen($_info['i_phone']) != 11) {
     my_redirect("order.php?goods_id={$goods_id}", '电话号码长度必须为11位!', '正在为您跳转到订单页面!');
 }
 //获取订单详情对象
 $orderInfo = new OrderInfo();
 $orderNumber = $orderInfo->getOrderNumber();
 $_info['i_number'] = $orderNumber;
 //订单详情插入订单表内
 //$_SESSION['order_goods']['o_id'] = $orderInfo->insertOrderInfo($_info);
 if ($order_id = $orderInfo->insertOrderInfo($_info)) {
     //将订单内商品信息插入订单商品表
     //var_dump($_SESSION['orderGoods']);exit;
     $order_goods = new OrderGoods();
     $_goods['o_id'] = $order_id;
     $_goods['g_id'] = $_SESSION['orderGoods']['g_id'];
     $_goods['g_code'] = $_SESSION['orderGoods']['g_code'];
     $_goods['o_name'] = $_SESSION['orderGoods']['c_name'];
     $_goods['o_price'] = $_SESSION['orderGoods']['c_price'];
     $_goods['o_number'] = $_SESSION['orderGoods']['c_number'];
     //往订单商品表添加商品
コード例 #18
0
ファイル: native.php プロジェクト: lughong/test
 * 4、在接到回调通知之后,用户进行统一下单支付,并返回支付信息以完成支付(见:native_notify.php)
 * 5、支付完成之后,微信服务器会通知支付成功
 * 6、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
 */
$notify = new NativePay();
//模式二
/**
 * 流程:
 * 1、调用统一下单,取得code_url,生成二维码
 * 2、用户扫描二维码,进行支付
 * 3、支付完成之后,微信服务器会通知支付成功
 * 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
 */
//查询订单
$sn = htmlspecialchars(trim($_GET['id']));
$order_info = OrderInfo::get_order_info_by_sn($sn);
if ($order_info) {
    $order_info = $order_info[0];
}
$order_sn = $order_info['sn'];
$money_paid = ($order_info['order_money'] + $order_info['shipping_fee'] - $order_info['bonus']) * 100;
$order_id = $order_info['order_id'];
$artqiyi_money_paid = $order_info['order_money'] + $order_info['shipping_fee'] - $order_info['bonus'];
$order_time = $order_info['createtime'];
//订单描述
$goods_list = OrderGoodsInfo::get_order_goods_list($order_info['order_id']);
$tshirt = 0;
$phone = 0;
$pillow = 0;
$bag = 0;
$battery = 0;
コード例 #19
0
ファイル: handleorder.php プロジェクト: lughong/shop
    //请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的
    //如果有做过处理,不执行商户的业务程序
    //注意(TRADE_FINISHED):
    //退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
    //注意(TRADE_SUCCESS):
    //付款完成后,支付宝系统发送该交易状态通知
    //调试用,写文本函数记录程序运行情况是否正常
    //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
    //检查订单是否存在
    $order_info = OrderInfo::getOrderInfoBySn($out_trade_no);
    if ($order_info) {
        //检查支付钱数是否被修改过
        $total_fee = $_REQUEST['total_fee'];
        $money_paid = $order_info[0]['order_money'] + $order_info[0]['shipping_fee'] - $order_info[0]['bonus'];
        if ($total_fee != $money_paid) {
            Log::write2("支付钱数对不上, 订单号为:" . $order_info['sn'] . ", 支付宝返回总钱数" . $total_fee . "!=订单总钱数" . $money_paid . "\n" . json_encode($_REQUEST) . "\n" . json_encode($order_info) . "\n", 'wapalipay');
            exit('error');
        }
        $order_id = $order_info[0]['order_id'];
        //支付成功,改变支付状态为yes
        if ($order_info[0]['pay_status'] == 'no') {
            OrderInfo::editOrderStatus($order_id, '支付宝');
        }
        header("location:" . URL . 'wapalipay/alipay/zfb_order_done/' . $order_id);
        exit;
    } else {
        Log::write2("订单" . $out_trade_no . "不存在\n" . json_encode($_REQUEST) . "\n", 'wxpay_saoma');
    }
} else {
    Log::write2("订单" . $out_trade_no . "支付失败\n", 'wxpay_saoma');
}
コード例 #20
0
ファイル: OrderConnector.php プロジェクト: larryu/magento-b2b
 /**
  * creating order info
  *
  * @param Order         $order
  * @param OrderInfoType $type
  * @param string        $value
  *
  * @return B2BConnector
  */
 private function _createOrderInfo(Order $order, OrderInfoType $type, $value)
 {
     $items = OrderInfo::find($order, $type);
     if (count(OrderInfo::find($order, $type)) > 0) {
         foreach ($items as $item) {
             OrderInfo::create($order, $type, $value, $item);
         }
     } else {
         OrderInfo::create($order, $type, $value);
     }
     return $this;
 }
コード例 #21
0
ファイル: handleorder.php プロジェクト: lughong/shop
<?php

require_once "../../../include.php";
Log::write2("call back:\n" . json_encode($data) . "\n", 'wxpay_saoma');
//把订单中的支付改为微信支付
$sn = $data['out_trade_no'];
$order_info = OrderInfo::getOrderInfoBySn($sn);
if ($order_info) {
    //检查支付钱数是否被修改过
    $total_fee = $data["total_fee"] / 100;
    $money_paid = $order_info['order_money'] + $order_info['shipping_fee'] - $order_info['bonus'];
    if ($total_fee != $money_paid) {
        Log::write2("支付钱数对不上, 订单号为:" . $order_info . ", 微信返回总钱数" . $total_fee . "!=订单总钱数" . $money_paid . "\n" . json_encode($data) . "\n" . json_encode($order_info) . "\n", 'wxpay_saoma');
        return false;
    }
    //支付成功,改变支付状态为yes
    $order_id = $order_info['order_id'];
    if ($order_info['pay_status'] == 'no') {
        OrderInfo::editOrderStatus($order_id, '微信扫码');
        Log::write2("【支付成功】:\n" . json_encode($data) . "\n" . json_encode($order_info) . "\n", 'wxpay_saoma');
    }
} else {
    Log::write2("订单" . $sn . "不存在\n" . json_encode($data) . "\n", 'wxpay_saoma');
    return false;
}