فهرست منبع

使用优惠券

shish 6 سال پیش
والد
کامیت
df0c4860f6
3فایلهای تغییر یافته به همراه161 افزوده شده و 361 حذف شده
  1. 145 353
      app/client/controllers/NoticeController.php
  2. 6 0
      biz/coupon/classes/CouponClass.php
  3. 10 8
      common/services/xhPayToolService.php

+ 145 - 353
app/client/controllers/NoticeController.php

@@ -14,357 +14,149 @@ use common\services\xhPayToolService;
 
 class NoticeController extends PublicController
 {
-
-    public $categoryList;
-
-
-    /**
-     * 微信支付异步回调
-     */
-    public function actionWxCallback()
-    {
-        $postStr = file_get_contents('php://input');//接收微信服务器返回的xml消息体
-        if (empty($postStr)) {
-            util::end();
-        }
-        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
-        if ($postObj->return_code != 'SUCCESS') {
-            Yii::warning('return_code error:' . $postObj->return_code);
-            util::end();
-        }
-        $orderId = $postObj->out_trade_no;
-        $total_fee = $postObj->total_fee;
-        $totalFee = $total_fee / 100;
-        $attach = $postObj->attach;
-        parse_str($attach);//接收流水类型、代金劵
-        $couponId = isset($couponId) ? $couponId : 0;
-        $capitalType = isset($capitalType) ? $capitalType : null;//流水类型
-        if (isset($capitalType) == false) {
-            Yii::warning('capitalType empty,orderId:' . $orderId);
-            util::end();
-        }
-        $return = xhPayToolService::weixinPay($orderId, $totalFee, $capitalType, $couponId);//支付回调流程
-        if ($return['code'] == 'A0002') {
-            Yii::warning('callback exec and failed,capitalType:' . $capitalType . ' orderId:' . $orderId);
-            util::end();
-        }
-        echo '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
-    }
-
-    /**
-     * 支付宝异步通知
-     */
-    public function actionAlipayCallback()
-    {
-        header("Content-type: text/html; charset=utf-8");
-        $alipayWap = Yii::getAlias("@vendor/alipayWap");
-
-        $orderId = $_POST['out_trade_no'];//商户订单号
-        $pay = xhOrderService::getById($orderId);
-        $merchantId = isset($pay['merchantId']) ? $pay['merchantId'] : 0;
-
-        if ($merchantId == 12358) {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2019041663930158",
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEA0NGNBMu5BkHU+ztmGhGdsJC1n2ZbXn4uoaYNni2eriPHJHG8vCWL1vv3W+gxX3twnmdQ57s3hFWfd5PIwMm+8QIwiPucckbmTEm2rC2g4j+UnUiXzICJWjlzlCWiBftrsctKKwjsZTPiuDJzUKmYRD4DYWy1+4Uh6k6x98qbALuiFFrh7esvsaSepZfQ+zBLzMVfrtPABkwEtOAzUL4hz4YW+EFfqyj3mu4LP4M+zBWSKRs0iCzJILG/7JA4OEkDJ89gGZ6LiaITUgffV2tg/IS81aNBfutb3tICBr1PLlKYCV0ois54kqmmP7anNrn/KRFI/k6iLd82e1HEoHhvDwIDAQABAoIBAQCr+PgPTAv8CDl0Ek4bCAj7AaJiPTTgVEDpJc0vSNjXB2YZMIZD2RQaoHXtvgLzZMCx49pwjfHBzZZAL3h0tXHIIIqCNd15C8TcbRTBJe7KhZxKEB/b7ruvj4MNLhUKoi3mRcq2OGofSqTcF8h6VMGu6fd0w8f39YOh6N+Od9BBv8aL7CtBwQQihzatBdr2CyjH50TmlVWfEz2YKoZBGRuMy7EzLZgmR5IzEJC36tOBAg5DORNkEMAuzvnmBQznZCtzMZHW5Ytlh/3kbCUMsrWL6ioox/mel4DoQNnQ1kZ60f7Gny3I+0HiJ+vxVBZ3Nyd8FCVbAlq6avkB3ZGoCx0xAoGBAP/Mhf8X81mLK80TQsSWYPmnjnYkOZ7vIpNc/b6/N+BKAAjWB+0wXJ73nhuzB8cuJBz6TK8RE2uUuiUbiVP1jkrQ2EoCWadndKE1fcLFSSOYlN9rxfINcLicdNAFYu0m8He5cqPpW+06sD8HGOlWeBOyPvitXBjBeOB9dPWBpVkpAoGBAND7kruod1T4ErtOavYv4ErlyN0O6PpQR3MBlnzXnJfKLdaMvc/JaqjZtk14Nl9RnBDzN6d93LHxariyuTHw9mdGAPOpxcUEsUdOw56eRIzhyY8lz0c+lvE32r2NypuzK/2BGP5xR+spe7D4esuhLQhUYjByTWbgLQD+7724QrV3AoGAYuO2ib/AnEVpUYa4sTdRljJoqNOoUwEv5Lh2gF98QoFZMhFMTy37IJmpzhuQTjhQTcOWEbgQQe7lZ6MVnBe6QsIqW7I85rLgK9J6I+oRNGmwZA9OHx2DDlut7R2n+Pas0BwpbaSxnSyrJjKgNtTu5u5p2clraUaibGcT6DWOrsECgYEAspjM5aMrmGoJWBnEP3Da9ic6afD8Gi/RX+/TdA2vvekDE4BkFtfDV1n3+mzpyrwr7DBvN6zQlyICWqYirxOHAOtKlPJaGe3Qs2gUtdH8M4oifzuI0RIkXTGmtqgepsGQrq1NduXI2KgzFSLFjpDHs36qC00j6O9chqVYrYJzQDECgYBQyIWx3BBEUgWCbLTT8QeUdf+EnZSLZzIIQFn88zImhqkTSMbpBmcZpI4oOlWiM8i4XOaEzu+EDFIRAchIbVlDgBV1OprAN5BAez03oyh1JkCDYrsEj7FMqWSmbxiY2uubPshMLEGdPU+I46oJTO6FzMyG6hnQrK+/ne0zH8A5LA==",
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-                //同步跳转
-                'return_url' => "",
-                //编码格式
-                'charset' => "UTF-8",
-                //签名方式
-                'sign_type' => "RSA2",
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFYqNkoWJIx37fGcUBbnZJ+APf14YHO1cBdp9RFSasxj9gm+pwbtK3J6uRuPygK0K/OCgvtuFJ6mZT3tNUEgSZMjnre5Z7IzQnzIBUYFPUEO85s+/RDr5HnAqgOIbu9GL8GWrU6g6uj+QmW591vXckmsbujPx0S3IP+TMOQZWA0JVvDu+T9yGfv3pacKUgdNvYnas/si3278TL4DeIVjZ4OmbbEPmEhD/OhSVlTSWEOdqLuV4DvEpmrGa8XoyfFEtgV9qSVb454Qwu5Nw/ATc9+ssMbN6ROXzOQbAAfqAe6riNUtKEHGVaCynfUAYNyR6yvJb8+VkMR02nBEDC9QHQIDAQAB",
-            );
-        } else {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2017041906821571",
-
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEAvbeu6o90L+0AilI+mbhuJJH0lUv7hWQCEC+XUc+cWlC9ulKC3cSVScVLJHpUc09aj6v/iD1p9iVfgMxjeADNVKiQC2RJyRshAjzyTq+2bTcODp619iV2y4qW8UM65VcP7Ide3P0uT5xC2ReW0HpkdHZgm4F+P7mh1VhGt9qOP3hjvoraAHhtGACvsGvy8H69HhSAG+CEmFt7f2tKNWJ8xEUvkfhDvys93PfTk4xMWj048hJE2r38+2mWI/Il5dFQHWXXTVl2x9yi7uhEEW42a+7s9Q3HgqEvZiQ2NI1FTeEAPLFBApiEsNLY/smaszwqqfWGAyTMvtQ6T4K96GcTLQIDAQABAoIBAHwYTj33n9RJfnT73x7F2KXrIsUVcmyKQh88QgqtdmRNNA1QM3HESLJ8bu5pZhwW5/HaW8dOBKWRRKsHBnlUbPrXV4FcFDeLm0fPfd+iZ/2AaZ1+ix962f3BpYIiq7+f9zaMRazfnw9L8x31pByyMktLs12EkoQ0dHsMxxUzzKAOiiPnvCn8Pv+Jb2qej8GXgCjefutCVNMWGsdwJtMVXEbpdmMa48Wvw+0In5ZS/UG39YAreFzgDqI9jWHE1ZhkGmB1+8hKpeIlEeVGAeYVveUgssMORdA/YY8SWHk26KSIFXBrmdKjAcRJ8Q7ZHUmzIqAV+IMV+RD4J5mZHeJgdAECgYEA8J+Hp1M6eYbT4CPLXa//yRP6Xo+qSzrKHaRB1LRAjYhvKpx/TQetYpNCJ5bWpa+Jp0T5R21pzuYaJkPuGlNEHA13b5T3r1l2ltomSEdaShvD5EZ9WtErYV5zpSv7FjjIGkbwa0H3A8Ydnvw5z4A9TZjjHLjC2GtVGJReqHGglMECgYEAydddA4NRPxmXvIjjmLb1Ft1qwHuyv3vvWhi50foGZXNEnBcfP/OkfyBDDpOEu34GZBMXK9ykHBs1l93OEFGXh7AwW0Lp5lARahBEfBZgPjq5yPO8TOJZrb5hVcuvoDdGjxpRh93XDnQDhWS/1IvUcBLcIsTcnVvfrkX4NLxF/W0CgYEAxamG+gD4rBQBwMImsRN+/2MV7M//iEUG+0qPeXeI/7rv9wUP3etMlwl48qSKNxj37xxN2ksa/Acxu/VZhu6XqKO3VUX+IWFQdaNGh2F13iLozIDLQOtKw3WfcjOq0xpZ5pwXq0RI8iSw+IUhyD8EHNZW2qU8CiRBhyt6hsywqQECgYBa8+06FAachI/XqWfF/UvcDdJ5AkS9/L8SvmmdsSkItjSIkfLHAqdxkbwl6Vu6kUOX/PJIFZjuAWTZFl4xBFNgFYj01uZHnnT6cnIp6HteD2CAqTSFAMqgfFWoL6zoaYAmJBnxO4oZPTYI+ilnQcts5VLFaChx0GCvS2BZgy2W0QKBgQDjP2VtRq4aVSLUq2z1KIDI7GJBbOM5KSW1OEj4sfEdViozPh3Ar/FQWiij1oCZF+iJdKkonHoDbDd+Q0ykcpQ+5Gv07iiT8wJYFR/0j8g2kfql7bVQhGSBeBMS5sawKR3CvkfW73WX+CNnf0PklTY0kTyt6WRXDnKSeyxFVwSZ7g==",
-
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-
-                //同步跳转
-                'return_url' => "",
-
-                //编码格式
-                'charset' => "UTF-8",
-
-                //签名方式
-                'sign_type' => "RSA2",
-
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsz3m9juAR1xew4DY6c34gvbwNg8pZ92f932tseKs+4+pF0e+jTDiUo/xHImNDi1KXt1B+s3LxY9L/sxEksbavwmhgbz/igN1cAEwS2YM+Gnf0csDrxAPJhoKL5FTwxPEQ/8VSgroU+6GlF3LAx4VHa1qfn5MqRPfLroJcyPDyGfNe9vna2FnO4E/PH+hVbvPUAwX3XrUvJIm4OgY0JE3HYFlu+O7F4Ln6+Sl+Zv/ZE2nZAvNiyAwW5iVKhKXLieExqwd0NdrP28baBqkkIY+tmV7butGjB52iK1UbU0+1uiaPL4xBxRy6d0LZmYlvdVHp0JRUuwxBLChGgOCo/76DQIDAQAB",
-
-            );
-        }
-
-
-        require_once($alipayWap . '/wappay/service/AlipayTradeService.php');
-        require_once($alipayWap . '/wappay/buildermodel/AlipayTradeQueryContentBuilder.php');//查询接口
-
-
-        $arr = $_POST;
-        $alipaySevice = new \AlipayTradeService($config);
-        $alipaySevice->writeLog(var_export($_POST, true));
-        $result = $alipaySevice->check($arr);
-        Yii::info('check:' . $result);
-        if ($result) {//验证成功
-            $orderId = $_POST['out_trade_no'];//商户订单号
-            $tradeNo = $_POST['trade_no'];//支付宝交易号
-            $tradeStatus = $_POST['trade_status'];//交易状态
-            $totalFee = $_POST['total_amount'];
-            $appId = $_POST['app_id'];
-            $passbackParams = $_POST['passback_params'];
-            $passbackParams = urldecode($passbackParams);
-            parse_str($passbackParams);//接收流水类型、代金劵
-            $couponId = isset($couponId) ? $couponId : 0;
-            $capitalType = isset($capitalType) ? $capitalType : null;//流水类型
-
-            $RequestBuilder = new \AlipayTradeQueryContentBuilder();
-            $RequestBuilder->setTradeNo($tradeNo);
-            $queryResult = $alipaySevice->Query($RequestBuilder);
-            $alipayId = $queryResult->buyer_user_id;
-            $alipayAccount = $queryResult->buyer_logon_id;//买家的支付宝帐号,不完整,带*号
-            $alipayParams = ['alipayId' => $alipayId, 'alipayAccount' => $alipayAccount];
-
-            if (isset($capitalType) == false) {
-                Yii::warning('capitalType empty, orderId:' . $orderId);
-                util::end();
-            }
-            if ($config['app_id'] != $appId) {
-                Yii::warning('app_id disagree, orderId:' . $orderId . ' config app_id:' . $config['app_id'] . ' appId:' . $appId);
-                util::end();
-            }
-            if ($tradeStatus == 'TRADE_FINISHED' || $tradeStatus == 'TRADE_SUCCESS') {
-                $return = xhPayToolService::alipay($orderId, $totalFee, $capitalType, $couponId, $alipayParams);//支付回调流程
-                if ($return['code'] == 'A0002') {
-                    Yii::warning('callback exec and failed,capitalType:' . $capitalType . ' orderId:' . $orderId);
-                    util::end();
-                }
-            }
-            echo "success";//请不要修改或删除
-            util::end();
-        }
-        echo "fail";//请不要修改或删除
-    }
-
-    /**
-     * 直接付款,支付宝同步通知
-     * 流程处理在异步中进行,这边只展示成功页
-     */
-    public function actionPayAlipaySync()
-    {
-        header("Content-type: text/html; charset=utf-8");
-        $alipayWap = Yii::getAlias("@vendor/alipayWap");
-        //require_once($alipayWap . '/config.php');
-
-
-        $orderId = htmlspecialchars($_GET['out_trade_no']);//商户订单号
-        $payment = xhOrderService::getById($orderId);
-        $merchantId = $payment['merchantId'];
-        if ($merchantId == 12358) {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2019041663930158",
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEA0NGNBMu5BkHU+ztmGhGdsJC1n2ZbXn4uoaYNni2eriPHJHG8vCWL1vv3W+gxX3twnmdQ57s3hFWfd5PIwMm+8QIwiPucckbmTEm2rC2g4j+UnUiXzICJWjlzlCWiBftrsctKKwjsZTPiuDJzUKmYRD4DYWy1+4Uh6k6x98qbALuiFFrh7esvsaSepZfQ+zBLzMVfrtPABkwEtOAzUL4hz4YW+EFfqyj3mu4LP4M+zBWSKRs0iCzJILG/7JA4OEkDJ89gGZ6LiaITUgffV2tg/IS81aNBfutb3tICBr1PLlKYCV0ois54kqmmP7anNrn/KRFI/k6iLd82e1HEoHhvDwIDAQABAoIBAQCr+PgPTAv8CDl0Ek4bCAj7AaJiPTTgVEDpJc0vSNjXB2YZMIZD2RQaoHXtvgLzZMCx49pwjfHBzZZAL3h0tXHIIIqCNd15C8TcbRTBJe7KhZxKEB/b7ruvj4MNLhUKoi3mRcq2OGofSqTcF8h6VMGu6fd0w8f39YOh6N+Od9BBv8aL7CtBwQQihzatBdr2CyjH50TmlVWfEz2YKoZBGRuMy7EzLZgmR5IzEJC36tOBAg5DORNkEMAuzvnmBQznZCtzMZHW5Ytlh/3kbCUMsrWL6ioox/mel4DoQNnQ1kZ60f7Gny3I+0HiJ+vxVBZ3Nyd8FCVbAlq6avkB3ZGoCx0xAoGBAP/Mhf8X81mLK80TQsSWYPmnjnYkOZ7vIpNc/b6/N+BKAAjWB+0wXJ73nhuzB8cuJBz6TK8RE2uUuiUbiVP1jkrQ2EoCWadndKE1fcLFSSOYlN9rxfINcLicdNAFYu0m8He5cqPpW+06sD8HGOlWeBOyPvitXBjBeOB9dPWBpVkpAoGBAND7kruod1T4ErtOavYv4ErlyN0O6PpQR3MBlnzXnJfKLdaMvc/JaqjZtk14Nl9RnBDzN6d93LHxariyuTHw9mdGAPOpxcUEsUdOw56eRIzhyY8lz0c+lvE32r2NypuzK/2BGP5xR+spe7D4esuhLQhUYjByTWbgLQD+7724QrV3AoGAYuO2ib/AnEVpUYa4sTdRljJoqNOoUwEv5Lh2gF98QoFZMhFMTy37IJmpzhuQTjhQTcOWEbgQQe7lZ6MVnBe6QsIqW7I85rLgK9J6I+oRNGmwZA9OHx2DDlut7R2n+Pas0BwpbaSxnSyrJjKgNtTu5u5p2clraUaibGcT6DWOrsECgYEAspjM5aMrmGoJWBnEP3Da9ic6afD8Gi/RX+/TdA2vvekDE4BkFtfDV1n3+mzpyrwr7DBvN6zQlyICWqYirxOHAOtKlPJaGe3Qs2gUtdH8M4oifzuI0RIkXTGmtqgepsGQrq1NduXI2KgzFSLFjpDHs36qC00j6O9chqVYrYJzQDECgYBQyIWx3BBEUgWCbLTT8QeUdf+EnZSLZzIIQFn88zImhqkTSMbpBmcZpI4oOlWiM8i4XOaEzu+EDFIRAchIbVlDgBV1OprAN5BAez03oyh1JkCDYrsEj7FMqWSmbxiY2uubPshMLEGdPU+I46oJTO6FzMyG6hnQrK+/ne0zH8A5LA==",
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-                //同步跳转
-                'return_url' => "",
-                //编码格式
-                'charset' => "UTF-8",
-                //签名方式
-                'sign_type' => "RSA2",
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFYqNkoWJIx37fGcUBbnZJ+APf14YHO1cBdp9RFSasxj9gm+pwbtK3J6uRuPygK0K/OCgvtuFJ6mZT3tNUEgSZMjnre5Z7IzQnzIBUYFPUEO85s+/RDr5HnAqgOIbu9GL8GWrU6g6uj+QmW591vXckmsbujPx0S3IP+TMOQZWA0JVvDu+T9yGfv3pacKUgdNvYnas/si3278TL4DeIVjZ4OmbbEPmEhD/OhSVlTSWEOdqLuV4DvEpmrGa8XoyfFEtgV9qSVb454Qwu5Nw/ATc9+ssMbN6ROXzOQbAAfqAe6riNUtKEHGVaCynfUAYNyR6yvJb8+VkMR02nBEDC9QHQIDAQAB",
-            );
-        } else {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2017041906821571",
-
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEAvbeu6o90L+0AilI+mbhuJJH0lUv7hWQCEC+XUc+cWlC9ulKC3cSVScVLJHpUc09aj6v/iD1p9iVfgMxjeADNVKiQC2RJyRshAjzyTq+2bTcODp619iV2y4qW8UM65VcP7Ide3P0uT5xC2ReW0HpkdHZgm4F+P7mh1VhGt9qOP3hjvoraAHhtGACvsGvy8H69HhSAG+CEmFt7f2tKNWJ8xEUvkfhDvys93PfTk4xMWj048hJE2r38+2mWI/Il5dFQHWXXTVl2x9yi7uhEEW42a+7s9Q3HgqEvZiQ2NI1FTeEAPLFBApiEsNLY/smaszwqqfWGAyTMvtQ6T4K96GcTLQIDAQABAoIBAHwYTj33n9RJfnT73x7F2KXrIsUVcmyKQh88QgqtdmRNNA1QM3HESLJ8bu5pZhwW5/HaW8dOBKWRRKsHBnlUbPrXV4FcFDeLm0fPfd+iZ/2AaZ1+ix962f3BpYIiq7+f9zaMRazfnw9L8x31pByyMktLs12EkoQ0dHsMxxUzzKAOiiPnvCn8Pv+Jb2qej8GXgCjefutCVNMWGsdwJtMVXEbpdmMa48Wvw+0In5ZS/UG39YAreFzgDqI9jWHE1ZhkGmB1+8hKpeIlEeVGAeYVveUgssMORdA/YY8SWHk26KSIFXBrmdKjAcRJ8Q7ZHUmzIqAV+IMV+RD4J5mZHeJgdAECgYEA8J+Hp1M6eYbT4CPLXa//yRP6Xo+qSzrKHaRB1LRAjYhvKpx/TQetYpNCJ5bWpa+Jp0T5R21pzuYaJkPuGlNEHA13b5T3r1l2ltomSEdaShvD5EZ9WtErYV5zpSv7FjjIGkbwa0H3A8Ydnvw5z4A9TZjjHLjC2GtVGJReqHGglMECgYEAydddA4NRPxmXvIjjmLb1Ft1qwHuyv3vvWhi50foGZXNEnBcfP/OkfyBDDpOEu34GZBMXK9ykHBs1l93OEFGXh7AwW0Lp5lARahBEfBZgPjq5yPO8TOJZrb5hVcuvoDdGjxpRh93XDnQDhWS/1IvUcBLcIsTcnVvfrkX4NLxF/W0CgYEAxamG+gD4rBQBwMImsRN+/2MV7M//iEUG+0qPeXeI/7rv9wUP3etMlwl48qSKNxj37xxN2ksa/Acxu/VZhu6XqKO3VUX+IWFQdaNGh2F13iLozIDLQOtKw3WfcjOq0xpZ5pwXq0RI8iSw+IUhyD8EHNZW2qU8CiRBhyt6hsywqQECgYBa8+06FAachI/XqWfF/UvcDdJ5AkS9/L8SvmmdsSkItjSIkfLHAqdxkbwl6Vu6kUOX/PJIFZjuAWTZFl4xBFNgFYj01uZHnnT6cnIp6HteD2CAqTSFAMqgfFWoL6zoaYAmJBnxO4oZPTYI+ilnQcts5VLFaChx0GCvS2BZgy2W0QKBgQDjP2VtRq4aVSLUq2z1KIDI7GJBbOM5KSW1OEj4sfEdViozPh3Ar/FQWiij1oCZF+iJdKkonHoDbDd+Q0ykcpQ+5Gv07iiT8wJYFR/0j8g2kfql7bVQhGSBeBMS5sawKR3CvkfW73WX+CNnf0PklTY0kTyt6WRXDnKSeyxFVwSZ7g==",
-
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-
-                //同步跳转
-                'return_url' => "",
-
-                //编码格式
-                'charset' => "UTF-8",
-
-                //签名方式
-                'sign_type' => "RSA2",
-
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsz3m9juAR1xew4DY6c34gvbwNg8pZ92f932tseKs+4+pF0e+jTDiUo/xHImNDi1KXt1B+s3LxY9L/sxEksbavwmhgbz/igN1cAEwS2YM+Gnf0csDrxAPJhoKL5FTwxPEQ/8VSgroU+6GlF3LAx4VHa1qfn5MqRPfLroJcyPDyGfNe9vna2FnO4E/PH+hVbvPUAwX3XrUvJIm4OgY0JE3HYFlu+O7F4Ln6+Sl+Zv/ZE2nZAvNiyAwW5iVKhKXLieExqwd0NdrP28baBqkkIY+tmV7butGjB52iK1UbU0+1uiaPL4xBxRy6d0LZmYlvdVHp0JRUuwxBLChGgOCo/76DQIDAQAB",
-
-            );
-        }
-
-
-        require_once($alipayWap . '/wappay/service/AlipayTradeService.php');
-        require_once($alipayWap . '/wappay/buildermodel/AlipayTradeQueryContentBuilder.php');//查询接口
-
-        $arr = $_GET;
-        $payWay = configDict::getConfig('payWayFullName');
-        $alipaySevice = new \AlipayTradeService($config);
-        $result = $alipaySevice->check($arr);
-        //未验证成功
-        if ($result == false) {
-            return $this->renderPartial('invalid');
-        }
-        $orderId = htmlspecialchars($_GET['out_trade_no']);//商户订单号
-        $tradeNo = htmlspecialchars($_GET['trade_no']);//支付宝交易号
-        $appId = htmlspecialchars($_GET['app_id']);
-        if ($config['app_id'] != $appId) {
-            Yii::warning('app_id disagree. orderId:' . $orderId);
-            util::end();
-        }
-
-        $payment = xhOrderService::getById($orderId);
-        $merchantId = $payment['merchantId'];
-        $merchant = xhMerchantService::getById($merchantId);
-        $RequestBuilder = new \AlipayTradeQueryContentBuilder();
-        $RequestBuilder->setTradeNo($tradeNo);
-        $queryResult = $alipaySevice->Query($RequestBuilder);
-        $alipayId = $queryResult->buyer_user_id;
-
-        //延迟1秒,保证异步回调完成
-        sleep(1);
-
-        $user = xhUserService::getAlipay($merchantId, $alipayId);
-        $userId = $user['id'];
-        $userAsset = xhUserAssetService::getByUserId($userId);
-
-        $totalExpend = isset($userAsset['totalExpend']) ? $userAsset['totalExpend'] : 0;
-        $isAnonymity = false;
-        $point = $userAsset['integral'];
-        Yii::$app->session->set('orderId_' . $orderId, $orderId);//session中保存orderId
-        return $this->renderPartial('payAlipaySync', ['user' => $user, 'payment' => $payment, 'totalExpend' => $totalExpend, 'isAnonymity' => $isAnonymity, 'point' => $point, 'payWay' => $payWay, 'merchant' => $merchant]);
-    }
-
-    /**
-     * 订单付款,支付宝同步通知,流程处理在异步中进行,这边只展示成功页
-     */
-    public function actionOrderAlipaySync()
-    {
-        header("Content-type: text/html; charset=utf-8");
-        $alipayWap = Yii::getAlias("@vendor/alipayWap");
-        //require_once($alipayWap . '/config.php');
-
-
-        $orderId = htmlspecialchars($_GET['out_trade_no']);//商户订单号
-        $payment = xhOrderService::getById($orderId);
-        $merchantId = $payment['merchantId'];
-        if ($merchantId == 12358) {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2019041663930158",
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEA0NGNBMu5BkHU+ztmGhGdsJC1n2ZbXn4uoaYNni2eriPHJHG8vCWL1vv3W+gxX3twnmdQ57s3hFWfd5PIwMm+8QIwiPucckbmTEm2rC2g4j+UnUiXzICJWjlzlCWiBftrsctKKwjsZTPiuDJzUKmYRD4DYWy1+4Uh6k6x98qbALuiFFrh7esvsaSepZfQ+zBLzMVfrtPABkwEtOAzUL4hz4YW+EFfqyj3mu4LP4M+zBWSKRs0iCzJILG/7JA4OEkDJ89gGZ6LiaITUgffV2tg/IS81aNBfutb3tICBr1PLlKYCV0ois54kqmmP7anNrn/KRFI/k6iLd82e1HEoHhvDwIDAQABAoIBAQCr+PgPTAv8CDl0Ek4bCAj7AaJiPTTgVEDpJc0vSNjXB2YZMIZD2RQaoHXtvgLzZMCx49pwjfHBzZZAL3h0tXHIIIqCNd15C8TcbRTBJe7KhZxKEB/b7ruvj4MNLhUKoi3mRcq2OGofSqTcF8h6VMGu6fd0w8f39YOh6N+Od9BBv8aL7CtBwQQihzatBdr2CyjH50TmlVWfEz2YKoZBGRuMy7EzLZgmR5IzEJC36tOBAg5DORNkEMAuzvnmBQznZCtzMZHW5Ytlh/3kbCUMsrWL6ioox/mel4DoQNnQ1kZ60f7Gny3I+0HiJ+vxVBZ3Nyd8FCVbAlq6avkB3ZGoCx0xAoGBAP/Mhf8X81mLK80TQsSWYPmnjnYkOZ7vIpNc/b6/N+BKAAjWB+0wXJ73nhuzB8cuJBz6TK8RE2uUuiUbiVP1jkrQ2EoCWadndKE1fcLFSSOYlN9rxfINcLicdNAFYu0m8He5cqPpW+06sD8HGOlWeBOyPvitXBjBeOB9dPWBpVkpAoGBAND7kruod1T4ErtOavYv4ErlyN0O6PpQR3MBlnzXnJfKLdaMvc/JaqjZtk14Nl9RnBDzN6d93LHxariyuTHw9mdGAPOpxcUEsUdOw56eRIzhyY8lz0c+lvE32r2NypuzK/2BGP5xR+spe7D4esuhLQhUYjByTWbgLQD+7724QrV3AoGAYuO2ib/AnEVpUYa4sTdRljJoqNOoUwEv5Lh2gF98QoFZMhFMTy37IJmpzhuQTjhQTcOWEbgQQe7lZ6MVnBe6QsIqW7I85rLgK9J6I+oRNGmwZA9OHx2DDlut7R2n+Pas0BwpbaSxnSyrJjKgNtTu5u5p2clraUaibGcT6DWOrsECgYEAspjM5aMrmGoJWBnEP3Da9ic6afD8Gi/RX+/TdA2vvekDE4BkFtfDV1n3+mzpyrwr7DBvN6zQlyICWqYirxOHAOtKlPJaGe3Qs2gUtdH8M4oifzuI0RIkXTGmtqgepsGQrq1NduXI2KgzFSLFjpDHs36qC00j6O9chqVYrYJzQDECgYBQyIWx3BBEUgWCbLTT8QeUdf+EnZSLZzIIQFn88zImhqkTSMbpBmcZpI4oOlWiM8i4XOaEzu+EDFIRAchIbVlDgBV1OprAN5BAez03oyh1JkCDYrsEj7FMqWSmbxiY2uubPshMLEGdPU+I46oJTO6FzMyG6hnQrK+/ne0zH8A5LA==",
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-                //同步跳转
-                'return_url' => "",
-                //编码格式
-                'charset' => "UTF-8",
-                //签名方式
-                'sign_type' => "RSA2",
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFYqNkoWJIx37fGcUBbnZJ+APf14YHO1cBdp9RFSasxj9gm+pwbtK3J6uRuPygK0K/OCgvtuFJ6mZT3tNUEgSZMjnre5Z7IzQnzIBUYFPUEO85s+/RDr5HnAqgOIbu9GL8GWrU6g6uj+QmW591vXckmsbujPx0S3IP+TMOQZWA0JVvDu+T9yGfv3pacKUgdNvYnas/si3278TL4DeIVjZ4OmbbEPmEhD/OhSVlTSWEOdqLuV4DvEpmrGa8XoyfFEtgV9qSVb454Qwu5Nw/ATc9+ssMbN6ROXzOQbAAfqAe6riNUtKEHGVaCynfUAYNyR6yvJb8+VkMR02nBEDC9QHQIDAQAB",
-            );
-        } else {
-            $config = array(
-                //应用ID,您的APPID。
-                'app_id' => "2017041906821571",
-
-                //商户私钥,您的原始格式RSA私钥
-                'merchant_private_key' => "MIIEpAIBAAKCAQEAvbeu6o90L+0AilI+mbhuJJH0lUv7hWQCEC+XUc+cWlC9ulKC3cSVScVLJHpUc09aj6v/iD1p9iVfgMxjeADNVKiQC2RJyRshAjzyTq+2bTcODp619iV2y4qW8UM65VcP7Ide3P0uT5xC2ReW0HpkdHZgm4F+P7mh1VhGt9qOP3hjvoraAHhtGACvsGvy8H69HhSAG+CEmFt7f2tKNWJ8xEUvkfhDvys93PfTk4xMWj048hJE2r38+2mWI/Il5dFQHWXXTVl2x9yi7uhEEW42a+7s9Q3HgqEvZiQ2NI1FTeEAPLFBApiEsNLY/smaszwqqfWGAyTMvtQ6T4K96GcTLQIDAQABAoIBAHwYTj33n9RJfnT73x7F2KXrIsUVcmyKQh88QgqtdmRNNA1QM3HESLJ8bu5pZhwW5/HaW8dOBKWRRKsHBnlUbPrXV4FcFDeLm0fPfd+iZ/2AaZ1+ix962f3BpYIiq7+f9zaMRazfnw9L8x31pByyMktLs12EkoQ0dHsMxxUzzKAOiiPnvCn8Pv+Jb2qej8GXgCjefutCVNMWGsdwJtMVXEbpdmMa48Wvw+0In5ZS/UG39YAreFzgDqI9jWHE1ZhkGmB1+8hKpeIlEeVGAeYVveUgssMORdA/YY8SWHk26KSIFXBrmdKjAcRJ8Q7ZHUmzIqAV+IMV+RD4J5mZHeJgdAECgYEA8J+Hp1M6eYbT4CPLXa//yRP6Xo+qSzrKHaRB1LRAjYhvKpx/TQetYpNCJ5bWpa+Jp0T5R21pzuYaJkPuGlNEHA13b5T3r1l2ltomSEdaShvD5EZ9WtErYV5zpSv7FjjIGkbwa0H3A8Ydnvw5z4A9TZjjHLjC2GtVGJReqHGglMECgYEAydddA4NRPxmXvIjjmLb1Ft1qwHuyv3vvWhi50foGZXNEnBcfP/OkfyBDDpOEu34GZBMXK9ykHBs1l93OEFGXh7AwW0Lp5lARahBEfBZgPjq5yPO8TOJZrb5hVcuvoDdGjxpRh93XDnQDhWS/1IvUcBLcIsTcnVvfrkX4NLxF/W0CgYEAxamG+gD4rBQBwMImsRN+/2MV7M//iEUG+0qPeXeI/7rv9wUP3etMlwl48qSKNxj37xxN2ksa/Acxu/VZhu6XqKO3VUX+IWFQdaNGh2F13iLozIDLQOtKw3WfcjOq0xpZ5pwXq0RI8iSw+IUhyD8EHNZW2qU8CiRBhyt6hsywqQECgYBa8+06FAachI/XqWfF/UvcDdJ5AkS9/L8SvmmdsSkItjSIkfLHAqdxkbwl6Vu6kUOX/PJIFZjuAWTZFl4xBFNgFYj01uZHnnT6cnIp6HteD2CAqTSFAMqgfFWoL6zoaYAmJBnxO4oZPTYI+ilnQcts5VLFaChx0GCvS2BZgy2W0QKBgQDjP2VtRq4aVSLUq2z1KIDI7GJBbOM5KSW1OEj4sfEdViozPh3Ar/FQWiij1oCZF+iJdKkonHoDbDd+Q0ykcpQ+5Gv07iiT8wJYFR/0j8g2kfql7bVQhGSBeBMS5sawKR3CvkfW73WX+CNnf0PklTY0kTyt6WRXDnKSeyxFVwSZ7g==",
-
-                //异步通知地址
-                'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
-
-                //同步跳转
-                'return_url' => "",
-
-                //编码格式
-                'charset' => "UTF-8",
-
-                //签名方式
-                'sign_type' => "RSA2",
-
-                //支付宝网关
-                'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
-
-                //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
-                'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsz3m9juAR1xew4DY6c34gvbwNg8pZ92f932tseKs+4+pF0e+jTDiUo/xHImNDi1KXt1B+s3LxY9L/sxEksbavwmhgbz/igN1cAEwS2YM+Gnf0csDrxAPJhoKL5FTwxPEQ/8VSgroU+6GlF3LAx4VHa1qfn5MqRPfLroJcyPDyGfNe9vna2FnO4E/PH+hVbvPUAwX3XrUvJIm4OgY0JE3HYFlu+O7F4Ln6+Sl+Zv/ZE2nZAvNiyAwW5iVKhKXLieExqwd0NdrP28baBqkkIY+tmV7butGjB52iK1UbU0+1uiaPL4xBxRy6d0LZmYlvdVHp0JRUuwxBLChGgOCo/76DQIDAQAB",
-
-            );
-        }
-
-        require_once($alipayWap . '/wappay/service/AlipayTradeService.php');
-        require_once($alipayWap . '/wappay/buildermodel/AlipayTradeQueryContentBuilder.php');//查询接口
-
-        $arr = $_GET;
-        $payWay = configDict::getConfig('payWayFullName');
-        $alipaySevice = new \AlipayTradeService($config);
-        $result = $alipaySevice->check($arr);
-        if ($result == false) {//验证失败
-            return $this->renderPartial('invalid');
-        }
-        $orderId = htmlspecialchars($_GET['out_trade_no']);//商户订单号
-        $tradeNo = htmlspecialchars($_GET['trade_no']);//支付宝交易号
-
-        $appId = htmlspecialchars($_GET['app_id']);
-        if ($config['app_id'] != $appId) {
-            Yii::warning('app_id disagree. orderId:' . $orderId);
-            util::end();
-        }
-
-        $payment = xhOrderService::getById($orderId);
-        $merchantId = $payment['merchantId'];
-        $merchant = xhMerchantService::getById($merchantId);
-        $RequestBuilder = new \AlipayTradeQueryContentBuilder();
-        $RequestBuilder->setTradeNo($tradeNo);
-        $queryResult = $alipaySevice->Query($RequestBuilder);
-        $alipayId = $queryResult->buyer_user_id;
-
-        //延迟1秒,保证异步回调完成
-        sleep(1);
-
-        $user = xhUserService::getAlipay($merchantId, $alipayId);
-        $userId = $user['id'];
-        $userAsset = xhUserAssetService::getByUserId($userId);
-
-        $isAnonymity = true;//是否匿名
-        $totalExpend = isset($userAsset['totalExpend']) ? $userAsset['totalExpend'] : 0;
-        $point = $userAsset['integral'];
-
-        return $this->renderPartial('orderAlipaySync', ['user' => $user, 'payment' => $payment, 'totalExpend' => $totalExpend, 'isAnonymity' => $isAnonymity, 'point' => $point, 'payWay' => $payWay, 'merchant' => $merchant]);
-    }
-
+	
+	public $categoryList;
+	
+	
+	//微信支付异步回调
+	public function actionWxCallback()
+	{
+		$postStr = file_get_contents('php://input');//接收微信服务器返回的xml消息体
+		if (empty($postStr)) {
+			util::end();
+		}
+		$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
+		if ($postObj->return_code != 'SUCCESS') {
+			Yii::warning('return_code error:' . $postObj->return_code);
+			util::end();
+		}
+		$orderId = $postObj->out_trade_no;
+		$total_fee = $postObj->total_fee;
+		$totalFee = $total_fee / 100;
+		$attach = $postObj->attach;
+		parse_str($attach);//接收流水类型、代金劵
+		$couponId = isset($couponId) ? $couponId : 0;
+		$capitalType = isset($capitalType) ? $capitalType : null;//流水类型
+		if (isset($capitalType) == false) {
+			Yii::warning('capitalType empty,orderId:' . $orderId);
+			util::end();
+		}
+		$return = xhPayToolService::weixinPay($orderId, $totalFee, $capitalType, $couponId);//支付回调流程
+		if ($return['code'] == 'A0002') {
+			Yii::warning('callback exec and failed,capitalType:' . $capitalType . ' orderId:' . $orderId);
+			util::end();
+		}
+		echo '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
+	}
+	
+	//支付宝异步通知
+	public function actionAlipayCallback()
+	{
+		header("Content-type: text/html; charset=utf-8");
+		$alipayWap = Yii::getAlias("@vendor/alipayWap");
+		
+		$orderId = $_POST['out_trade_no'];//商户订单号
+		$pay = xhOrderService::getById($orderId);
+		$merchantId = isset($pay['merchantId']) ? $pay['merchantId'] : 0;
+		
+		if ($merchantId == 12358) {
+			$config = array(
+				//应用ID,您的APPID。
+				'app_id' => "2019041663930158",
+				//商户私钥,您的原始格式RSA私钥
+				'merchant_private_key' => "MIIEpAIBAAKCAQEA0NGNBMu5BkHU+ztmGhGdsJC1n2ZbXn4uoaYNni2eriPHJHG8vCWL1vv3W+gxX3twnmdQ57s3hFWfd5PIwMm+8QIwiPucckbmTEm2rC2g4j+UnUiXzICJWjlzlCWiBftrsctKKwjsZTPiuDJzUKmYRD4DYWy1+4Uh6k6x98qbALuiFFrh7esvsaSepZfQ+zBLzMVfrtPABkwEtOAzUL4hz4YW+EFfqyj3mu4LP4M+zBWSKRs0iCzJILG/7JA4OEkDJ89gGZ6LiaITUgffV2tg/IS81aNBfutb3tICBr1PLlKYCV0ois54kqmmP7anNrn/KRFI/k6iLd82e1HEoHhvDwIDAQABAoIBAQCr+PgPTAv8CDl0Ek4bCAj7AaJiPTTgVEDpJc0vSNjXB2YZMIZD2RQaoHXtvgLzZMCx49pwjfHBzZZAL3h0tXHIIIqCNd15C8TcbRTBJe7KhZxKEB/b7ruvj4MNLhUKoi3mRcq2OGofSqTcF8h6VMGu6fd0w8f39YOh6N+Od9BBv8aL7CtBwQQihzatBdr2CyjH50TmlVWfEz2YKoZBGRuMy7EzLZgmR5IzEJC36tOBAg5DORNkEMAuzvnmBQznZCtzMZHW5Ytlh/3kbCUMsrWL6ioox/mel4DoQNnQ1kZ60f7Gny3I+0HiJ+vxVBZ3Nyd8FCVbAlq6avkB3ZGoCx0xAoGBAP/Mhf8X81mLK80TQsSWYPmnjnYkOZ7vIpNc/b6/N+BKAAjWB+0wXJ73nhuzB8cuJBz6TK8RE2uUuiUbiVP1jkrQ2EoCWadndKE1fcLFSSOYlN9rxfINcLicdNAFYu0m8He5cqPpW+06sD8HGOlWeBOyPvitXBjBeOB9dPWBpVkpAoGBAND7kruod1T4ErtOavYv4ErlyN0O6PpQR3MBlnzXnJfKLdaMvc/JaqjZtk14Nl9RnBDzN6d93LHxariyuTHw9mdGAPOpxcUEsUdOw56eRIzhyY8lz0c+lvE32r2NypuzK/2BGP5xR+spe7D4esuhLQhUYjByTWbgLQD+7724QrV3AoGAYuO2ib/AnEVpUYa4sTdRljJoqNOoUwEv5Lh2gF98QoFZMhFMTy37IJmpzhuQTjhQTcOWEbgQQe7lZ6MVnBe6QsIqW7I85rLgK9J6I+oRNGmwZA9OHx2DDlut7R2n+Pas0BwpbaSxnSyrJjKgNtTu5u5p2clraUaibGcT6DWOrsECgYEAspjM5aMrmGoJWBnEP3Da9ic6afD8Gi/RX+/TdA2vvekDE4BkFtfDV1n3+mzpyrwr7DBvN6zQlyICWqYirxOHAOtKlPJaGe3Qs2gUtdH8M4oifzuI0RIkXTGmtqgepsGQrq1NduXI2KgzFSLFjpDHs36qC00j6O9chqVYrYJzQDECgYBQyIWx3BBEUgWCbLTT8QeUdf+EnZSLZzIIQFn88zImhqkTSMbpBmcZpI4oOlWiM8i4XOaEzu+EDFIRAchIbVlDgBV1OprAN5BAez03oyh1JkCDYrsEj7FMqWSmbxiY2uubPshMLEGdPU+I46oJTO6FzMyG6hnQrK+/ne0zH8A5LA==",
+				//异步通知地址
+				'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
+				//同步跳转
+				'return_url' => "",
+				//编码格式
+				'charset' => "UTF-8",
+				//签名方式
+				'sign_type' => "RSA2",
+				//支付宝网关
+				'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
+				//支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
+				'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFYqNkoWJIx37fGcUBbnZJ+APf14YHO1cBdp9RFSasxj9gm+pwbtK3J6uRuPygK0K/OCgvtuFJ6mZT3tNUEgSZMjnre5Z7IzQnzIBUYFPUEO85s+/RDr5HnAqgOIbu9GL8GWrU6g6uj+QmW591vXckmsbujPx0S3IP+TMOQZWA0JVvDu+T9yGfv3pacKUgdNvYnas/si3278TL4DeIVjZ4OmbbEPmEhD/OhSVlTSWEOdqLuV4DvEpmrGa8XoyfFEtgV9qSVb454Qwu5Nw/ATc9+ssMbN6ROXzOQbAAfqAe6riNUtKEHGVaCynfUAYNyR6yvJb8+VkMR02nBEDC9QHQIDAQAB",
+			);
+		} else {
+			$config = array(
+				//应用ID,您的APPID。
+				'app_id' => "2017041906821571",
+				
+				//商户私钥,您的原始格式RSA私钥
+				'merchant_private_key' => "MIIEpAIBAAKCAQEAvbeu6o90L+0AilI+mbhuJJH0lUv7hWQCEC+XUc+cWlC9ulKC3cSVScVLJHpUc09aj6v/iD1p9iVfgMxjeADNVKiQC2RJyRshAjzyTq+2bTcODp619iV2y4qW8UM65VcP7Ide3P0uT5xC2ReW0HpkdHZgm4F+P7mh1VhGt9qOP3hjvoraAHhtGACvsGvy8H69HhSAG+CEmFt7f2tKNWJ8xEUvkfhDvys93PfTk4xMWj048hJE2r38+2mWI/Il5dFQHWXXTVl2x9yi7uhEEW42a+7s9Q3HgqEvZiQ2NI1FTeEAPLFBApiEsNLY/smaszwqqfWGAyTMvtQ6T4K96GcTLQIDAQABAoIBAHwYTj33n9RJfnT73x7F2KXrIsUVcmyKQh88QgqtdmRNNA1QM3HESLJ8bu5pZhwW5/HaW8dOBKWRRKsHBnlUbPrXV4FcFDeLm0fPfd+iZ/2AaZ1+ix962f3BpYIiq7+f9zaMRazfnw9L8x31pByyMktLs12EkoQ0dHsMxxUzzKAOiiPnvCn8Pv+Jb2qej8GXgCjefutCVNMWGsdwJtMVXEbpdmMa48Wvw+0In5ZS/UG39YAreFzgDqI9jWHE1ZhkGmB1+8hKpeIlEeVGAeYVveUgssMORdA/YY8SWHk26KSIFXBrmdKjAcRJ8Q7ZHUmzIqAV+IMV+RD4J5mZHeJgdAECgYEA8J+Hp1M6eYbT4CPLXa//yRP6Xo+qSzrKHaRB1LRAjYhvKpx/TQetYpNCJ5bWpa+Jp0T5R21pzuYaJkPuGlNEHA13b5T3r1l2ltomSEdaShvD5EZ9WtErYV5zpSv7FjjIGkbwa0H3A8Ydnvw5z4A9TZjjHLjC2GtVGJReqHGglMECgYEAydddA4NRPxmXvIjjmLb1Ft1qwHuyv3vvWhi50foGZXNEnBcfP/OkfyBDDpOEu34GZBMXK9ykHBs1l93OEFGXh7AwW0Lp5lARahBEfBZgPjq5yPO8TOJZrb5hVcuvoDdGjxpRh93XDnQDhWS/1IvUcBLcIsTcnVvfrkX4NLxF/W0CgYEAxamG+gD4rBQBwMImsRN+/2MV7M//iEUG+0qPeXeI/7rv9wUP3etMlwl48qSKNxj37xxN2ksa/Acxu/VZhu6XqKO3VUX+IWFQdaNGh2F13iLozIDLQOtKw3WfcjOq0xpZ5pwXq0RI8iSw+IUhyD8EHNZW2qU8CiRBhyt6hsywqQECgYBa8+06FAachI/XqWfF/UvcDdJ5AkS9/L8SvmmdsSkItjSIkfLHAqdxkbwl6Vu6kUOX/PJIFZjuAWTZFl4xBFNgFYj01uZHnnT6cnIp6HteD2CAqTSFAMqgfFWoL6zoaYAmJBnxO4oZPTYI+ilnQcts5VLFaChx0GCvS2BZgy2W0QKBgQDjP2VtRq4aVSLUq2z1KIDI7GJBbOM5KSW1OEj4sfEdViozPh3Ar/FQWiij1oCZF+iJdKkonHoDbDd+Q0ykcpQ+5Gv07iiT8wJYFR/0j8g2kfql7bVQhGSBeBMS5sawKR3CvkfW73WX+CNnf0PklTY0kTyt6WRXDnKSeyxFVwSZ7g==",
+				
+				//异步通知地址
+				'notify_url' => Yii::$app->params['frontUrl'] . "/notice/alipay-async",
+				
+				//同步跳转
+				'return_url' => "",
+				
+				//编码格式
+				'charset' => "UTF-8",
+				
+				//签名方式
+				'sign_type' => "RSA2",
+				
+				//支付宝网关
+				'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
+				
+				//支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
+				'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsz3m9juAR1xew4DY6c34gvbwNg8pZ92f932tseKs+4+pF0e+jTDiUo/xHImNDi1KXt1B+s3LxY9L/sxEksbavwmhgbz/igN1cAEwS2YM+Gnf0csDrxAPJhoKL5FTwxPEQ/8VSgroU+6GlF3LAx4VHa1qfn5MqRPfLroJcyPDyGfNe9vna2FnO4E/PH+hVbvPUAwX3XrUvJIm4OgY0JE3HYFlu+O7F4Ln6+Sl+Zv/ZE2nZAvNiyAwW5iVKhKXLieExqwd0NdrP28baBqkkIY+tmV7butGjB52iK1UbU0+1uiaPL4xBxRy6d0LZmYlvdVHp0JRUuwxBLChGgOCo/76DQIDAQAB",
+			
+			);
+		}
+		
+		
+		require_once($alipayWap . '/wappay/service/AlipayTradeService.php');
+		require_once($alipayWap . '/wappay/buildermodel/AlipayTradeQueryContentBuilder.php');//查询接口
+		
+		
+		$arr = $_POST;
+		$alipaySevice = new \AlipayTradeService($config);
+		$alipaySevice->writeLog(var_export($_POST, true));
+		$result = $alipaySevice->check($arr);
+		Yii::info('check:' . $result);
+		if ($result) {//验证成功
+			$orderId = $_POST['out_trade_no'];//商户订单号
+			$tradeNo = $_POST['trade_no'];//支付宝交易号
+			$tradeStatus = $_POST['trade_status'];//交易状态
+			$totalFee = $_POST['total_amount'];
+			$appId = $_POST['app_id'];
+			$passbackParams = $_POST['passback_params'];
+			$passbackParams = urldecode($passbackParams);
+			parse_str($passbackParams);//接收流水类型、代金劵
+			$couponId = isset($couponId) ? $couponId : 0;
+			$capitalType = isset($capitalType) ? $capitalType : null;//流水类型
+
+			$RequestBuilder = new \AlipayTradeQueryContentBuilder();
+			$RequestBuilder->setTradeNo($tradeNo);
+			$queryResult = $alipaySevice->Query($RequestBuilder);
+			$alipayId = $queryResult->buyer_user_id;
+			$alipayAccount = $queryResult->buyer_logon_id;//买家的支付宝帐号,不完整,带*号
+			$alipayParams = ['alipayId' => $alipayId, 'alipayAccount' => $alipayAccount];
+
+			if (isset($capitalType) == false) {
+				Yii::warning('capitalType empty, orderId:' . $orderId);
+				util::end();
+			}
+			if ($config['app_id'] != $appId) {
+				Yii::warning('app_id disagree, orderId:' . $orderId . ' config app_id:' . $config['app_id'] . ' appId:' . $appId);
+				util::end();
+			}
+			if ($tradeStatus == 'TRADE_FINISHED' || $tradeStatus == 'TRADE_SUCCESS') {
+				$return = xhPayToolService::alipay($orderId, $totalFee, $capitalType, $couponId, $alipayParams);//支付回调流程
+				if ($return['code'] == 'A0002') {
+					Yii::warning('callback exec and failed,capitalType:' . $capitalType . ' orderId:' . $orderId);
+					util::end();
+				}
+			}
+			//请不要修改或删除
+			echo "success";
+			util::end();
+		}
+		//请不要修改或删除
+		echo "fail";
+	}
+	
 }

