gorden před 8 měsíci
rodič
revize
1e919d26b5

+ 106 - 92
app/admin/controller/order/WholeController.php

@@ -66,7 +66,7 @@ class WholeController extends Curd
         $order = $request->get('order', 'desc');
         $field = $field ?? 'order_addtimes';
 
-        if (!empty($where['order_status_system']) && in_array($where['order_status_system'],['PENDING','WAITING','SENDING','RECVING','SIGNED','CONFIRM'])){
+        if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
             $where['order_is_complete'] = 'N';
         }
 
@@ -84,7 +84,7 @@ class WholeController extends Curd
     {
         $model = $this->model->with([
             'sheet' => function ($query) {
-                $query->select('join_sheet_order_id', 'order_sheet_id', 'join_sheet_goods_id','order_sheet_num');
+                $query->select('join_sheet_order_id', 'order_sheet_id', 'join_sheet_goods_id', 'order_sheet_num');
             },
             'member' => function ($query) {
                 $query->select('member_id', 'member_mobile');
@@ -92,11 +92,11 @@ class WholeController extends Curd
             'cert' => function ($query) {
                 $query->select('join_cert_member_id', 'member_cert_name');
             },
-            'return' => function($query){
-                $query->select('orders_return_id','join_return_order_id', 'order_return_status');
+            'return' => function ($query) {
+                $query->select('orders_return_id', 'join_return_order_id', 'order_return_status');
             },
-            'express' => function($query){
-                $query->select('join_express_order_id','order_express_type');
+            'express' => function ($query) {
+                $query->select('join_express_order_id', 'order_express_type');
             }
         ]);
         foreach ($where as $column => $value) {
@@ -172,8 +172,8 @@ class WholeController extends Curd
                 $query->where('goods_sku_status', 'ON')
                     ->select('goods_sku_id', 'join_sku_goods_id', 'goods_sku_specs_json', 'goods_sku_sales_price');
             },
-            'refund'=>function($query){
-                $query->select('join_return_order_id','order_return_status');
+            'refund' => function ($query) {
+                $query->select('join_return_order_id', 'order_return_status');
             }
         ])->where('join_sheet_order_id', $orderId)
             ->get()
@@ -181,7 +181,7 @@ class WholeController extends Curd
 
         $express = OrderExpress::where('join_express_order_id', $orderId)->first();
         $premises = '';
-        if($express && $express->order_express_type == '自提'){
+        if ($express && $express->order_express_type == '自提') {
             $premises = $express->order_express_company;
         }
         // if (!empty($express->order_express_code)){
@@ -238,7 +238,7 @@ class WholeController extends Curd
                 $benifit = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
                     ->where('join_benefit_order_id', $orderId)
                     ->first();
-                if(!empty($benifit)){
+                if (!empty($benifit)) {
                     $item['benefit'] = [
                         'total' => intval($benifit->member_benefit_limit_count),
                         'used' => intval($benifit->member_benefit_used_count),
@@ -293,32 +293,32 @@ class WholeController extends Curd
 
         $order = Order::where('order_id', $orderId)->first();
         $payDetail = PayDetail::where('join_pay_order_id', $order->order_groupby)
-            ->select('pay_id', 'pay_category', 'pay_prepayid','pay_paytimes','pay_status')
+            ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status')
             ->first();
 
-        if(!empty($payDetail->pay_prepayid)){
-            $categoryArray = explode('-',$payDetail->pay_prepayid);
-            if (isset($categoryArray[1])){
+        if (!empty($payDetail->pay_prepayid)) {
+            $categoryArray = explode('-', $payDetail->pay_prepayid);
+            if (isset($categoryArray[1])) {
                 $payDetail->pay_category = $categoryArray[1];
-            }else if(in_array($categoryArray[0],['A01','W06'])){
+            } else if (in_array($categoryArray[0], ['A01', 'W06'])) {
                 $payDetail->pay_category = $categoryArray[0];
-            }else{
-                if (MemberAccount::where('member_account_nbr',$categoryArray[0])->where('member_account_classify','CARD')->exists()){
+            } else {
+                if (MemberAccount::where('member_account_nbr', $categoryArray[0])->where('member_account_classify', 'CARD')->exists()) {
                     $payDetail->pay_category = 'CARD';
-                }else{
+                } else {
                     $payDetail->pay_category = 'CASH';
                 }
             }
-        }else if(!empty($payDetail)){
+        } else if (!empty($payDetail)) {
             $payDetail->pay_category = 'CASH';
         }
 
-        if (!empty($order->order_config_json)){
-            $orderConfigJson = json_decode($order->order_config_json,true);
-            if(isset($orderConfigJson['reach'])){
+        if (!empty($order->order_config_json)) {
+            $orderConfigJson = json_decode($order->order_config_json, true);
+            if (isset($orderConfigJson['reach'])) {
                 $order->reach = $orderConfigJson['reach'];
             }
-            if(isset($orderConfigJson['table'])){
+            if (isset($orderConfigJson['table'])) {
                 $order->table = $orderConfigJson['table'];
             }
             // if(isset($orderConfigJson['express'])){
@@ -362,21 +362,22 @@ class WholeController extends Curd
         }
     }
 
-    public function updateExpress($params){
-        $express = OrderExpress::where('join_express_order_id',$params['order_id'])->first();
-        if(!$express){
+    public function updateExpress($params)
+    {
+        $express = OrderExpress::where('join_express_order_id', $params['order_id'])->first();
+        if (!$express) {
             throw new BusinessException('物流信息异常');
         }
-        if($params['delivery'] == 'PICKUP'){
-            $premises = SysDept::where('dept_category','营业场所')->where('dept_name',$params['dept_premises_id'])->first();
+        if ($params['delivery'] == 'PICKUP') {
+            $premises = SysDept::where('dept_category', '营业场所')->where('dept_name', $params['dept_premises_id'])->first();
             $express->order_express_type = '自提';
-            $express->order_express_city = str_replace(',',' ',$premises->dept_city);
+            $express->order_express_city = str_replace(',', ' ', $premises->dept_city);
             $express->order_express_address = $premises->dept_address;
             $express->order_express_mobile = '';
             $express->order_express_person = '';
             $express->order_express_telephone = $premises->dept_telephone ?? '';
             $express->order_express_company = $params['dept_premises_id'];
-        }else if($params['delivery'] == 'LOGISTICS'){
+        } else if ($params['delivery'] == 'LOGISTICS') {
             $express->order_express_type = '配送';
             $express->order_express_city = $params['order_express_city'] ?? '';
             $express->order_express_address = $params['order_express_address'] ?? '';
@@ -386,11 +387,11 @@ class WholeController extends Curd
             $express->order_express_company = '';
         }
 
-        try{
-            if(($params['delivery'] == 'PICKUP') || ($params['delivery'] == 'LOGISTICS')){
+        try {
+            if (($params['delivery'] == 'PICKUP') || ($params['delivery'] == 'LOGISTICS')) {
                 $express->save();
             }
-        }catch(\Exception $e){
+        } catch (\Exception $e) {
             dump($e->getTrace());
             throw new BusinessException('修改配送方式失败');
         }
@@ -404,8 +405,8 @@ class WholeController extends Curd
             Db::beginTransaction();
 
             $order = Order::where('order_id', $params['order_id'])
-                ->where('order_status_system','CANCEL')
-                ->orWhere(function($query){
+                ->where('order_status_system', 'CANCEL')
+                ->orWhere(function ($query) {
                     $query->whereIn('order_status_system', ['WAITING', 'SENDING'])->where('order_category', 'SYSTEM');
                 })
                 ->first();
@@ -514,17 +515,17 @@ class WholeController extends Curd
                 $params['order_express_type'] = '配送';
                 // 入配送
                 $this->saveExpress($params);
-            }else if($params['delivery'] == 'PICKUP'){
+            } else if ($params['delivery'] == 'PICKUP') {
                 $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
                 $params['order_express_type'] = '自提';
-                if(!$premises){
+                if (!$premises) {
                     throw new BusinessException('自提门店不存在');
                 }
 
                 $params['order_express_city'] = $premises->dept_city;
                 $params['order_express_address'] = $premises->dept_address;
                 $params['order_express_telephone'] = $premises->dept_telephone;
-                
+
                 $this->saveExpress($params);
             }
             // 买的单个服务
@@ -606,7 +607,7 @@ class WholeController extends Curd
                 'order_status_payment' => $params['order_status_payment'],
                 'order_status_storage' => $params['order_status_storage'],
                 'order_remark' => $params['order_remark'] ?? '',
-                'order_config_json' =>$params['order_config_json'] ?? '[]',
+                'order_config_json' => $params['order_config_json'] ?? '[]',
                 'order_express_json' => $params['order_express_json'] ?? '[]',
                 'order_addtimes' => time()
             ];
@@ -668,7 +669,7 @@ class WholeController extends Curd
                 'pay_status' => 'SUCCESS',
                 'pay_category' => $params['pay_category'],
                 'pay_amount' => $params['order_sheet_pay'],
-                'pay_prepayid' => $params['join_order_member_id'].'-'.$params['pay_category'],
+                'pay_prepayid' => $params['join_order_member_id'] . '-' . $params['pay_category'],
                 'pay_paytimes' => date('Y-m-d H:i:s'),
                 'pay_remark' => $params['order_remark'] ?? '',
                 'pay_addtimes' => time()
@@ -700,7 +701,7 @@ class WholeController extends Curd
                 'join_appointment_goods_sku_id' => $params['join_sheet_goods_sku_id'],
                 'join_appointment_order_id' => $params['orderId'],
                 'join_appointment_member_benefit_id' => $params['benefitId'],
-                'appointment_classify' =>  $params['goods_classify'],
+                'appointment_classify' => $params['goods_classify'],
                 'appointment_status' => $params['order_status_system'] == 'DONE' ? 'DONE' : 'INIT',
                 'appointment_category' => 'NORMAL',
                 'appointment_addtimes' => time(),
@@ -965,7 +966,7 @@ class WholeController extends Curd
 
     public function writeOffDishes(Request $request)
     {
-        $orderId = $request->post('order_id','');
+        $orderId = $request->post('order_id', '');
         $memberId = $request->post('member_id', '');
         $times = $request->post('times', '');
         $code = $request->post('sms_code', '');
@@ -993,13 +994,13 @@ class WholeController extends Curd
             $writeOffData['charge'] = OrderService::generateWriteOffData($params);
             $writeOffData['charge']['order_id'] = $orderId;
             $writeOffData['charge']['member_id'] = $memberId;
-            $writeOffData['charge']['order_code'] = random_string(10,'number');
+            $writeOffData['charge']['order_code'] = random_string(10, 'number');
             $writeOffData['express'] = 'N';
-            
-            Order::where('order_id',$orderId)->update([
-                'order_express_json'=>json_encode($writeOffData),
-                'order_is_complete'=>'Y',
-                'order_status_system'=>'DONE'
+
+            Order::where('order_id', $orderId)->update([
+                'order_express_json' => json_encode($writeOffData),
+                'order_is_complete' => 'Y',
+                'order_status_system' => 'DONE'
             ]);
 
             Db::commit();
@@ -1049,7 +1050,7 @@ class WholeController extends Curd
             ->leftJoin('member_benefit', 'member_benefit.member_benefit_id', '=', 'appointment.join_appointment_member_benefit_id')
 //            ->leftJoin('goods_sku', 'goods_sku.goods_sku_id', '=', 'appointment.join_appointment_goods_sku_id')
             ->where('join_appointment_member_id', $memberId)
-            ->whereIn('appointment_status',['WAITING','PENDING','DOING','DONE','CANCEL','REVOKE'])
+            ->whereIn('appointment_status', ['WAITING', 'PENDING', 'DOING', 'DONE', 'CANCEL', 'REVOKE'])
             ->select('appointment.*',
 //            'member.member_mobile',
 //            'member_cert.member_cert_name',
@@ -1110,6 +1111,14 @@ class WholeController extends Curd
         }
     }
 
+    /**
+     * @Desc 退款
+     * @Author Gorden
+     * @Date 2024/7/8 8:40
+     *
+     * @param Request $request
+     * @return Response
+     */
     public function doRefund(Request $request)
     {
         $orderId = $request->post('order_id', '');
@@ -1119,7 +1128,7 @@ class WholeController extends Curd
         if (!$orderId || !$amount || !$password) {
             return json_fail('参数异常');
         }
-        if ($password != '123456'){
+        if ($password != '123456') {
             return json_fail('支付密码错误');
         }
 
@@ -1145,6 +1154,11 @@ class WholeController extends Curd
         if (!$payDetail) {
             return json_fail("支付信息异常异常");
         }
+        // 在线支付返回
+        $payJsonResponse = [];
+        if (!empty($payDetail->pay_json_response)) {
+            $payJsonResponse = json_decode($payDetail->pay_json_response, true);
+        }
 
 
         $res = '[]';
@@ -1155,10 +1169,10 @@ class WholeController extends Curd
             Order::where('order_id', $return->join_return_order_id)->update(['order_is_complete' => 'R']);
             // return 表
             $return->order_return_status = 'DONE';
-            $return->order_return_refund_json = json_encode(['amount'=>$amount]);
+            $return->order_return_refund_json = json_encode(['amount' => $amount]);
             $return->save();
-            // 区分账户余额支付和通联支付
-            if (in_array($payDetail->pay_prepayid, ['W06', 'A01'])) {
+            // 区分账户余额支付和在线支付
+            if (isset($payJsonResponse['paytype']) && in_array($payJsonResponse['paytype'], ['WXPAY', 'ALIPAY'])) {
                 $responseJson = [];
                 if (!empty($payDetail->pay_json_response)) {
                     $responseJson = json_decode($payDetail->pay_json_response, true);
@@ -1176,7 +1190,7 @@ class WholeController extends Curd
 
                 $tlpay = new Tlpay();
                 $res = $tlpay->refund($data);
-                
+
                 $resArray = json_decode($res, true);
                 if (AppUtil::validSign($resArray)) {
                     if ($resArray['retcode'] != 'SUCCESS' || $resArray['trxstatus'] != '0000') {
@@ -1237,7 +1251,7 @@ class WholeController extends Curd
                 'pay_paytimes' => date('Y-m-d H:i:s'),
                 'pay_json_request' => json_encode($data),
                 'pay_json_response' => $res,
-                'pay_prepayid' => $payType[0].(!empty($payType[1]) ? '-'.$payType[1] : ''),
+                'pay_prepayid' => $payType[0] . (!empty($payType[1]) ? '-' . $payType[1] : ''),
                 'pay_addtimes' => time()
             ];
             PayDetail::insert($payDetailData);
@@ -1264,8 +1278,8 @@ class WholeController extends Curd
     public function exportOrder(Request $request)
     {
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
-        if(!empty($request->get('order_ids'))){
-            $where['order_id'] = ['in',$request->get('order_ids')];
+        if (!empty($request->get('order_ids'))) {
+            $where['order_id'] = ['in', $request->get('order_ids')];
         }
         if (!empty($where['order_addtimes'])) {
             $where['order_addtimes'][0] = strtotime($where['order_addtimes'][0]);
@@ -1274,7 +1288,7 @@ class WholeController extends Curd
         $order = $request->get('order', 'desc');
         $field = $field ?? 'order_addtimes';
 
-        if (!empty($where['order_status_system']) && in_array($where['order_status_system'],['PENDING','WAITING','SENDING','RECVING','SIGNED','CONFIRM'])){
+        if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
             $where['order_is_complete'] = 'N';
         }
 
@@ -1314,7 +1328,7 @@ class WholeController extends Curd
     protected function exportAfterQuery($items)
     {
         $data = [];
-        foreach($items as $key => $item){
+        foreach ($items as $key => $item) {
             $goodsClassify = '--';
             $goodsName = '--';
             if (!empty($item['sheet'])) {
@@ -1323,23 +1337,23 @@ class WholeController extends Curd
                 $goodsName = $goods->goods_name ?? '--';
             }
             $systemStatus = '';
-            if($item['order_is_complete'] == 'Y'){
+            if ($item['order_is_complete'] == 'Y') {
                 $systemStatus = '已完成';
-            }elseif ($item['order_is_complete'] == 'R'){
+            } elseif ($item['order_is_complete'] == 'R') {
                 $systemStatus = '售后已完成';
             }
 
-            $data[$key]=[
-                'goods_classify'=>!empty($goods) && isset(self::$goodsClassify[$goods->goods_classify]) ? self::$goodsClassify[$goods->goods_classify] : '其他订单',
-                'order_id'=>$item['order_id'],
-                'member'=> (!empty($item['cert']) ? $item['cert']['member_cert_name'] : substr($item['member']['member_mobile'],-4).'用户') .'-'.$item['member']['member_mobile'],
+            $data[$key] = [
+                'goods_classify' => !empty($goods) && isset(self::$goodsClassify[$goods->goods_classify]) ? self::$goodsClassify[$goods->goods_classify] : '其他订单',
+                'order_id' => $item['order_id'],
+                'member' => (!empty($item['cert']) ? $item['cert']['member_cert_name'] : substr($item['member']['member_mobile'], -4) . '用户') . '-' . $item['member']['member_mobile'],
                 'goods_name' => $goodsName,
-                'nbr'=>!empty($item['sheet']) ? intval($item['sheet']['order_sheet_num']) : '--',
-                'order_amount_total'=>$item['order_amount_total'],
-                'order_amount_pay'=>$item['order_amount_pay'],
-                'order_status_system'=>!empty($systemStatus) ? $systemStatus : self::$systemStatus[$item['order_status_system']],
-                'order_status_payment'=>self::$paymentStatus[$item['order_status_payment']],
-                'order_addtimes'=>date('Y-m-d H:i:s',strtotime($item['order_addtimes']))
+                'nbr' => !empty($item['sheet']) ? intval($item['sheet']['order_sheet_num']) : '--',
+                'order_amount_total' => $item['order_amount_total'],
+                'order_amount_pay' => $item['order_amount_pay'],
+                'order_status_system' => !empty($systemStatus) ? $systemStatus : self::$systemStatus[$item['order_status_system']],
+                'order_status_payment' => self::$paymentStatus[$item['order_status_payment']],
+                'order_addtimes' => date('Y-m-d H:i:s', strtotime($item['order_addtimes']))
             ];
         }
 
@@ -1349,35 +1363,35 @@ class WholeController extends Curd
     public static $goodsClassify = [
         // goodsClassify: {GOODS:"健康产品订单",SERVICE:"服务订单",DEVICE:"设备订单",SPECIAL:"专题业务订单",PACKAGE:"套餐订单",RECHARGE:"充值订单",OTHER:"其他订单"},
 
-        'GOODS'=>"健康产品订单",
-        'SERVICE'=>"服务订单",
+        'GOODS' => "健康产品订单",
+        'SERVICE' => "服务订单",
         'DEVICE' => '设备订单',
-        'SPECIAL'=>'专题业务订单',
-        'PACKAGE'=>'套包订单',
-        'RECHARGE'=>'充值订单',
-        'OTHER'=>'其他订单'
+        'SPECIAL' => '专题业务订单',
+        'PACKAGE' => '套包订单',
+        'RECHARGE' => '充值订单',
+        'OTHER' => '其他订单'
     ];
 
     //				systemStatus: {BEING:"待生效",PAYING:"待支付",PENDING:"待确认",WAITING:"待受理",SENDING:"待发货",RECVING:"待收货",SIGNED:"已签收",CONFIRM:"确认收货"},
-	//			    paymentStatus: {PENDING:"待支付",CANCEL:"取消支付",SUCCESS:"支付成功"},
+    //			    paymentStatus: {PENDING:"待支付",CANCEL:"取消支付",SUCCESS:"支付成功"},
 
     public static $systemStatus = [
-        'BEING'=>'待生效',
-        'PAYING'=>"待支付",
-        'PENDING'=>"待确认",
-        'WAITING'=>"待使用",
-        'SENDING'=>"待发货",
-        'RECVING'=>"待收货",
-        'SIGNED'=>"已签收",
-        'CONFIRM'=>"确认收货",
-        'DONE'=> '已完成',
-        'CANCEL'=>'已取消'
+        'BEING' => '待生效',
+        'PAYING' => "待支付",
+        'PENDING' => "待确认",
+        'WAITING' => "待使用",
+        'SENDING' => "待发货",
+        'RECVING' => "待收货",
+        'SIGNED' => "已签收",
+        'CONFIRM' => "确认收货",
+        'DONE' => '已完成',
+        'CANCEL' => '已取消'
     ];
 
     public static $paymentStatus = [
-        'WAITING'=>"待支付",
-        'PENDING'=>"待支付",
-        'CANCEL'=>"取消支付",
-        'SUCCESS'=>"支付成功"
+        'WAITING' => "待支付",
+        'PENDING' => "待支付",
+        'CANCEL' => "取消支付",
+        'SUCCESS' => "支付成功"
     ];
 }

+ 1 - 0
app/api/controller/pay/AlipayController.php

@@ -29,6 +29,7 @@ class AlipayController
             'total_amount' => $payDetail->pay_amount,
         ];
 
+        dump(config('payment.alipay'));
 
         try {
             return json_success('',Pay::alipay($this->getConfig())->app($payData)->getContent());

+ 40 - 0
config/payment.php

@@ -12,5 +12,45 @@ return [
         'notify_url' => 'https://app.wanyuewellness.com.cn/',
         'redirect_url' => '',// 如果是h5支付,可以设置该值,返回到指定页面
         'return_raw' => false,// 在处理回调时,是否直接返回原始数据,默认为true
+    ],
+    'alipay' => [
+        'app_id' => '2021004155613207',
+        'notify_url' => 'https://api.wanyuewellness.com.cn/api.pay.notify.php',
+        'return_url' => 'https://api.wanyuewellness.com.cn/api.pay.notify.php',
+        'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmlAp3QIQuDVJqQP5C+33LO6P5D9OOGXszClHNH/5Iep+/A+00vhLaSc9izgxV8XTWpqHcss/gGYfmjNtpDwF0RS1po6J7dTg8d6UJtqaNGCEMUc/r/+Jo+zrmSeoFRdwb5a+tIPC2xb58qrRuL4wYpvzSAwr9DNveKO30RJT3cXX98sYMs6gWhXOz5jBGFUlYQZ5WB1Nx8HM39spW7/QNINX0y4Wqqp0reWieMRE1aKrV9Fb4ehrJ3nDm64KHWfRw/g3Me9FvqkP03dkfPT4hykeHfWTUbuh+ifTjGMcVLxBnBX74vnNzk9zwn9l+UUuEg/1RbMcEF5ppMnt/Kog6wIDAQAB',
+        // 加密方式: **RSA2**
+        'private_key' => 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCaUCndAhC4NUmpA/kL7fcs7o/kP044ZezMKUc0f/kh6n78D7TS+EtpJz2LODFXxdNamodyyz+AZh+aM22kPAXRFLWmjont1ODx3pQm2po0YIQxRz+v/4mj7OuZJ6gVF3Bvlr60g8LbFvnyqtG4vjBim/NIDCv0M294o7fRElPdxdf3yxgyzqBaFc7PmMEYVSVhBnlYHU3Hwczf2ylbv9A0g1fTLhaqqnSt5aJ4xETVoqtX0Vvh6GsnecObrgodZ9HD+Dcx70W+qQ/Td2R89PiHKR4d9ZNRu6H6J9OMYxxUvEGcFfvi+c3OT3PCf2X5RS4SD/VFsxwQXmmkye38qiDrAgMBAAECggEAE3EgJSE6fAryseG3QgKETtvrsyUqtL5avEpDF2E8QUKrJxTPgnkX/zKbdWvqA5YAD/1CLXtgD8xOFP5/xN5vGS2TyV1SEW3tvWt+nPqTzR+P6CmC46i9bbLO6Cfv7GBcoSKL+nBTX4kgiqts6urDa9kcKKqn6weD9t4hrayydlFhiXGT+zUtnkZobJIWmzG+ZLjusn/wp4vyQyXQGnjyiEmzCHab/n8hLfPR9d/3mfG/rj/mIJ9630H+mstMTGoZxDKobeC+k5HQpICyY9bbmug7IgZtqHCO0xou8tpinMRmk/wRD/Bg4XIDdAYgGucb0rpRvbI9KxgGpzpGFXFkuQKBgQDdY/eMdrwnH13XQT4l+ZrjEi7fkCTFvmfafJy1G55feFK9k+YmX7UXtcbw/bc59CqjIL/bpkYy1t+0SrB0eywGvMFBD3G3EZQnQmFmHW7bAba3pTcEoVlyhm9Oz9igvbpI1fZmaeqE+9DOVlWwtcLjhpBh/wuHP5KgyfWKBqwrBQKBgQCyb8PgKklTNFS7iHKBKTIx/ES4xZBSej/Q/lLY0ZGc2LTTGn2HxmmbcJIH5fR4+opOGSGsXc/vfp2pGk1yq42rRVVjUG7Y68J2VpIjELQ8SNbSK+4YqS8VI+Kez0m7ZDEWTwxMRbQTiCaBRUwGhjkReLyLrfXmz5Syxaf7rBg/LwKBgQDE4eQCDI2jFSf1B9ZnGyT9DuyUcLHjEUN2cB9EiH09VdnvMhoYwkBgB44WPuu1JEjOrY8xnRsMlz52LX3i+K7chvwuCbgNIBrrFwNbNo2hQlLl2o2lFoBfcuKF6h0yRcfmgjEQPt0Kyo6VEP4/mkTo5oB8Rb5Q1t5lE3XC+9AcqQKBgEJDENkguuQEDecqL2NZegNn69k1vHd0YFhq6TcM8+br7pJqRu1xt+v6LLB0K4n1eACygnewyrPkMAYI93O60zwj3iaoStGRE0DAuzn8TQIKBoQ7vgo4YXyXO+O/lGDbPwNKzYVRaSLLr4jXw/i0RWMAk/vG2QciVNTiY5Qo/0QPAoGANqq2RacHmcevwp3S3iXfHGxb8kfG90aGDtTr9AY965IGmy4ckKEZJ5+XkhH8Yi+YYWyIkTpgsSQUCDoBSvQ7FBSFnYn5CcX8MIpsx833DpGEK4PMeje0q/rbQ4P1/gOgvgICGWJsOYkzooFhX+TVGXCXE4EE3E471GadQOhy3EQ=',
+        'log' => [ // optional
+            'file' => runtime_path('logs/alipay.log'),
+            'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
+            'type' => 'single', // optional, 可选 daily.
+            'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
+        ],
+        'http' => [ // optional
+            'timeout' => 5.0,
+            'connect_timeout' => 5.0,
+            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
+        ],
+        'mode' => 'dev', // optional,设置此参数,将进入沙箱模式
+    ],
+    'wxpay' => [
+        'appid' => 'wx089c26eaf96c3d51', // APP APPID
+        'mch_id' => '1680393367',
+        'key' => 'c451cedbab8058e3502a35c6dacf0919',
+        'notify_url' => 'https://api.wanyuewellness.com.cn/api.pay.notify.php',
+        'cert_client' => config_path('cert/wxpay/apiclient_cert.pem'), // optional,退款等情况时用到
+        'cert_key' => config_path('cert/wxpay/apiclient_key.pem'),// optional,退款等情况时用到
+        'log' => [ // optional
+            'file' => runtime_path('logs/wechat.log'),
+            'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
+            'type' => 'single', // optional, 可选 daily.
+            'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
+        ],
+        'http' => [ // optional
+            'timeout' => 5.0,
+            'connect_timeout' => 5.0,
+            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
+        ],
+//            'mode' => 'dev', // optional, dev/hk;当为 `hk` 时,为中国香港 gateway。
     ]
 ];