Beispiel #1
0
 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());
 }