public function handle_request_internal() { $date = date("Y-m"); $path = "/data1/logs/CustomerAcenterAliPayNotify_" . $date . ".log"; file_put_contents($path, print_r($this->_params, true), FILE_APPEND); file_put_contents($path, "**********************\n", FILE_APPEND); if (!Bll_CustomerRush_Payment_Pay::getInstance()->notifyCheck($this->_params)) { echo "fail"; exit; } if (!$this->_params['tradeStatus']) { echo "success"; exit; } $result = Bll_CustomerRush_Payment_Pay::getInstance()->notifyBizDeal($this->_params); if ($result['status'] == 'ok') { echo "success"; exit; } else { // 失败下,记录失败信息 file_put_contents($path, print_r($result, true), FILE_APPEND); file_put_contents($path, "**********************\n", FILE_APPEND); echo "fail"; exit; } }
public static function &getInstance() { if (self::$_instance === null) { self::$_instance = new self(); } return self::$_instance; }
public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $couponId = $this->_params['couponId']; $payType = $this->_params['type']; $amount = $this->_params['amount']; $source = $this->_params['source']; $result = array('status' => 'error'); // 验证经纪人是否合法 $broker = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$broker) { $result['message'] = '经纪人不合法'; return $result; } /* // 限制购买时间 3个小时之内不能重复购买 if(time() < strtotime(APF::get_instance()->get_config("cancel_customer_coupon_buy_limit_date", "customer"))) { $lastOrder = Bll_CustomerRush_Order::getInstance()->getLatestOrder($brokerId,Model_Mobile_CustomerOrder::STATUS_OK); if($lastOrder && $lastOrder['createTime'] > time() - 3 * 60 * 60) { $result['message'] = '购买过于频繁,请稍后再试'; $result['errcode'] = Const_APIStatus::E_CUSTOMER_RUSH_BUY_TIME_LIMIT; return $result; } } */ // 获取抢客劵信息 $tmpCoupon = Bll_CustomerRush_Coupon::getInstance()->getCouponById($couponId); if (!$tmpCoupon) { $result['message'] = '没有抢客劵信息'; return $result; } $coupon = $tmpCoupon[0]; if ($coupon['disPrice'] < 0) { $result['message'] = '抢客劵信息异常'; return $result; } if ($payType == 1) { // 支付宝支付 $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->getAliPayKey($broker, $coupon, $amount, $payType, $source); if ($tmp['status'] == 'ok') { $result['status'] = 'ok'; $result['data'] = array('url' => $tmp['url'], 'orderNo' => !empty($tmp['order']) ? $tmp['order']['orderNo'] : ''); } else { $result['status'] = 'error'; $result['message'] = $tmp['message']; } } elseif ($payType == 2) { // 微信支付 $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->getWechatPayKey($broker, $coupon, $amount, $payType, $source); if ($tmp['status'] == 'ok') { $result['status'] = 'ok'; $result['data'] = array('url' => $tmp['url'], 'orderNo' => !empty($tmp['order']) ? $tmp['order']['orderNo'] : ''); } else { $result['status'] = 'error'; $result['message'] = $tmp['message']; } } elseif ($payType == 3) { // 安币支付 $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->buyCouponByAnbi($broker, $coupon, $amount, $payType, $source); if ($tmp['status'] == 'ok') { $result['status'] = 'ok'; $order = $tmp['order']; $effectiveTime = APF::get_instance()->get_config('customer_broker_coupon_effective_time', 'customer'); $startDate = date("Y-m-d", $order['createTime']); $tmpEndDate = strtotime($startDate) + $effectiveTime * 24 * 60 * 60 - 1; $result['data'] = array('orderStatus' => $order['status'], 'startDate' => $startDate, 'endDate' => date("Y-m-d", $tmpEndDate), 'amount' => $coupon['totalNum'] * $order['num'], 'orderNo' => $order['orderNo']); } } else { $result['message'] = '支付方式参数不正确'; } return $result; }