alroyso 1 vuosi sitten
vanhempi
säilyke
1908237258
1 muutettua tiedostoa jossa 18 lisäystä ja 13 poistoa
  1. 18 13
      app/Http/Controllers/Gateway/Zypay.php

+ 18 - 13
app/Http/Controllers/Gateway/Zypay.php

@@ -74,6 +74,15 @@ class Zypay extends AbstractPayment
             $result = $response->json();
             Log::error('【河马支付】 返回错误信息:'.var_export($result, true));
             if ($result['status'] === 1) {
+                /**
+                (
+                'status' => 1,
+                'code_url' => 'http://pay.mssdk.com/pay/ali_scan/pay.php?orderid=m2023092814174271459&price=30.00&sign=cc58bd605c76c1380c1aaba95d3f4b61',
+                'code_img_url' => 'http://pay.mssdk.com/pay/qrcode/get.php?data=http%3A%2F%2Fpay.mssdk.com%2Fpay%2Fali_scan%2Fpay.php%3Forderid%3Dm2023092814174271459%26price%3D30.00%26sign%3Dcc58bd605c76c1380c1aaba95d3f4b61',
+                'page_url' => 'http://pay.mssdk.com/pay/ali_scan/send.php?orderid=m2023092814174271459&price=30.00&sign=cc58bd605c76c1380c1aaba95d3f4b61',
+                )
+                [2023-09-28
+                 */
                 return Response::json(['status' => 'success', 'url' => $result['page_url'], 'message' => '创建订单成功!']);
             }
         }
@@ -83,13 +92,15 @@ class Zypay extends AbstractPayment
 
     public function notify(Request $request): void
     {
-        if ($this->verifySign($request->post())){
-            exit('SIGN FAIL');
+        if (!$this->verifySign($request->post())){
+            exit('signerr');
         }
         if ($request->has(['sdorderno']) && $this->paymentReceived($request->input(['sdorderno']))  ) {
             $this->addPamentCallback($request->input('sdorderno'),$request->input('sdpayno'),"");
             Log::info('【河马支付】paymentReceived:'.var_export($request->all(), true));
-            exit(json_encode(['status' => 200]));
+            exit('success');
+        } else {
+            exit('fail');
         }
     }
 
@@ -97,14 +108,6 @@ class Zypay extends AbstractPayment
     {
         $key = "ef32cf2c4b1a352b7340a2465a563cdc9daaf3af";
         $sign = $params['sign'];
-        $data = [
-            'customerid' => $params['customerid'],
-            'status' => $params['status'],
-            'sdpayno' => $params['sdpayno'],
-            'sdorderno' => $params['sdorderno'],
-            'total_fee' => $params['total_fee'],
-            'paytype' => $params['paytype'],
-        ];
         // 构建签名字符串
         $signStr = 'customerid=' . $params["customerid"] .
             '&status=' . $params["status"] .
@@ -113,9 +116,11 @@ class Zypay extends AbstractPayment
             '&total_fee=' . $params["total_fee"] .
             '&paytype=' . $params["paytype"] .
             '&' . $key;
-
+        $newsign = md5($signStr);
+        Log::info("原始签名". var_export($sign, true));
+        Log::info("新原始签名". var_export($newsign, true));
         //$str = http_build_query($data) . '&' . $key;
-        if ($sign !== md5($signStr)) {
+        if ($sign !== $newsign) {
             return false;
         }
         return true;