WIN-2308041133\Administrator il y a 5 mois
Parent
commit
ca43001c6e
2 fichiers modifiés avec 37 ajouts et 2 suppressions
  1. 27 0
      extend/liuniu/WechatService.php
  2. 10 2
      extend/liuniu/repositories/LaveRepository.php

+ 27 - 0
extend/liuniu/WechatService.php

@@ -582,6 +582,33 @@ class WechatService
         @file_put_contents("quanju.txt", json_encode($result) . "-签约返回结果\r\n", 8);
         return $result;
     }
+    /**
+     * 纯签约订单对象
+     * @param $openid
+     * @param $out_trade_no
+     * @param $total_fee
+     * @param $attach
+     * @param $body
+     * @param string $detail
+     * @param string $trade_type
+     * @param array $options
+     * @return Order
+     */
+    public static function signedOrder($openid, $out_trade_no, $total_fee, $attach, $body,$contract_code, $plan_id,$spbill_create_ip,$detail = '', $trade_type = 'JSAPI', $options = [], $cid = 0,$contract_display_account='')
+    {
+        $total_fee = bcmul($total_fee, 100, 0);
+        $timestamp=time();
+        $version = '1.0';
+        $order = array_merge(compact('out_trade_no', 'total_fee', 'attach', 'body', 'detail', 'trade_type', 'openid','contract_code','plan_id','spbill_create_ip','contract_display_account','timestamp','version'), $options);
+        if ($order['detail'] == '') unset($order['detail']);
+        $order['contract_notify_url']=Request::instance()->domain() . "/api/wechat/notify/" . $cid;
+        $result = self::payment(false, $cid)->contract->web(
+            $order
+        );
+//        var_dump($result);die();
+        @file_put_contents("quanju.txt", json_encode($result) . "-签约返回结果测试\r\n", 8);
+        return $result;
+    }
     /**
      * 签约申请扣款
      * @param $openid

+ 10 - 2
extend/liuniu/repositories/LaveRepository.php

@@ -97,8 +97,16 @@ class LaveRepository
         if ($orderInfo['paid']) exception('支付已支付!');
         if ($orderInfo['amount'] <= 0) exception('该支付无需支付!');
         $openid = UserRelation::userIdToOpenId($plan_record['uid']);
-//                                          ($openid, $out_trade_no,         $total_fee,                  $attach,  $body,                   $contract_code,              $plan_id,              $spbill_create_ip                   ,$detail = '', $trade_type = 'JSAPI', $options = [], $cid = 0,$contract_display_account='')
-        $rs = WechatService::paysignedOrder($openid, $orderInfo['order_id'], $orderInfo['amount'], "lave", $orderInfo['order_name'], $plan_record['contract_code'],$plan_record['plan_id'],$plan_record['spbill_create_ip'],'', 'JSAPI', [], $cid,$plan_record['contract_display_account']);
+        if ($orderInfo['uid']==6779){
+            //                                          ($openid, $out_trade_no,         $total_fee,                  $attach,  $body,                   $contract_code,              $plan_id,              $spbill_create_ip                   ,$detail = '', $trade_type = 'JSAPI', $options = [], $cid = 0,$contract_display_account='')
+            $rs = WechatService::signedOrder($openid, $orderInfo['order_id'], $orderInfo['amount'], "lave", $orderInfo['order_name'], $plan_record['contract_code'],$plan_record['plan_id'],$plan_record['spbill_create_ip'],'', 'JSAPI', [], $cid,$plan_record['contract_display_account']);
+
+        }else{
+            //                                          ($openid, $out_trade_no,         $total_fee,                  $attach,  $body,                   $contract_code,              $plan_id,              $spbill_create_ip                   ,$detail = '', $trade_type = 'JSAPI', $options = [], $cid = 0,$contract_display_account='')
+            $rs = WechatService::paysignedOrder($openid, $orderInfo['order_id'], $orderInfo['amount'], "lave", $orderInfo['order_name'], $plan_record['contract_code'],$plan_record['plan_id'],$plan_record['spbill_create_ip'],'', 'JSAPI', [], $cid,$plan_record['contract_display_account']);
+
+        }
+
         return WechatService::jspay($cid, $rs['prepay_id']);
 
     }