public function anyWxPay()
 {
     if (Input::has('user_id') && Input::has('out_trade_no') && Input::has('goods_name') && Input::has('total_fee')) {
         $outTradeNo = Input::get('out_trade_no');
         $goodsName = Input::get('goods_name');
         if (Input::get('total_fee') <= 1) {
             $totalFee = 100;
         } else {
             $totalFee = (int) Input::get('total_fee') * 100;
         }
     } else {
         Log::error(var_export('参数错误', true), array(__CLASS__));
         return Response::json($this->response('10005'));
     }
     //②、统一下单   请求微信预下单
     $input = new WxPayUnifiedOrder();
     $input->SetBody($goodsName);
     $input->SetOut_trade_no($outTradeNo);
     $input->SetTotal_fee($totalFee);
     $input->SetTime_start(date("YmdHis"));
     $input->SetTime_expire(date("YmdHis", time() + 7200));
     $input->SetGoods_tag("test_goods");
     $input->SetNotify_url(Input::root() . "/callback/weixin/callback");
     $input->SetTrade_type("APP");
     //浏览器测试记得注释掉   $inputObj->SetSpbill_create_ip("1.1.1.1");
     $order = WxPayApi::unifiedOrder($input);
     if (array_key_exists('err_code', $order)) {
         return Response::json($this->response('0', $order['err_code'], $order['err_code_des']));
     }
     if ($order['return_code'] == 'SUCCESS') {
         $timestamp = time();
         //参与签名的字段 无需修改  预支付后的返回值
         $arr = array();
         $arr['appid'] = trim(WxPayConfig::APPID);
         $arr['partnerid'] = trim(WxPayConfig::MCHID);
         $arr['prepayid'] = $order['prepay_id'];
         $arr['package'] = 'Sign=WXPay';
         $arr['noncestr'] = $order['nonce_str'];
         $arr['timestamp'] = $timestamp;
         $obj = new WxPayDataBase();
         $obj->SetValues($arr);
         $sign = $obj->SetSign();
         //返回给APP数据
         $data = array();
         $data['return_code'] = $order['return_code'];
         $data['return_msg'] = $order['return_msg'];
         $data['prepay_id'] = $order['prepay_id'];
         $data['trade_type'] = $order['trade_type'];
         $data['nonce_str'] = $order['nonce_str'];
         $data['timestamp'] = $timestamp;
         $data['sign'] = $sign;
         Log::error(var_export($data, true), array(__CLASS__));
         return Response::json($this->response('1', '预订单成功', $data));
     } else {
         Log::error(var_export('微信回调错误', true), array(__CLASS__));
         return Response::json($this->response('0'));
     }
 }