PaymentController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Services\PayMentService;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. class PaymentController
  7. {
  8. // 支付总入口
  9. public function pay(Request $request)
  10. {
  11. // 获取数据
  12. $userId = (int)$request->post('userID');
  13. $payAmt = (int)$request->input('payAmt');
  14. $userName = $request->input('userName');
  15. $userEmail = $request->input('userEmail');
  16. $userPhone = $request->input('userPhone');
  17. $pay_type = (int)$request->input('pay_type');
  18. $GiftsID = (int)$request->input('GiftsID');
  19. $buyIP = $request->ip();
  20. $AdId = $request->input('AdId');
  21. $eventType = $request->input('eventType');
  22. // 验证是不是10卢币首充礼包
  23. if ($GiftsID == 200 || ($GiftsID >= 104 && $GiftsID <= 107)) {
  24. // 查询状态
  25. $first = DB::connection('write')->table('QPAccountsDB.dbo.SystemStatusInfo')
  26. ->where('StatusName', 'FirstChargeGiftBagStatus')
  27. ->first();
  28. if ($first->StatusValue != 1) return apiReturnFail(['web.payment.activity_closed',__('messages.api.payment.activity_closed')]);
  29. // 首充
  30. $firstCharge = DB::connection('write')->table('QPAccountsDB.dbo.SystemStatusInfo')
  31. ->where('StatusName', 'FirstChargeGiftBag')
  32. ->first();
  33. $pay_type = $firstCharge->StatusValue;
  34. }
  35. $where[] = ['type', 'pay'];
  36. $where[] = ['status', 1];
  37. $where[] = ['id', $pay_type];
  38. if ($GiftsID == 'undefined') {
  39. $GiftsID = '';
  40. }
  41. $query = DB::table('agent.dbo.admin_configs')->where($where)->value('config_key');
  42. if (!$query) {
  43. return apiReturnFail(['web.payment.paytype_error',__('messages.api.payment.paytype_error')]);
  44. }
  45. $service = PayMentService::pay_order($query);
  46. $result = $service->pay_order($userId, $payAmt, $userName, $userEmail, $userPhone, $GiftsID,$buyIP,$AdId,$eventType);
  47. return $result;
  48. }
  49. }