| | |
| | | use app\common\service\order\OrderRefundService; |
| | | use app\common\model\supplier\Balance as supplierBalanceModel; |
| | | use app\common\model\supplier\Supplier as SupplierModel; |
| | | |
| | | use app\common\model\payment\PaymentLog as PaymentLogModel; |
| | | /** |
| | | * 普通订单模型 |
| | | */ |
| | |
| | | // 判断订单状态 |
| | | $checkPay = CheckPayFactory::getFactory($order['order_source']); |
| | | |
| | | if (!$checkPay->checkOrderStatus($order)) { |
| | | if (!$checkPay->checkOrderStatus($order, $params)) { |
| | | $this->error = $checkPay->getError(); |
| | | return false; |
| | | } |
| | |
| | | $orderInfo->save(['balance' => $user_balance, 'online_money' => $online_money]); |
| | | } |
| | | } |
| | | }elseif(!empty($params['activation_code'])){ |
| | | $payType = 50; |
| | | $orderInfo->save(['activation_code' => $params['activation_code']]); |
| | | $data['attach'] = '{"pay_source":"' . $params['pay_source'] . '"}'; |
| | | $this->onPaymentByActivation($orderInfo['trade_no'], $data); |
| | | } else { |
| | | if ($payType <= 10) { |
| | | $this->error = '请选择支付方式'; |
| | |
| | | } else { |
| | | $orderInfo->save(['online_money' => $online_money]); |
| | | } |
| | | } |
| | | }$payment = new PaymentLogModel(); |
| | | $paylog_data = [ |
| | | 'app_id' => $orderInfo['app_id'], |
| | | 'order_no' => $order_no, |
| | | 'order_id' => $orderInfo['order_id'], |
| | | 'online_money' => $online_money, |
| | | 'order_source' => $orderInfo['order_source'] |
| | | ]; |
| | | $payment->savePaymentLog($paylog_data); |
| | | $online_money > 0 && $payment = self::onOrderPayment($user, $order_no, $payType, $params['pay_source'], $online_money, $multiple, $shop_supplier_id); |
| | | |
| | | $result['order_id'] = $params['order_id']; |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 激活码支付标记订单已支付 |
| | | */ |
| | | public function onPaymentByActivation($orderNo, $data) |
| | | { |
| | | // 获取订单详情 |
| | | $PaySuccess = new MasterPaySuccessService($orderNo,['multiple'=>0]); |
| | | // 发起激活码支付 |
| | | $status = $PaySuccess->onPaySuccess(OrderPayTypeEnum::CTIVATIONCODE, $data); |
| | | if (!$status) { |
| | | $this->error = $PaySuccess->getError(); |
| | | } |
| | | return $status; |
| | | } |
| | | |
| | | } |