Bladeren bron

fix:聚裕支付失败;

Wang Chen 4 jaren geleden
bovenliggende
commit
607f338f2b

+ 9 - 0
app/Http/Controllers/QuickApp/Order/OrdersController.php

@@ -7,6 +7,7 @@ use App\Libs\Utils;
 use App\Modules\Activity\Models\Activity;
 use App\Modules\Statistic\Services\AdVisitStatService;
 use App\Http\Controllers\QuickApp\BaseController;
+use App\Modules\User\Models\QappPackage;
 use Illuminate\Http\Request;
 
 use App\Modules\Subscribe\Services\BookOrderService;
@@ -505,6 +506,14 @@ class OrdersController extends BaseController
     {
         if ($params = $this->getPayParams($request)) {
             $params['pay_merchant_id'] = $this->app_pay_merchat_id;
+
+            // 针对聚裕的包无法支付的问题(注册时传入了仙女阅读的包名,导致支付时取的支付信息不一致)
+            $package = $request->header('x-package', '');
+            if ($package === 'com.juyu.kuaiying.rmyq') {
+                $packageInfo               = QappPackage::getPackageByPackage($package);
+                $params['pay_merchant_id'] = getProp($packageInfo, 'app_pay_merchat_id');
+            }
+
         } else {
             return response()->error('QAPP_PARAM_ERROR');
         }

+ 2 - 2
app/Modules/Trade/Pay/OrderArousePayFactory.php

@@ -4,8 +4,8 @@ namespace App\Modules\Trade\Pay;
 
 /**
  * 
- * @method static \App\Modules\Trade\Pay\WxOrderArousePay wx(int uid)
- * @method static \App\Modules\Trade\Pay\AliOrderArousePay ali(int uid)
+ * @method static \App\Modules\Trade\Pay\WxOrderArousePay wx(int $uid)
+ * @method static \App\Modules\Trade\Pay\AliOrderArousePay ali(int $uid)
  */
 class OrderArousePayFactory
 {

+ 10 - 10
app/Modules/Trade/Pay/WxOrderArousePay.php

@@ -11,19 +11,19 @@ class WxOrderArousePay extends OrderArousePayAbstract
 {
     public function arouse(array $data)
     {
-        $pay_merchant_id = (int) $data['pay_merchant_id'];
-        $config = PayMerchantService::findPayConfig($pay_merchant_id);
-        $pay = PayFactory::official($config);
+        $pay_merchant_id = (int)$data['pay_merchant_id'];
+        $config          = PayMerchantService::findPayConfig($pay_merchant_id);
+        $pay             = PayFactory::official($config);
         try {
             $payOrder = [
-                'trade_type'     => $data['trade_type'], // 交易类型
-                'trade_no'     => $data['trade_no'], // 订单号
-                'price'        => $data['price'], // 订单金额,单位:分
-                'body'             => $this->getSubjectName($data['distribution_channel_id']), // 订单描述
-                'create_ip' => _getIp(), // 支付人的 IP
-                'remark'            =>  $pay_merchant_id
+                'trade_type' => $data['trade_type'], // 交易类型
+                'trade_no'   => $data['trade_no'], // 订单号
+                'price'      => $data['price'], // 订单金额,单位:分
+                'body'       => $this->getSubjectName($data['distribution_channel_id']), // 订单描述
+                'create_ip'  => _getIp(), // 支付人的 IP
+                'remark'     => $pay_merchant_id
             ];
-            $result = $pay->send($payOrder);
+            $result   = $pay->send($payOrder);
             if ($result) {
                 return $result;
             } else {