fuyu %!s(int64=5) %!d(string=hai) anos
pai
achega
42583d29c0
Modificáronse 1 ficheiros con 32 adicións e 34 borrados
  1. 32 34
      application/inter/controller/Wechat.php

+ 32 - 34
application/inter/controller/Wechat.php

@@ -8,48 +8,46 @@ use app\common\library\Message;
 use app\inter\service\WechatService;
 
 class Wechat extends Base {
+    private const SUCCESS = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
+    public function wechatRefund(WechatService $wechatService) {
+        $api_key = '9759a66938e8411ad5889e2b5b394d94';
+        Log::record('-----微信退款----开始----');
+        Log::record('-----微信退款----xml----');
+        $xml = file_get_contents("php://input");
+        Log::record($xml);
+        Log::record('-----xml转数组--------');
+        $data = (array)simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); //将微信返回的XML 转换成数组
+        Log::record($data);
+        $req_info = $data['req_info'];
+        // $req_info = 'Jsb+/EIaoJhD0BVWMEiFWeRuivKbS7/bs/wpgwHowHyvVNC+Kj3aiCsLHzQobul1mKwuKT/slYfoVgUQibGH+mEFcA2N10r6Qv5v+rwd7IXvMOM7iS7p9ciDD3fn+jZukjJdGME6KajDtD2rFs0MyZTqsKUTGQN1I8Q1w5aK7OISs437bXp5s4VgrxQWKNe5s18+ts2jrMoA91VXmHy024p010BiB1TJHr46cXC4zpZkeLtECkABhVlBGmDQPfw0JknMqaTriXRZPQcz2Ff/WuRPKPImiL9i0nVpcPuiFjIP863lWLfr2Aif7plPA/mJrAZ6K95hGRvAiiHqxEet7OjYMHu50OKnY/8j2pZjtBUX8Yr1fRnY+v8INLL8+CKS1tZRY0dAkilymPVOSN/naNkVILgwDrlYq5XisDMmXz2HzF1UBX0ZWNs5ltarJC8fyhLpZm1cd/prxcTB6KUm1mTnEYhToZLUlB0N2a0dCT9pm58oj8myMC6mJutCW79QCaHCtV6JIxjueErZkbWYEVSZWG+m7hcKcmcgGhqTcnXPLte5vE0imYoABZnw4uMnv9sMSVP0PhMJ8/JeeP/He/6oAHenvhPrh/J4Xpv/vCbDjVJo8Qo5xWFFG9pk/Aj1rlZiCqmJffy+TXkXceDp+wg4lEOIbZfENaqbj7gtN9RWFTjrtPapPBZzxGJQvEQKzF2TNoP7owsTUup3grDMuw/zreVYt+vYCJ/umU8D+YnTBdx9Q0Bog3qHSlEMnQten+v2X7cSwDcIzvf3UJKVD1041tiBKfJTJFvfbiT+q4vHLKcRn5q7QyWowKrGO/ZrWTIotM0m+1IRqVDHeCTGYDUMGDiQ/+1BupV135PlUg2tKHr0wIUS0wThD3z2ZZxcJ3VioCDcFmjPu128k1xqsjfz+1Np4DxiTZFR1W44wpF/E6Hwi11A440fABYGX4AF7UFBSNfStMCTjVAhcHaYY9P5AbNiUcENjwZEBWE5bcCKm2adIsdqT5isumPoFi6M5H7hL5slQoKqLadEPfazBMHE8r+m+UYLTHlCk9L/DLPmrkVk2HJzlATcg9VYTX+IPYqqv2kY/9BYW+q+O+a8gA==';
+       // 对加密信息进行解密,需要用到商户秘钥
+        $req_info_xml = openssl_decrypt(base64_decode($req_info), 'aes-256-ecb', md5($api_key),OPENSSL_RAW_DATA);
+        Log::record($req_info_xml);
+        $refund = (array)simplexml_load_string($req_info_xml, 'SimpleXMLElement', LIBXML_NOCDATA);
+        $refund['timestamp'] = time();
+        Log::record($refund);
+        DB::table('wechat_refund_log')->insert( array_merge($refund, $data));
 
-    // public function wechatRefund(WechatService $wechatService) {
-    //     $repsone = '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
-    //     $api_key = '9759a66938e8411ad5889e2b5b394d94';
-    //     Log::record('-----微信退款----开始----');
-    //     Log::record('-----微信退款----xml----');
-    //     $xml = file_get_contents("php://input");
-    //     Log::record($xml);
-    //     Log::record('-----xml转数组--------');
-    //     $data = (array)simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); //将微信返回的XML 转换成数组
-    //     Log::record($data);
-    //     $req_info = $data['req_info'];
-    //     // $req_info = 'Jsb+/EIaoJhD0BVWMEiFWeRuivKbS7/bs/wpgwHowHyvVNC+Kj3aiCsLHzQobul1mKwuKT/slYfoVgUQibGH+mEFcA2N10r6Qv5v+rwd7IXvMOM7iS7p9ciDD3fn+jZukjJdGME6KajDtD2rFs0MyZTqsKUTGQN1I8Q1w5aK7OISs437bXp5s4VgrxQWKNe5s18+ts2jrMoA91VXmHy024p010BiB1TJHr46cXC4zpZkeLtECkABhVlBGmDQPfw0JknMqaTriXRZPQcz2Ff/WuRPKPImiL9i0nVpcPuiFjIP863lWLfr2Aif7plPA/mJrAZ6K95hGRvAiiHqxEet7OjYMHu50OKnY/8j2pZjtBUX8Yr1fRnY+v8INLL8+CKS1tZRY0dAkilymPVOSN/naNkVILgwDrlYq5XisDMmXz2HzF1UBX0ZWNs5ltarJC8fyhLpZm1cd/prxcTB6KUm1mTnEYhToZLUlB0N2a0dCT9pm58oj8myMC6mJutCW79QCaHCtV6JIxjueErZkbWYEVSZWG+m7hcKcmcgGhqTcnXPLte5vE0imYoABZnw4uMnv9sMSVP0PhMJ8/JeeP/He/6oAHenvhPrh/J4Xpv/vCbDjVJo8Qo5xWFFG9pk/Aj1rlZiCqmJffy+TXkXceDp+wg4lEOIbZfENaqbj7gtN9RWFTjrtPapPBZzxGJQvEQKzF2TNoP7owsTUup3grDMuw/zreVYt+vYCJ/umU8D+YnTBdx9Q0Bog3qHSlEMnQten+v2X7cSwDcIzvf3UJKVD1041tiBKfJTJFvfbiT+q4vHLKcRn5q7QyWowKrGO/ZrWTIotM0m+1IRqVDHeCTGYDUMGDiQ/+1BupV135PlUg2tKHr0wIUS0wThD3z2ZZxcJ3VioCDcFmjPu128k1xqsjfz+1Np4DxiTZFR1W44wpF/E6Hwi11A440fABYGX4AF7UFBSNfStMCTjVAhcHaYY9P5AbNiUcENjwZEBWE5bcCKm2adIsdqT5isumPoFi6M5H7hL5slQoKqLadEPfazBMHE8r+m+UYLTHlCk9L/DLPmrkVk2HJzlATcg9VYTX+IPYqqv2kY/9BYW+q+O+a8gA==';
-    //    // 对加密信息进行解密,需要用到商户秘钥
-    //     $req_info_xml = openssl_decrypt(base64_decode($req_info), 'aes-256-ecb', md5($api_key),OPENSSL_RAW_DATA);
-    //     Log::record($req_info_xml);
-    //     $refund = (array)simplexml_load_string($req_info_xml, 'SimpleXMLElement', LIBXML_NOCDATA);
-    //     $refund['timestamp'] = time();
-    //     Log::record($refund);
-    //     DB::table('wechat_refund_log')->insert( array_merge($refund, $data));
+        $order_id = $refund['out_trade_no'];
+        $order = DB::table('remote_order')->where('id', $order_id)->field('status')-find();
+        if(!empty($order) && $order['status'] === Application::ORDER_STATUS['CANCEL']) {
+            DB::table('remote_order')->where('id', $order_id)->update(['status' => Application::ORDER_STATUS['REDUCE']]);
+            // $wechatService->pushWechatRefund($remote_application['exam_id']);
+            $wechatService->pushWechatRefund($order_id);
+            // todo 微信消息推送
+        }
+        Log::record('-----微信结束----xml----');
+        return self::SUCCESS;
 
-    //     $order_id = $refund['out_trade_no'];
-    //     $order = DB::table('remote_order')->where('id', $order_id)->field('status')-find();
-    //     if(!empty($order) && $order['status'] === Application::ORDER_STATUS['CANCEL']) {
-    //         DB::table('remote_order')->where('id', $order_id)->update(['status' => Application::ORDER_STATUS['REDUCE']]);
-    //         // $wechatService->pushWechatRefund($remote_application['exam_id']);
-    //         $wechatService->pushWechatRefund($order_id);
-    //         // todo 微信消息推送
-    //     }
-    //     Log::record('-----微信结束----xml----');
-    //     return $repsone;
-
-    // }
+    }
 
     public function  wechatCallback() {
         // try {
              // $param = $_REQUEST['param'];
-            // $repsone = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
             Log::record('-----微信支付回调----开始----');
 
             Log::record('-----微信支付返回----xml----');
-            $xml = file_get_contents("php://input");
+            // $xml = file_get_contents("php://input");
             Log::record($xml);
         //     Log::record('-----xml转数组--------');
         //     $data = (array)simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); //将微信返回的XML 转换成数组
@@ -101,7 +99,7 @@ class Wechat extends Base {
         //         }
         //     }
         //     Log::record('---微信支付回调---结束---');
-        //     // return $repsone;
+        //     // return self::SUCCESS;
         // } catch (\Throwable $th) {
         //     Log::record('支付回调异常');
         //     Log::record($th->getMessage());