where(array('recharge_sn'=>$post_data['out_trade_no'],'status'=>0))->first(); if(!$user_recharge){Log::info('充值记录不存在');echo "FAILE";exit;} if($pay_money < $user_recharge->money){Log::info('充值金额不匹配');echo "FAILE";exit;} //如果支付金额小于要充值的金额 //更新充值支付记录状态 DB::table('user_recharge')->where(array('recharge_sn'=>$post_data['out_trade_no'],'status'=>0))->update(array('pay_time'=>$pay_time_timestamp,'updated_at'=>time(),'pay_type'=>1,'status'=>1,'trade_no'=>$post_data['transaction_id'],'pay_money'=>$pay_money)); //增加用户余额 DB::table('user')->where(array('id'=>$user_recharge->user_id))->increment('money', $pay_money); //添加用户余额记录 DB::table('user_money')->insert(array('user_id'=>$user_recharge->user_id,'type'=>0,'money'=>$pay_money,'des'=>'充值','user_money'=>DB::table('user')->where(array('id'=>$user_recharge->user_id))->value('money'),'add_time'=>time())); } elseif($post_data['pay_type'] == 2) { //获取订单记录 $order = DB::table('order')->where(array('order_sn'=>$post_data['out_trade_no'],'order_status'=>0,'pay_status'=>0))->first(); if(!$order){Log::info('订单不存在');echo "FAILE";exit;} if($pay_money < $order->order_amount){Log::info('订单金额不匹配');exit;} //如果支付金额小于订单金额 //修改订单状态 $order_update_data['pay_status'] = 1; $order_update_data['pay_money'] = $pay_money; //支付金额 $order_update_data['pay_id'] = 2; $order_update_data['pay_time'] = $pay_time_timestamp; $order_update_data['pay_name'] = 'wxpay_jsapi'; $order_update_data['trade_no'] = $post_data['transaction_id']; $order_update_data['updated_at'] = time(); DB::table('order')->where(array('order_sn'=>$post_data['out_trade_no'],'order_status'=>0,'pay_status'=>0))->update($order_update_data); } elseif($post_data['pay_type'] == 3) { $res = "FAILE"; } elseif($post_data['pay_type'] == 4) { $res = "FAILE"; } else { $res = "FAILE"; } //file_put_contents("2.txt",$post_data['total_fee'].'--'.$post_data['out_trade_no'].'--'.$post_data['attach'].'--'.$post_data['pay_type']); } echo $res; } }