Browse Source

当面付

gorden 7 months ago
parent
commit
23d6915c53

+ 20 - 1
app/admin/controller/order/WholeController.php

@@ -645,8 +645,26 @@ class WholeController extends Curd
             $params['order_config_json'] = json_encode($orderConfigJson);
 
             // 如果是扫码支付
-            if($params['pay_category'] == 'QRCODE' && !empty($params['qrcode_nbr'])){
+            if($params['pay_category'] == 'QRCODE' && !empty($params['qrcode_nbr']) && $params['order_status_payment'] == 'SUCCESS'){
                 $result = OrderService::qrcodePay($params);
+                $result = json_encode($result);
+                $params['pay_json_response'] = $result;
+                $result = json_decode($result,true);
+
+                $prefix = substr($params['qrcode_nbr'],0,2);
+                if(in_array($prefix,[10,11,12,13,14,15])){
+                    $params['pay_category'] = 'WXPAY';
+                    if($result['return_code'] != 'SUCCESS' || $result['result_code'] != 'SUCCESS'){
+                        Db::rollBack();
+                        return json_fail('支付失败');
+                    }
+                }else if(in_array($prefix,[25,26,27,28,29,30])){
+                    $params['pay_category'] = 'ALIPAY';
+                    // if($result['return_code'] != 'SUCCESS' || $result['result_code'] != 'SUCCESS'){
+                    //     Db::rollBack();
+                    //     return json_fail('支付失败');
+                    // }
+                }
                 dump($result);
             }
             // 写入主订单
@@ -838,6 +856,7 @@ class WholeController extends Curd
                 'pay_amount' => $params['order_sheet_pay'],
                 'pay_prepayid' => $payPrepayid,
                 'pay_paytimes' => date('Y-m-d H:i:s'),
+                'pay_json_response'=>$params['pay_json_response'] ?? '[]',
                 'pay_remark' => $params['order_remark'] ?? '',
                 'pay_addtimes' => time()
             ];

+ 13 - 4
app/admin/service/order/OrderService.php

@@ -142,8 +142,12 @@ class OrderService
                 'total_fee'      => 1,//$params['order_sheet_pay']*100,
                 'auth_code' => $params['qrcode_nbr'],
             ];
-            $result = Pay::wechat(config('payment.wxpay'))->pos($payData);
-            dump($result);
+            try{
+                $result = Pay::wechat(config('payment.wxpay'))->pos($payData);
+            }catch(\Exception $e){
+                Log::error("WXPAY",$e->getMessage());
+                throw new BusinessException("支付失败");
+            }
 
             Log::info("WXPAY_RETURN",$result);
 
@@ -154,8 +158,13 @@ class OrderService
                 'subject'      => '万悦康养订单',
                 'auth_code' => $params['qrcode_nbr'],
             ];
-            $result = Pay::alipay(config('payment.alipay'))->pos($payData);
-            dump($result);
+            try{
+                $result = Pay::alipay(config('payment.alipay'))->pos($payData);
+            }catch(\Exception $e){
+                Log::error("ALIPAY",$e->getMessage());
+                throw new BusinessException("支付失败");
+            }
+            
             Log::info("ALIPAY_RETURN",$result);
 
         }else{