소스 검색

Merge branch 'master' of https://git.wenlab.co/sin/twong329

joe 4 년 전
부모
커밋
89806765a3
1개의 변경된 파일25개의 추가작업 그리고 15개의 파일을 삭제
  1. 25 15
      crmeb/payment/MachantPay.php

+ 25 - 15
crmeb/payment/MachantPay.php

@@ -103,14 +103,17 @@ class MachantPay {
 
             $res = $sdk->execute($req);
             
-            return [
-                $sdk->checkResult($res),
-                $sdk->getErrorCode($res),
-                $sdk->getError($res),
-            ];
+            if (!$sdk->checkResult($res)) {
+                $err = $sdk->getError($res);
+                errlog("toWeixin(): error=$err openid=$openid amount=$amount");
+                return [false, $sdk->getErrorCode($res), '微信通道执行失败'];
+            } else {
+                return [true, 0, ''];
+            }
         } catch (\Exception $e) {
-            errlog('exception:' . $e->getMessage());
-            return [false, $e->getCode(), $e->getMessage()];
+            $err = $e->getMessage();
+            errlog("toWeixin(): exception=$err openid=$openid amount=$amount");
+            return [false, $e->getCode(), '微信通道执行失败'];
         }
     }
 
@@ -143,18 +146,25 @@ class MachantPay {
             }
             $req->bank_code = $bank_code;
             $req->amount = intval(bcmul($amount, 100, 0));
-            $req->desc = $desc;
+
+            // 最长为 100 字符,一般不会超过,超过就让失败
+            if (mb_strlen($desc) > 0) {
+                $req->desc = $desc;
+            }
 
             $res = $sdk->execute($req);
 
-            return [
-                $sdk->checkResult($res),
-                $sdk->getErrorCode($res),
-                $sdk->getError($res),
-            ];
+            if (!$sdk->checkResult($res)) {
+                $err = $sdk->getError($res);
+                errlog("error=$err bank_no=$bank_no true_name=$true_name bank_name=$bank_name amount=$amount");
+                return [false, $sdk->getErrorCode($res), '付款通道执行失败'];
+            } else {
+                return [true, 0, ''];
+            }
         } catch (\Exception $e) {
-            errlog('exception:' . $e->getMessage());
-            return [false, $e->getCode(), $e->getMessage()];
+            $err = $e->getMessage();
+            errlog("exception=$err bank_no=$bank_no true_name=$true_name bank_name=$bank_name amount=$amount");
+            return [false, $e->getCode(), '付款通道执行失败'];
         }
     }