<?php // 用户募捐支付接口 require_once ("../user_include.inc"); ErrorLogger::doOutput("Compass...ajax_set_user_donation_dat.php.php....Start.", 0); //获取参数 $unionId = ParamUtil::getRequestString("unionId"); $donationId = ParamUtil::getRequestNumber("donationId", 0); $comment = ParamUtil::getRequestString("comment"); $money = ParamUtil::getRequestNumber("money", 0); $result = array(); //参数检查 if(empty($unionId) || empty($donationId)|| empty($comment)|| empty($money)) { $result["message"] = "参数错误!"; responseNG($result); } $result = array(); //判断用户是否存在 $param = array(); $param['unionid'] = $unionId; $param['delete_flg'] = false; $userList = UserMst::getList($param,'id','desc', 0, 1); if(empty($userList)) { $result["message"] = "用户不存在!"; responseNG($result); } $userMst = $userList[0]; //募捐项目是否存在 $donationEventDat = DonationsEventDat::getById($donationId); if(empty($donationEventDat)) { $result["message"] = "参数错误!"; responseNG($result); } //调用支付 //生成临时订单 $orderNo = "D" . date("YmdHis") . "_" . $userMst->id; $userDonationDat = new UserDonationDat(); $userDonationDat->user_id = $userMst->id; $userDonationDat->donation_id = $donationEventDat->id; $userDonationDat->comment = $comment; $userDonationDat->money = $money; $userDonationDat->order_no = $orderNo; $userDonationDat->status = "NEW"; $userDonationDat->save(); //调用微信支付接口 $tools = new JsApiPay(); $input = new WxPayUnifiedOrder(); $input->SetBody("慈善募捐"); $input->SetAttach("慈善募捐"); $input->SetOut_trade_no($orderNo); $input->SetTotal_fee($money * 100);//折算到分 $input->SetTime_start(date("YmdHis")); $input->SetTime_expire(date("YmdHis", time() + 800)); $input->SetGoods_tag("慈善募捐"); $input->SetNotify_url("https://" . SSL_PATH . "/api/api_wx_pay_notify.php"); $input->SetTrade_type("JSAPI"); $input->SetOpenid($userMst->openid); $order = WxPayApi::unifiedOrder($input); $jsApiParameters = $tools->GetJsApiParameters($order); ErrorLogger::doOutput($jsApiParameters); ErrorLogger::doOutput("Compass...ajax_set_user_donation_dat.php....End.", 0); responseOK($jsApiParameters); function responseNG($result) { $result = array("status"=>"NG", "result"=>$result); print json_encode($result); exit; } function responseOK($result) { $result = array("status"=>"OK", "result"=>$result); print json_encode($result); exit; } ?>