panda 1 year ago
parent
commit
5f66f7cb1f

+ 11 - 28
application/api/controller/HuiPay.php

@@ -224,28 +224,21 @@ class HuiPay extends Api
     {
     {
         $params = $request->param();
         $params = $request->param();
         LogUtil::info('支付回调参数', self::LOG_MODULE, __FUNCTION__, $params);
         LogUtil::info('支付回调参数', self::LOG_MODULE, __FUNCTION__, $params);
-        return 'SUCCESS';
-
         // 校验回调信息
         // 校验回调信息
-        if (empty($params['resp_code']) || $params['resp_code'] != '00000000' || empty($resp_data['req_seq_id'])) {
-            LogUtil::info('回调信息有误', self::LOG_MODULE, __FUNCTION__, "resp_code error");
+        if (empty($params['order_status']) || $params['order_status'] != 'SUCCESS' || empty($params['out_trade_no'])) {
+            LogUtil::info('回调信息有误', self::LOG_MODULE, __FUNCTION__,$params['order_status'] ?? 'error');
             return self::response201('支付信息有误');
             return self::response201('支付信息有误');
         }
         }
 
 
         // 校验签名
         // 校验签名
-        $huiPay = new PayUtil();
-        if (!$huiPay->checkSign($params['sign'],$resp_data_json)){
+        $huiPay = new JingXiuPayUtil();
+        if (!$huiPay->checkSign($params)){
             LogUtil::info('签名校验失败', self::LOG_MODULE, __FUNCTION__);
             LogUtil::info('签名校验失败', self::LOG_MODULE, __FUNCTION__);
             return self::response201('签名校验失败');
             return self::response201('签名校验失败');
         }
         }
 
 
-        if ($resp_data['resp_code'] != '00000000'){
-            LogUtil::info('订单交易失败', self::LOG_MODULE, __FUNCTION__,$resp_data['resp_desc'] ?? '交易失败');
-            return self::response201('支付信息有误');
-        }
-
         // 开始处理业务逻辑
         // 开始处理业务逻辑
-        $pay_no = $resp_data['req_seq_id'];
+        $pay_no = $params['out_trade_no'];
         LogUtil::info('订单号', self::LOG_MODULE, __FUNCTION__, $pay_no);
         LogUtil::info('订单号', self::LOG_MODULE, __FUNCTION__, $pay_no);
         //查询订单信息
         //查询订单信息
         $order_info = Db::name('pay_order')->where('pay_no', $pay_no)->find();
         $order_info = Db::name('pay_order')->where('pay_no', $pay_no)->find();
@@ -308,36 +301,26 @@ class HuiPay extends Api
         }
         }
 
 
         LogUtil::info('订单处理成功', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
         LogUtil::info('订单处理成功', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
-        return self::response200('success');
+        return self::response200();
     }
     }
 
 
     /**
     /**
      * 成功返回
      * 成功返回
      * @param string $message
      * @param string $message
-     * @param $result
      * @return string
      * @return string
      */
      */
-    private static function response200(string $message = 'success', $result = null)
+    private static function response200(string $message = 'SUCCESS')
     {
     {
-        return json_encode([
-            'code' => 200,
-            'message' => $message,
-            'result' => $result,
-        ], JSON_UNESCAPED_UNICODE);
+        return $message;
     }
     }
 
 
     /**
     /**
      * 失败返回201
      * 失败返回201
      * @param string $message
      * @param string $message
-     * @param $result
-     * @return string json
+     * @return string
      */
      */
-    private static function response201(string $message = 'error', $result = null)
+    private static function response201(string $message = 'error')
     {
     {
-        return json_encode([
-            'code' => 201,
-            'message' => $message,
-            'result' => $result
-        ], JSON_UNESCAPED_UNICODE);
+        return $message;
     }
     }
 }
 }

+ 10 - 0
application/utils/JingXiu/JingXiuPayUtil.php

@@ -47,6 +47,16 @@ class JingXiuPayUtil extends Module
     }
     }
 
 
     /**
     /**
+     * @param $params
+     * @return bool
+     */
+    public function checkSign($params)
+    {
+        $client = new PasspayClient($this->host, $this->mch_id, $this->merchant_private_key, $this->platform_public_key);
+        return $client->verifySign($params);
+    }
+
+    /**
      * 统一下单
      * 统一下单
      * @param string $trade_type
      * @param string $trade_type
      * @param $sub_appid
      * @param $sub_appid

+ 6 - 1
application/utils/JingXiu/PasspayClient.php

@@ -97,7 +97,12 @@ class PasspayClient
         return $signature;
         return $signature;
     }
     }
 
 
-    //平台公钥验签
+    /**
+     * 平台公钥验签
+     * @param $data
+     * @param $signature
+     * @return bool
+     */
     private function rsaPubilcSign($data, $signature)
     private function rsaPubilcSign($data, $signature)
     {
     {
         $pubKey   = $this->platform_public_key;
         $pubKey   = $this->platform_public_key;