فهرست منبع

fix 一分钱

stanley-king 9 سال پیش
والد
کامیت
405f9fc201
2فایلهای تغییر یافته به همراه11 افزوده شده و 12 حذف شده
  1. 6 6
      data/logic/payment.logic.php
  2. 5 6
      mobile/control/app_pay.php

+ 6 - 6
data/logic/payment.logic.php

@@ -112,14 +112,14 @@ class paymentLogic
 
         $order_list = $model_order->getNormalOrderList(array('pay_sn' => $pay_sn));
         $pred_helper = new predeposit_helper();
-        $pd_amount = intval($pd_amount * 100);
+        $pd_amount = intval($pd_amount * 100 + 0.5);
 
         $used_pred = intval(0);
         $can_used = 0;
         foreach ($order_list as $order_info) {
             // 计算运费+订单总额
-            $cur_order_amount = intval(floatval($order_info['order_amount']) * 100);
-            $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100);
+            $cur_order_amount = intval(floatval($order_info['order_amount']) * 100 + 0.5);
+            $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100 + 0.5);
             $used_pred += $cur_pd_amount;
 
             $order_pd_amount = $pred_helper->calc_pred($cur_order_amount, $pd_amount, $cur_pd_amount, $no_cash);
@@ -162,12 +162,12 @@ class paymentLogic
         {
 
             DB::beginTransaction();
-            $pd_amount = intval($pd_amount * 100);
+            $pd_amount = intval($pd_amount * 100 + 0.5);
             foreach ($order_list as $order_info)
             {
                 // 计算运费+订单总额
-                $cur_order_amount = intval(floatval($order_info['order_amount']) * 100);
-                $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100);
+                $cur_order_amount = intval(floatval($order_info['order_amount']) * 100 + 0.5);
+                $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100 + 0.5);
                 $order_pd_amount = $pred_helper->calc_pred($cur_order_amount,$pd_amount,$cur_pd_amount,$no_cash);
                 $pd_amount -= $order_pd_amount;
 

+ 5 - 6
mobile/control/app_pay.php

@@ -80,7 +80,7 @@ class app_payControl extends mbMemberControl
 
         // 判断是否需要支付
         $output = array();
-        $pay_money = intval(floatval($result['data']['api_pay_amount']) * 100);
+        $pay_money = intval(floatval($result['data']['api_pay_amount']) * 100 + 0.5);
         if ($pay_money >= 1)
         {
             $output['need_pay'] = 1;
@@ -155,7 +155,7 @@ class app_payControl extends mbMemberControl
     {
         $subject = $pay_info['subject'];
         $pay_sn = $pay_info['pay_sn'];
-        $fee = intval(doubleval($pay_info['api_pay_amount']) * 100);
+        $fee = intval(doubleval($pay_info['api_pay_amount']) * 100 + 0.5);
         $order_sn = $pay_info['order_list'][0]['order_sn'];
 
         if ($payment == 'wxpay') {
@@ -168,8 +168,7 @@ class app_payControl extends mbMemberControl
             $ret['out_trade_no'] = $pay_sn;   // 商户网站唯一订单号
             $ret['subject'] = $subject;                                     // 商品名称
             $ret['body'] = "order_sn={$order_sn}";                          // 商品详情
-            $total_fee = floatval($pay_info['order_list'][0]['order_amount']) - floatval($pay_info['order_list'][0]['pd_amount']);
-            $total_fee = floatval(intval($total_fee * 100)) / 100 ;
+            $total_fee = intval(doubleval($pay_info['api_pay_amount']) * 100 + 0.5) / 100;
             $ret['total_fee'] =  $total_fee;// 商品金额
             $ret['notify_url'] = self::ali_notifyurl;                       // 服务器异步通知页面路径
             $ret['service'] = 'mobile.securitypay.pay';                     // 服务器接口名称,固定值
@@ -275,8 +274,8 @@ class app_payControl extends mbMemberControl
             return false;
         }
 
-        $need_pay = intval($result['data']['api_pay_amount'] * 100);
-        $total_fee = intval($total_fee * 100);
+        $need_pay = intval($result['data']['api_pay_amount'] * 100 + 0.5);
+        $total_fee = intval($total_fee * 100 + 0.5);
 
         return ($need_pay === $total_fee);
     }