globalUser->UserID;//(int)$request->input('userID'); $payAmt = $request->input('payAmt'); $userName = $request->input('userName'); $userEmail = $request->input('userEmail'); $userPhone = $request->input('userPhone'); $pay_type = (int)$request->input('pay_type',28); $pay_method = $request->input('pay_method', 1); $GiftsID = (int)$request->input('GiftsID'); $AdId = $request->input('AdId'); $eventType = $request->input('eventType'); $buyIP = $request->ip(); if ($GiftsID == 'undefined') $GiftsID = ''; $where[] = ['type', 'pay_method']; $where[] = ['status', 1]; $where[] = ['id', $pay_type]; // $payMethods = [ // 'cashapp' => 1, // 'paypal' => 2, // 'applepay' => 4, // 'googlepay' => 8, // // ]; // 退款订单限制(仅在 pay_method = 2 时生效) if ((int)$pay_method === 2) { $refundCacheKey = 'user_refund_paymethod2_' . $userId; // 如果缓存中已经标记过有退款订单,则直接拦截 if (Redis::get($refundCacheKey)) { return apiReturnFail(['web.payment.paytype_error','Refund Order Exists']); } // 查询是否存在退款订单(pay_status = 9 且 order_title = 2) $hasRefundOrder = DB::connection('write') ->table('agent.dbo.order') ->where('user_id', $userId) // ->where('order_title', 2) ->where('pay_status', 9) ->exists(); // 有退款订单则写入缓存并返回错误 if ($hasRefundOrder) { // 缓存一段时间,避免频繁查询 Redis::setex($refundCacheKey, 86400, 1); return apiReturnFail(['web.payment.paytype_error','Refund Order Exists']); } } $query = DB::table('agent.dbo.admin_configs')->where($where)->value('config_key'); if ($query === null || $query === false) { return apiReturnFail(['web.payment.paytype_error','PayType ERROR']); } if($pay_method>=64){ $payServiceString = 'CoinPay'; }else{ $payServiceString = PayMentService::getServiceByPayMethod($query, $payAmt,$pay_method); } $service = PayMentService::pay_order($payServiceString); if(isset($AdId)&&!empty($AdId))Redis::set('user_ad_'.$userId,$AdId); $result = $service->pay_order($userId, $payAmt, $userName, $userEmail, $userPhone, $GiftsID, $buyIP, $AdId, $eventType, $pay_method); return $result; } // 新支付总入口---区分签名 public function payQR(Request $request) { // 获取数据 $userId = (int)$request->globalUser->UserID;//(int)$request->input('userID'); $payAmt = (int)$request->input('payAmt'); $userName = $request->input('userName'); $userEmail = $request->input('userEmail'); $userPhone = $request->input('userPhone'); $pay_type = (int)$request->input('pay_type'); $GiftsID = (int)$request->input('GiftsID'); $AdId = $request->input('AdId'); $eventType = $request->input('eventType'); $buyIP = $request->ip(); $pay_method = (int)$request->input('pay_method','clabe'); if ($GiftsID == 'undefined') $GiftsID = ''; Log::info('channel', [ 'string' => 'BroQrController' ]); $service =new BroQrController(); if(isset($AdId)&&!empty($AdId))Redis::set('user_ad_'.$userId,$AdId); $result = $service->pay_order($userId, $payAmt, $userName, $userEmail, $userPhone, $GiftsID, $buyIP, $AdId, $eventType); return $result; } // 新支付总入口---区分签名 public function iospay(Request $request) { // 获取数据 $userId =(int)$request->globalUser->UserID;// (int)$request->input('userID'); $payAmt = (int)$request->input('payAmt'); $userName = $request->input('userName'); $userEmail = $request->input('userEmail'); $userPhone = $request->input('userPhone'); $pay_type = (int)$request->input('pay_type'); $GiftsID = (int)$request->input('GiftsID'); $AdId = $request->input('AdId'); $eventType = $request->input('eventType'); $buyIP = $request->ip(); if ($GiftsID == 'undefined') $GiftsID = ''; $service = PayMentService::pay_order('apple'); $result = $service->pay_order($userId, $payAmt, $userName, $userEmail, $userPhone, $GiftsID, $buyIP, $AdId, $eventType); return $result; } // 新支付总入口---区分签名 public function googlepay(Request $request) { // 获取数据 $userId = (int)$request->globalUser->UserID;//(int)$request->input('userID'); $payAmt = (int)$request->input('payAmt'); $userName = $request->input('userName'); $userEmail = $request->input('userEmail'); $userPhone = $request->input('userPhone'); $pay_type = (int)$request->input('pay_type'); $GiftsID = (int)$request->input('GiftsID'); $AdId = $request->input('AdId'); $eventType = $request->input('eventType'); $buyIP = $request->ip(); if ($GiftsID == 'undefined') $GiftsID = ''; $service = PayMentService::pay_order('google'); $result = $service->pay_order($userId, $payAmt, $userName, $userEmail, $userPhone, $GiftsID, $buyIP, $AdId, $eventType); return $result; } }