uid;
$order = Db::name('order_info')->where('user_id',$user_id)->where('order_id',$order_id)->find();
if($order['pay_status'] != 0)
{
throw new Exception(self::getMessage('ERR_ORDER_STATUS_ERROR'), self::ERR_ORDER_STATUS_ERROR);
}
switch($payType)
{
case 1://货到付款
$data['pay_type'] = $payType;
$data['status'] = 6;
Db::name('order_info')->where('user_id',$user_id)->where('order_id',$order_id)->update($data);
break;
case 2://线下支付
$data['pay_type'] = $payType;
$data['status'] = 6;
Db::name('order_info')->where('user_id',$user_id)->where('order_id',$order_id)->update($data);
break;
case 3://小程序支付
break;
case 4://微信支付
$data['wxPayInfo'] = model(PayService::class)->wxPayInfo($order);
break;
case 5://支付宝支付
$data['aliPayInfo'] = model(PayService::class)->aliPayInfo($order);
break;
default:
throw new Exception('支付方式有误');
}
$data['pay_type'] = $payType;
$data['out_trade_no'] = $order['order_sn'];
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'), $data);
} catch (Exception $e) {
return self::returnMsg(self::ERR_ORDER_STATUS_ERROR, $e->getMessage());
}
}
public function aliPayCallback(){
$result = false;
try{
$params = $_POST;
$result = model(PayService::class)->aliPayCallback($params);
} catch (PayException $e) {
Log::error('支付宝支付失败');
$result = false;
} catch (\app\exceptions\Exception $e) {
//TODO 进来的订单是待支付状态
Log::error('支付宝回调失败');
Log::error($e->getMessage());
$returnData = $e->getReturnData();
model(PayService::class)->aliPayRefund($returnData);
$result = false;
} finally {
if($result)
{
echo "success";
}else{
echo "fail";
}
}
}
public function wxPayCallback(){
try{
Log::info("进入微信支付回调");
$config = Config::pull('wxpay');
$wxConfig = new WxPayConfig($config);
$notify = new WxPayNotify();
$notify->Handle($wxConfig);
} catch (PayException $e) {
//TODO 进来的订单是待支付状态
Log::record('微信支付失败');
echo '';
} catch (\app\exceptions\Exception $e) {
Log::record('微信支付失败');
model(PayService::class)->wxPayRefund($e->getReturnData());
echo '';
}
}
}