shish 5 жил өмнө
parent
commit
efec3f85ba

+ 20 - 16
app-hd/controllers/NoticeController.php

@@ -62,28 +62,32 @@ class NoticeController extends PublicController
             noticeUtil::push($text, '15280215347');
             util::end();
         }
-        $orderSn = $postObj->out_trade_no ?? '';
-        $out_refund_no = $postObj->out_refund_no ?? '';
-        //订单总金额
-        $total_fee = $postObj->total_fee ?? 0.00;
-        //申请退款金额
-        //$refund_fee = $postObj->refund_fee ?? 0.00;
-        //退款金额
-        $settlement_refund_fee = $postObj->settlement_refund_fee ?? 0.00;
-
-        $text = "退款单号:{$orderSn} {$out_refund_no} 订单金额:{$total_fee} 退款金额:{$settlement_refund_fee} 已退款成功";
-
-        noticeUtil::push($text, '15280215347');
 
         $wx = WxOpenClass::getWxInfo();
         $req_info = $postObj->req_info ?? '';
         $key = $wx['wxPayKey'] ?? '';
         $xml = openssl_decrypt(base64_decode($req_info), 'AES-256-ECB', MD5($key), OPENSSL_RAW_DATA, '');
-        Yii::info('xml:' . $xml);
+        $req_info_obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
 
-//        require_once 'WxpayRefundNotifyHelper.php';
-//        $refundNotify = new \WxpayRefundNotifyHelper();
-//        $refundNotify->handle();
+        $refund_status = $req_info_obj->refund_status ?? '';
+
+        $orderSn = $req_info_obj->out_trade_no ?? '';
+        $out_refund_no = $req_info_obj->out_refund_no ?? '';
+        //订单总金额
+        $total_fee = $req_info_obj->total_fee ?? 0.00;
+        //申请退款金额
+        //$refund_fee = $req_info_obj->refund_fee ?? 0.00;
+        //退款金额
+        $settlement_refund_fee = $req_info_obj->settlement_refund_fee ?? 0.00;
+
+        if ($refund_status == 'SUCCESS') {
+            $text = "【退款成功】退款单号:{$orderSn} {$out_refund_no} 订单金额:{$total_fee} 退款金额:{$settlement_refund_fee} ";
+        } elseif ($refund_status == 'REFUNDCLOSE') {
+            $text = "【退款关闭】退款单号:{$orderSn} {$out_refund_no} 订单金额:{$total_fee} 退款金额:{$settlement_refund_fee} ";
+        } else {
+            $text = "【退款失败】退款单号:{$orderSn} {$out_refund_no} 订单金额:{$total_fee} 退款金额:{$settlement_refund_fee} ";
+        }
+        noticeUtil::push($text, '15280215347');
 
         echo '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
     }