+ 6 - 0
biz/coupon/classes/CouponClass.php

@@ -21,4 +21,10 @@ class CouponClass extends BaseClass
 		return self::getLimitList('*', ['userId' => $userId, 'status' => 0, 'deadline>' => $time], $num, 'addTime DESC');
 	}
 
+	//使用优惠券 shish 2020.3.10
+	public static function useCoupon($couponId)
+	{
+		self::updateById($couponId, ['status' => 1]);
+	}
+
 }

+ 10 - 8
common/services/xhPayToolService.php

@@ -2,6 +2,7 @@
 
 namespace common\services;
 
+use biz\coupon\classes\CouponClass;
 use biz\order\classes\OrderSendClass;
 use biz\order\services\OrderService;
 use biz\user\classes\UserClass;
@@ -16,14 +17,11 @@ use common\components\wxUtil;
 
 /**
  * 支付工具
- * @author sofashi
  */
 class xhPayToolService
 {
 	
-	/**
-	 * 余额支付
-	 */
+	//余额支付
 	public static function balancePay($orderSn, $totalFee, $capitalType, $couponId)
 	{
 		$payWay = configDict::getConfig('payWay', 'balancePay');
@@ -67,6 +65,10 @@ class xhPayToolService
 		$connection = Yii::$app->db;//事务处理
 		$transaction = $connection->beginTransaction();
 		try {
+			
+			//使用优惠券
+			CouponClass::useCoupon($couponId);
+
 			$typeList = configDict::getConfig('capitalType');//流水类型列表
 			switch ($capitalType) {
 				case $typeList['xhOrder']['id']://购买商品
@@ -211,7 +213,7 @@ class xhPayToolService
 			switch ($capitalType) {
 				case $typeList['xhOrder']['id']://购买商品
 					xhOrderService::updateById($orderId, $updateData);
-					Yii::info('22222'.json_encode($updateData));
+					Yii::info('22222' . json_encode($updateData));
 					//发货里的下单流程完成
 					OrderSendClass::placeOrder(['orderId' => $orderId, 'payTime' => $now]);
 					break;
@@ -254,7 +256,7 @@ class xhPayToolService
 				'event' => $uIntegralEvent,
 				'operatorId' => $userId,
 				'createTime' => $date,
-				'capitalType' => $capitalType,
+				'gainType' => 1,
 				'addTime' => $now,
 			];
 			xhUserGrowthService::add($growData);//用户兑换型积分流水增加
@@ -278,9 +280,9 @@ class xhPayToolService
 				'capitalType' => $capitalType,
 			];
 			xhUserCapitalService::add($userCapitalData);//用户资金流水增加
-
+			
 			$transaction->commit();
-
+			
 		} catch (Exception $e) {
 			$transaction->rollBack();
 			util::fail('支付没有成功');