public function tenpay() { if ($this->payConfig['tenpay']['enable'] == 0) { exit("对不起,该支付方式被关闭,暂时不能使用!"); } $tenpay_params = C('TENPAY_PARAMS'); $this->getPaydetail(); $this->paydetail['use_account'] = empty($_GET['useAccount']) ? 0 : $_GET['useAccount']; require_once C('APP_ROOT') . "Lib/Pay/Tenpay/RequestHandler.class.php"; /* 创建支付请求对象 */ $reqHandler = new RequestHandler(); $reqHandler->init(); $reqHandler->setKey($this->payConfig['tenpay']['mkey']); $reqHandler->setGateUrl($tenpay_params["PAY_URL"]); //---------------------------------------- //设置支付参数 //---------------------------------------- $reqHandler->setParameter("total_fee", doubleval($this->paydetail['money']) * 100); //总金额 //用户ip $reqHandler->setParameter("spbill_create_ip", get_client_ip()); //客户端IP $reqHandler->setParameter("return_url", $this->tenpay_rtn_url); //支付成功后返回 $reqHandler->setParameter("partner", $this->payConfig['tenpay']['MerCode']); $reqHandler->setParameter("out_trade_no", "tenpay" . date("YmdHis") . rand(10000, 99999)); $reqHandler->setParameter("notify_url", $this->tenpay_notice_url); $reqHandler->setParameter("body", "轩宇泰投资用户充值"); if ($this->paydetail['use_account'] == 1) { $this->paydetail['bank'] = ""; $reqHandler->setParameter("bank_type", "DEFAULT"); //买方财付通帐号 } else { $reqHandler->setParameter("bank_type", $this->paydetail['bank']); //银行类型,默认为财付通 } $reqHandler->setParameter("fee_type", "1"); //币种 //系统可选参数 $reqHandler->setParameter("sign_type", "MD5"); //签名方式,默认为MD5,可选RSA $reqHandler->setParameter("service_version", "1.0"); //接口版本号 $reqHandler->setParameter("input_charset", "UTF-8"); //字符集 $reqHandler->setParameter("sign_key_index", "1"); //密钥序号 //业务可选参数 $reqHandler->setParameter("attach", ""); //附件数据,原样返回就可以了 $reqHandler->setParameter("product_fee", ""); //商品费用 $reqHandler->setParameter("transport_fee", ""); //物流费用 $reqHandler->setParameter("time_start", date("YmdHis")); //订单生成时间 $reqHandler->setParameter("time_expire", ""); //订单失效时间 $reqHandler->setParameter("buyer_id", ""); $reqHandler->setParameter("goods_tag", ""); //商品标记 //请求的URL $reqUrl = $reqHandler->getRequestURL(); $this->paydetail['fee'] = getfloatvalue($this->payConfig['tenpay']['feerate'] * $this->paydetail['money'] / 100, 2); $this->paydetail['nid'] = $this->createnid("tenpay", $reqHandler->getParameter("out_trade_no")); $this->paydetail['way'] = "tenpay"; $this->paydetail['mer_order_num'] = $reqHandler->getParameter("out_trade_no"); M("member_payonline")->add($this->paydetail); $this->create($reqHandler->getAllParameters(), $reqHandler->getGateUrl()); }