buildRequestForm() public method

建立请求,以表单HTML形式构造(默认)
public buildRequestForm ( $para_temp, $method, $button_name ) : 提交表单HTML文本
$para_temp 请求参数数组
$method 提交方式。两个值可选:post、get
$button_name 确认按钮显示文字
return 提交表单HTML文本
Example #1
0
function alipay_link($params)
{
    #支付宝接口配置
    $type = $params['T'];
    $alipay_config['input_charset'] = 'utf-8';
    $alipay_config['sign_type'] = "MD5";
    $alipay_config['transport'] = $params['ssl'] ? "https" : "http";
    $alipay_config['partner'] = $params['partnerID'];
    $alipay_config['key'] = $params['security_code'];
    $alipay_config['seller_email'] = $params['seller_email'];
    $debug = $params["debug"];
    #系统变量
    $invoiceid = $params['invoiceid'];
    $description = $params["description"];
    $amount = $params['amount'];
    # Format: ##.##
    $currency = $params['currency'];
    # Currency Code
    $companyname = $params['companyname'];
    $systemurl = $params['systemurl'];
    $currency = $params['currency'];
    $alipay_config['return_url'] = $systemurl . "/modules/gateways/callback/alipay_return.php";
    $alipay_config['notify_url'] = $systemurl . "/modules/gateways/callback/alipay_callback.php";
    switch ($type) {
        case "1":
            $service_name = "create_direct_pay_by_user";
            break;
        case "2":
            $service_name = "create_partner_trade_by_buyer";
            break;
        case "3":
            $service_name = "trade_create_by_buyer";
            break;
        default:
    }
    //基本参数
    $parameter = array("service" => $service_name, "partner" => trim($alipay_config['partner']), "_input_charset" => trim(strtolower($alipay_config['input_charset'])), "return_url" => trim($alipay_config['return_url']), "sign_type" => trim($alipay_config['sign_type']), "notify_url" => trim($alipay_config['notify_url']));
    //业务参数
    $parameter["subject"] = "{$companyname} 订单[ {$invoiceid} ]";
    $parameter["body"] = $description;
    $parameter["out_trade_no"] = $invoiceid;
    $parameter["price"] = $amount;
    $parameter["quantity"] = "1";
    $parameter["payment_type"] = "1";
    $parameter["seller_email"] = trim($alipay_config['seller_email']);
    if ($type != "1") {
        $parameter["logistics_fee"] = "0";
        $parameter["logistics_type"] = "EXPRESS";
        $parameter["logistics_payment"] = "SELLER_PAY";
    }
    $img = $systemurl . "/modules/gateways/callback/alipay.png";
    $alipaySubmit = new AlipaySubmit($alipay_config);
    $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
    if ($debug) {
        $msg = "订单: {$invoiceid} 生成支付表单 {$html_text}";
        logResult($msg);
    }
    $code = $html_text . "</form><a href='#' onclick=\"document.forms['alipaysubmit'].submit();\"><img src='{$img}' alt='点击使用支付宝支付'> </a>";
    return $code;
}
Example #2
0
	public function AliPay($data){
		$alipay_config['partner']		= $this->partner;
		$alipay_config['seller_email']	= $this->seller_email;
		$alipay_config['key']			= $this->paykey;
		$alipay_config['sign_type']    = strtoupper('MD5');//签名方式
		$alipay_config['input_charset']= strtolower('utf-8');//字符编码
		//$alipay_config['cacert']    = getcwd().'\\cacert.pem';
		$alipay_config['transport']    = 'http';
		
		$parameter = array(
				"service" 			=> "create_direct_pay_by_user",
				"partner" 			=> trim($alipay_config['partner']),
				"seller_email" 		=> trim($alipay_config['seller_email']),
				"payment_type"		=> '1',
				"notify_url"		=> $this->notify_url,
				"return_url"		=> $this->return_url,
				"out_trade_no"		=> $this->orderid,
				"subject"			=> $this->subject,
				"total_fee"			=> $this->price,
				"body"				=> $this->message,
				"show_url"			=> $this->show_url,
				"anti_phishing_key"	=> $this->anti_key,
				"exter_invoke_ip"	=> $this->exter_ip,
				"_input_charset"	=> trim(strtolower($alipay_config['input_charset']))
		);
		
		//建立请求
		$alipaySubmit = new AlipaySubmit($alipay_config);
		$html_text = $alipaySubmit->buildRequestForm($parameter,"get", $this->waitword);
		return $html_text;
	}
Example #3
0
  public function _alipayto(){

  //支付信息
$alipaySubmit = new AlipaySubmit($alipay_config);
//$anti_phishing_key = $alipaySubmit->query_timestamp();
$payment_type = "1";
$exter_invoke_ip = $_SERVER['REMOTE_ADDR'];
$out_trade_no = $row['pay_order_id'];
$parameter = array(
		"service" => "create_direct_pay_by_user",
		"partner" => trim($alipay_config['partner']),
		"payment_type"	=> $payment_type,
		"notify_url"	=> $notify_url,
		"return_url"	=> $return_url,
		"seller_email"	=> $seller_email,
		"out_trade_no"	=> $out_trade_no,
		"subject"	=> $subject,
		"total_fee"	=> $total_fee,
		"body"	=> $body,
		//"show_url"	=> $show_url,
		//"anti_phishing_key"	=> $anti_phishing_key,
		"exter_invoke_ip"	=> $exter_invoke_ip,
		"_input_charset"	=> trim(strtolower($alipay_config['input_charset']))
);
//var_dump($parameter);exit;
	//建立请求
	//$alipaySubmit = new AlipaySubmit($alipay_config);
	$html_text = $alipaySubmit->buildRequestForm($parameter,"get", "确认");
	echo $html_text;
  //echo '提交成功';
  
  }
Example #4
0
 public function doalipay()
 {
     $recorder = M('Recorder');
     $rid = $_GET['rid'];
     $map['id'] = $rid;
     $map['userid'] = session('userid');
     $recinfo = $recorder->where($map)->find();
     if ($recinfo) {
         //这里我们通过TP的C函数把配置项参数读出,赋给$alipay_config;
         $alipay_config = C('alipay_config');
         $payment_type = "1";
         //支付类型 //必填,不能修改
         $notify_url = C('alipay.notify_url');
         //服务器异步通知页面路径
         $return_url = C('alipay.return_url');
         //页面跳转同步通知页面路径
         $seller_email = C('alipay.seller_email');
         //卖家支付宝帐户必填
         $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $recinfo['order_sn'], "subject" => '我爱换驾共享豆充值', "total_fee" => '0.01', "body" => '共享豆充值', "show_url" => '', "anti_phishing_key" => "", "exter_invoke_ip" => "", "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
         $alipaySubmit = new \AlipaySubmit($alipay_config);
         echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
         $html_text = $alipaySubmit->buildRequestForm($parameter, "post", "确认");
         echo $html_text;
     }
 }
Example #5
0
 public function get_code($order)
 {
     require_once "lib/alipay_submit.class.php";
     $notify_url = U("Server/Index/aliguaranteebackn", array("id" => $order['id']), true, true);
     $return_url = U("Server/Order/detail", array("id" => $order['id']), true, true);
     $payment_type = "1";
     $out_trade_no = $order['order_id'];
     $subject = $this->ordername;
     $price = $order['price'];
     $quantity = "1";
     $logistics_fee = "0.00";
     $logistics_type = "EXPRESS";
     $logistics_payment = "SELLER_PAY";
     $body = $this->ordername;
     $show_url = "";
     $receive_name = "";
     $receive_address = "";
     $receive_zip = "";
     $receive_phone = "";
     $receive_mobile = "";
     $parameter = array("service" => "create_partner_trade_by_buyer", "partner" => trim($this->alipay_config['partner']), "seller_email" => trim($this->alipay_config['seller_email']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $price, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "_input_charset" => trim(strtolower($this->alipay_config['input_charset'])));
     $this->alipay_config['cacert'] = $this->cacert;
     $alipaySubmit = new AlipaySubmit($this->alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html_text;
 }
Example #6
0
 public function buildForm($request)
 {
     //构造要请求的参数数组,无需改动
     $req_id = date('Ymdhis');
     $req_data = '<direct_trade_create_req><notify_url>' . $this->notify_url . '</notify_url><call_back_url>' . $this->call_back_url . '</call_back_url><seller_account_name>' . $this->seller_email . '</seller_account_name><out_trade_no>' . $request->out_trade_no . '</out_trade_no><subject>' . $request->subject . '</subject><total_fee>' . $request->total_fee . '</total_fee><merchant_url>' . $this->merchant_url . '</merchant_url></direct_trade_create_req>';
     $para_token = array("service" => "alipay.wap.trade.create.direct", "partner" => trim($this->partner), "key" => $this->key, 'sec_id' => $this->sign_type, "format" => $this->format, "v" => $this->v, "req_id" => $req_id, "req_data" => $req_data, "_input_charset" => trim(strtolower($this->_input_charset)));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->alipay_config);
     $html_text = $alipaySubmit->buildRequestHttp($para_token);
     //URLDECODE返回的信息
     $html_text = urldecode($html_text);
     //解析远程模拟提交后返回的信息
     $para_html_text = $alipaySubmit->parseResponse($html_text);
     //获取request_token
     $request_token = $para_html_text['request_token'];
     /**************************根据授权码token调用交易接口alipay.wap.auth.authAndExecute**************************/
     //业务详细
     $req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';
     //必填
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "alipay.wap.auth.authAndExecute", "partner" => trim($this->partner), 'sec_id' => $this->sign_type, "format" => $this->format, "v" => $this->v, "req_id" => $req_id, "req_data" => $req_data, "_input_charset" => trim(strtolower($this->_input_charset)));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->alipay_config);
     return $alipaySubmit->buildRequestForm($parameter, "get", "确认");
 }
Example #7
0
 public function alipayapi()
 {
     // $username = Auth::user()->username;
     // $password = Input::get('password');
     // $userPassword = Auth::user()->password;
     // if (! Auth::validate(array('username'=>$username, 'password'=>$password))) {
     // 	return Redirect::back()
     // 		->with('message', 'wrong-credential');
     // }
     // dd(public_path());
     // require_once("alipay.config.php");
     // require_once("lib/alipay_submit.class.php");
     require_once public_path() . "/alipay/alipay.config.php";
     require_once public_path() . "/alipay/lib/alipay_submit.class.php";
     /**************************请求参数**************************/
     //商户订单号,商户网站订单系统中唯一订单号,必填
     $out_trade_no = $_POST['WIDout_trade_no'];
     //订单名称,必填
     $subject = $_POST['WIDsubject'];
     //付款金额,必填
     $total_fee = $_POST['WIDtotal_fee'];
     //商品描述,可空
     $body = $_POST['WIDbody'];
     /************************************************************/
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => $alipay_config['service'], "partner" => $alipay_config['partner'], "seller_id" => $alipay_config['seller_id'], "payment_type" => $alipay_config['payment_type'], "notify_url" => $alipay_config['notify_url'], "return_url" => $alipay_config['return_url'], "anti_phishing_key" => $alipay_config['anti_phishing_key'], "exter_invoke_ip" => $alipay_config['exter_invoke_ip'], "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     echo $html_text;
 }
Example #8
0
 public function recharge()
 {
     $amount = intval($this->_post('amount'));
     if (!$amount) {
         $amount = intval($this->_get('amount'));
     }
     //
     $buyDiscount = 0;
     if (isset($_GET['discountpriceid'])) {
         $thisPrice = M('Agent_price')->where(array('id' => intval($_GET['discountpriceid'])))->find();
         $buyDiscount = 1;
         $amount = $thisPrice['price'];
     }
     if (!$amount) {
         $this->error('请填写金额');
     }
     import("@.ORG.Alipay.AlipaySubmit");
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     $notify_url = C('site_url') . U('Agent/Pay/notify');
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     $return_url = C('site_url') . U('Agent/Pay/return_url', array('discountpriceid' => intval($_GET['discountpriceid'])));
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //卖家支付宝帐户
     $seller_email = trim(C('alipay_name'));
     //商户订单号
     $out_trade_no = $this->thisAgent['id'] . '_' . time();
     //商户网站订单系统中唯一订单号,必填
     //订单名称
     if ($buyDiscount) {
         $subject = '购买优惠套餐' . $thisPrice['name'] . '(ID:' . $thisPrice['id'] . ')';
     } else {
         $subject = '充值' . $amount . '元';
     }
     //必填
     //付款金额
     $total_fee = $amount;
     $body = $subject;
     //商品展示地址
     $show_url = C('site_url') . U('Agent/Basic/expenseRecords');
     //需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html
     //防钓鱼时间戳
     $anti_phishing_key = "";
     //若要使用请调用类文件submit中的query_timestamp函数
     //客户端的IP地址
     $exter_invoke_ip = "";
     //非局域网的外网IP地址,如:221.0.0.1
     $body = $subject;
     $data = M('Agent_expenserecords')->data(array('agentid' => $this->thisAgent['id'], 'des' => $subject, 'time' => time(), 'orderid' => $out_trade_no, 'amount' => $total_fee))->add();
     $show_url = rtrim(C('site_url'), '/');
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim(C('alipay_pid')), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower('utf-8')));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->setconfig());
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认支付");
     echo $html_text;
 }
 public function pay()
 {
     $price = $_GET['price'];
     $orderName = $_GET['orderName'];
     if (!$orderName) {
         $orderName = microtime();
     }
     $orderid = $_GET['orderid'];
     if (!$orderid) {
         $orderid = $_GET['single_orderid'];
     }
     $alipayConfig = $this->alipayConfig;
     if (!$price) {
         exit('必须有价格才能支付');
     }
     import("@.ORG.Alipay.AlipaySubmit");
     $payment_type = "1";
     $notify_url = C('site_url') . '/index.php?g=Wap&m=Alipay&a=notify_url';
     $return_url = C('site_url') . '/index.php?g=Wap&m=Alipay&a=return_url';
     $seller_email = trim($alipayConfig['name']);
     $out_trade_no = $orderid;
     $subject = $orderName;
     $total_fee = floatval($price);
     $body = $orderName;
     $show_url = C('site_url') . U('Home/Index/price');
     $anti_phishing_key = "";
     $exter_invoke_ip = "";
     $body = $subject;
     $show_url = rtrim(C('site_url'), '/');
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipayConfig['pid']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower('utf-8')));
     $alipaySubmit = new AlipaySubmit($this->setconfig());
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "进行支付");
     echo '正在跳转到支付宝进行支付...<div style="display:none">' . $html_text . '</div>';
 }
Example #10
0
    public function submit()
    {
        //请求业务参数详细
        $req_data = '<direct_trade_create_req><notify_url>' . $this->notify_url . '</notify_url><call_back_url>' . $this->call_back_url . '</call_back_url><seller_account_name>' . $this->seller_email . '</seller_account_name><out_trade_no>' . $this->out_trade_no . '</out_trade_no><subject>' . $this->subject . '</subject><total_fee>' . $this->total_fee . '</total_fee></direct_trade_create_req>';
        //必填
        //构造要请求的参数数组,无需改动
        $para_token = array("service" => "alipay.wap.trade.create.direct", "partner" => trim($this->alipay_config['partner']), "sec_id" => trim($this->alipay_config['sign_type']), "format" => $this->format, "v" => $this->v, "req_id" => $this->req_id, "req_data" => $req_data, "_input_charset" => trim(strtolower($this->alipay_config['input_charset'])));
        //建立请求
        $alipaySubmit = new AlipaySubmit($this->alipay_config);
        $html_text = $alipaySubmit->buildRequestHttp($para_token);
        //URLDECODE返回的信息
        $html_text = urldecode($html_text);
        //解析远程模拟提交后返回的信息
        $para_html_text = $alipaySubmit->parseResponse($html_text);
        //获取request_token
        $request_token = $para_html_text['request_token'];
        /**************************根据授权码token调用交易接口alipay.wap.auth.authAndExecute**************************/
        //业务详细
        $req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';
        //必填
        //构造要请求的参数数组,无需改动
        $parameter = array("service" => "alipay.wap.auth.authAndExecute", "partner" => trim($this->alipay_config['partner']), "sec_id" => trim($this->alipay_config['sign_type']), "format" => $this->format, "v" => $this->v, "req_id" => $this->req_id, "req_data" => $req_data, "_input_charset" => trim(strtolower($this->alipay_config['input_charset'])));
        //建立请求
        $alipaySubmit = new AlipaySubmit($this->alipay_config);
        $html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '正在跳转支付页面...');
        return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
				<html>
				<head>
					<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
					<title>支付宝即时到账交易接口接口</title>
				</head>' . $html_text . '
				</body>
				</html>';
    }
 public function post()
 {
     $gid = $this->_post('gid', 'trim');
     $price = $this->_post('price', 'intval');
     if ($price == false || $this->_post('uname') == false) {
         $this->error('价格和用户名必须填写');
     }
     if ($gid != $this->_session('gid') && $this->_session('viptime') > time()) {
         $this->error('如需升级请联系客服!');
     }
     import("@.ORG.Alipay.AlipaySubmit");
     $faceType = trim(C('faceType'));
     //**充值配置***//
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     $notify_url = C('site_url') . U('User/Alipay/notify');
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     $return_url = C('site_url') . U('User/Alipay/return_url');
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //卖家支付宝帐户
     $seller_email = trim(C('alipay_name'));
     //商户订单号
     $out_trade_no = session('uname') . time();
     //订单名称
     $subject = '充值vip' . $this->_post('group') . '会员' . $this->_post('num') . '个月';
     //付款金额
     $total_fee = (int) $_POST['price'];
     //商品数量
     $quantity = "1";
     $logistics_fee = "0.00";
     //必填,即运费
     //物流类型
     $logistics_type = "EXPRESS";
     //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
     //物流支付方式
     $logistics_payment = "SELLER_PAY";
     //必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
     //订单描述
     $body = $subject;
     $data = M('Indent')->data(array('uid' => session('uid'), 'title' => $subject, 'uname' => $this->_post('uname'), 'gid' => $gid, 'create_time' => time(), 'indent_id' => $out_trade_no, 'price' => $total_fee, 'quantity' => $this->_post('num')))->add();
     $show_url = rtrim(C('site_url'), '/');
     ///***公用充值配置结束***//
     if ($faceType == '0') {
         //构造要请求的参数数组,无需改动
         $parameter = array("service" => "create_partner_trade_by_buyer", "partner" => trim(C('alipay_pid')), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $total_fee, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "_input_charset" => trim(strtolower(strtolower('utf-8'))));
     } elseif ($faceType == '1') {
         //构造要请求的参数数组,无需改动
         $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim(C('alipay_pid')), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $total_fee, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "_input_charset" => trim(strtolower(strtolower('utf-8'))));
     } elseif ($faceType == '2') {
         //构造要请求的参数数组,无需改动
         $parameter = array("service" => "trade_create_by_buyer", "partner" => trim(C('alipay_pid')), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $total_fee, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "_input_charset" => trim(strtolower(strtolower('utf-8'))));
     }
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->setconfig());
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     echo $html_text;
 }
 public function post()
 {
     if ($this->_get('price') == false || $this->_get('uname') == false) {
         $this->error('价格和用户名必须填写');
     }
     import("@.ORG.Alipay.AlipaySubmit");
     $payment_type = "1";
     $notify_url = C('site_url') . U('User/Alipay/notify');
     $return_url = C('site_url') . U('User/Alipay/return_url', array('uid' => intval($_GET['uid'])));
     $seller_email = trim(C('alipay_name'));
     $out_trade_no = $this->_get('uid') . '_' . time();
     $subject = '充值vip' . $this->_get('group') . '会员' . $this->_get('num') . '个月';
     $total_fee = (int) $this->_get('price');
     $body = 'vip高级会员服务费';
     $show_url = C('site_url') . U('Home/Index/price');
     $anti_phishing_key = "";
     $exter_invoke_ip = "";
     $body = $subject;
     $data = M('Indent')->data(array('uid' => intval($_GET['uid']), 'month' => intval($this->_get('num')), 'title' => $subject, 'uname' => $this->_get('uname'), 'gid' => $this->_get('groupid'), 'create_time' => time(), 'indent_id' => $out_trade_no, 'price' => $total_fee))->add();
     $show_url = rtrim(C('site_url'), '/');
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim(C('alipay_pid')), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower('utf-8')));
     $alipaySubmit = new AlipaySubmit($this->setconfig());
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     echo $html_text;
 }
Example #13
0
 function get_code($ologin) {
     $aliapy_config['partner'] = $ologin['alipaylogin_id'];
     $aliapy_config['key'] = $ologin['alipaylogin_key'];
     $aliapy_config['return_url'] = ologin::url(basename(__FILE__,'.php'));
     $aliapy_config['sign_type']    = 'MD5';
     $aliapy_config['input_charset']= 'utf-8';
     $aliapy_config['transport']    = 'http';
     //require_once("alipayauth/alipay_service.class.php");
     require_once("alipayauth/alipay_submit.class.php");
     $parameter = array(
                     "service" => "alipay.auth.authorize",
                     "target_service" => 'user.auth.quick.login',
                     "partner" => trim($aliapy_config['partner']),
                     "_input_charset" => trim(strtolower($aliapy_config['input_charset'])),
                     "return_url" => trim($aliapy_config['return_url']),
                     "anti_phishing_key" => '',
                     "exter_invoke_ip" => '',
     );
     ini_set("display_errors","On");
     //var_dump($aliapy_config);exit;
     $alipayService = new AlipaySubmit($aliapy_config);
     $login_url = $alipayService->buildRequestForm($parameter,"get", "");
     //file_put_contents('logs.txt',$login_url);exit;
     //var_dump($login_url);exit;
     echo $login_url;exit;
     return $login_url;
 }
Example #14
0
 public function pay($runValidation = true)
 {
     if ($runValidation && !$this->validate()) {
         return false;
     }
     if ($this->_order->status !== Order::STATUS_UNPAID) {
         return false;
     }
     try {
         switch ($this->platform) {
             case self::PLATFORM_ALIPAY:
                 require_once Yii::getAlias('@vendor') . '/payment/alipay/alipay.config.php';
                 require_once Yii::getAlias('@vendor') . '/payment/alipay/lib/alipay_submit.class.php';
                 $parameter = ['service' => 'create_direct_pay_by_user', 'partner' => trim($alipay_config['partner']), 'seller_email' => trim($alipay_config['seller_email']), 'payment_type' => '1', 'notify_url' => Url::to(['/payment/alipay-order-notify'], true), 'return_url' => Url::to(['/payment/alipay-order-return'], true), 'out_trade_no' => $this->_order->order_sn, 'subject' => '订单支付', 'total_fee' => $this->_order->real_fee, 'body' => '笑e购(xiaoego.com)订单,订单号:' . $this->_order->order_sn, 'show_url' => Url::to(['/order/detail', 'order' => $this->_order->order_sn], true), 'anti_phishing_key' => '', 'exter_invoke_ip' => '', '_input_charset' => trim(strtolower($alipay_config['input_charset']))];
                 //建立请求
                 $alipaySubmit = new \AlipaySubmit($alipay_config);
                 $htmlText = $alipaySubmit->buildRequestForm($parameter, 'post', '');
                 break;
             default:
                 throw new InvalidValueException();
         }
         return $htmlText;
     } catch (\Exception $e) {
         return false;
     }
 }
Example #15
0
 public function config($config = null)
 {
     $format = "xml";
     $req_id = date('Ymdhis');
     $merchant_url = "";
     $notify_url = $config['NotifyUrl'];
     $return_url = $config['ReturnUrl'];
     $seller_email = $config['pay_type_data']['user']['val'];
     $out_trade_no = $config['code'];
     $subject = $config['title'];
     $total_fee = $config['money'];
     $wapalipay_config_id = trim($config['id']);
     $wapalipay_config_key = trim($config['key']);
     $wapalipay_config_input_charset = strtolower('utf-8');
     $wapalipay_config_sign_type = strtoupper('MD5');
     $wapalipay_config_input_charset = strtolower('utf-8');
     $wapalipay_config_cacert = dirname(__FILE__) . DIRECTORY_SEPARATOR . "wapalipay" . DIRECTORY_SEPARATOR . "cacert.pem";
     $wapalipay_config_private_key_path = '.' . DIRECTORY_SEPARATOR . 'wapalipay' . DIRECTORY_SEPARATOR . 'rsa_private_key.pem';
     $wapalipay_config_ali_public_key_path = '.' . DIRECTORY_SEPARATOR . 'wapalipay' . DIRECTORY_SEPARATOR . 'alipay_public_key.pem';
     $wapalipay_config_transport = 'http';
     $wapalipay_config = array("partner" => $wapalipay_config_id, "key" => $wapalipay_config_key, "private_key_path" => $wapalipay_config_private_key_path, "ali_public_key_path" => $wapalipay_config_ali_public_key_path, "sign_type" => $wapalipay_config_sign_type, "input_charset" => $wapalipay_config_input_charset, "cacert" => $wapalipay_config_cacert, "transport" => $wapalipay_config_transport);
     $req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $return_url . '</call_back_url><seller_account_name>' . $seller_email . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee><merchant_url>' . $merchant_url . '</merchant_url></direct_trade_create_req>';
     $para_token = array("service" => "alipay.wap.trade.create.direct", "partner" => trim($config['id']), "sec_id" => $wapalipay_config_sign_type, "format" => $format, "v" => "2.0", "req_id" => $req_id, "req_data" => $req_data, "_input_charset" => $wapalipay_config_input_charset);
     $wapalipaySubmit = new AlipaySubmit($wapalipay_config);
     $html_text = $wapalipaySubmit->buildRequestHttp($para_token);
     $html_text = urldecode($html_text);
     $para_html_text = $wapalipaySubmit->parseResponse($html_text);
     $request_token = $para_html_text['request_token'];
     $req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';
     $parameter = array("service" => "alipay.wap.auth.authAndExecute", "partner" => trim($config['id']), "sec_id" => $wapalipay_config_sign_type, "format" => $format, "v" => "2.0", "req_id" => $req_id, "req_data" => $req_data, "_input_charset" => $wapalipay_config_input_charset);
     $wapalipaySubmit = new AlipaySubmit($wapalipay_config);
     $this->url = $wapalipaySubmit->buildRequestForm($parameter, 'get', '确认');
 }
Example #16
0
	public function pay()
	{
		$orderName = htmlentities($_GET['orderName']);
		$orderid = htmlentities($_GET['orderid']);
		$from = htmlentities($_GET['from']);

		if (!$orderName) {
			$orderName = microtime();
		}

		if (!$orderid) {
			$orderid = htmlentities($_GET['single_orderid']);
		}

		$payHandel = new payHandle($this->token, $from, 'alipay');
		$orderInfo = $payHandel->beforePay($orderid);
		$price = $orderInfo['price'];

		if ($orderInfo['paid']) {
			exit('您已经支付过此次订单!');
		}

		if (!$price) {
			exit('必须有价格才能支付');
		}

		require_once $this->base_path . 'lib/alipay_submit.class.php';
		$format = 'xml';
		$v = '2.0';
		$req_id = date('Ymdhis');
		if (($_GET['platform'] || $_GET['pl']) && C('platform_open') && C('platform_alipay_open')) {
			$query_string_base = 'token=' . $this->token . '|wecha_id=' . $this->wecha_id . '|from=' . $from . '|pl=1';
			$query_string_base_notify = 'token||' . $this->token . '|wecha_id||' . $this->wecha_id . '|from||' . $from . '|pl||1';
		}
		else {
			$query_string_base = 'token=' . $this->token . '|wecha_id=' . $this->wecha_id . '|from=' . $from;
			$query_string_base_notify = 'token||' . $this->token . '|wecha_id||' . $this->wecha_id . '|from||' . $from;
		}

		$notify_url = C('site_url') . '/wxpay/alipaytype_notify_url.php?user_params=' . $query_string_base_notify;
		$call_back_url = C('site_url') . '/wxpay/alipaytype_call_back_url.php?user_params=' . $query_string_base;
		$merchant_url = C('site_url') . '/wxpay/alipaytype_break.php';
		$out_trade_no = $orderid;
		$subject = $orderName;
		$total_fee = $price;
		$req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $call_back_url . '</call_back_url><seller_account_name>' . trim($this->alipay_config['seller_email']) . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee><merchant_url>' . $merchant_url . '</merchant_url></direct_trade_create_req>';
		$para_token = array('service' => 'alipay.wap.trade.create.direct', 'partner' => trim($this->alipay_config['partner']), 'sec_id' => trim($this->alipay_config['sign_type']), 'format' => $format, 'v' => $v, 'req_id' => $req_id, 'req_data' => $req_data, '_input_charset' => trim(strtolower($this->alipay_config['input_charset'])));
		$alipaySubmit = new AlipaySubmit($this->alipay_config);
		$html_text = $alipaySubmit->buildRequestHttp($para_token);
		$html_text = urldecode($html_text);
		$para_html_text = $alipaySubmit->parseResponse($html_text);
		$request_token = $para_html_text['request_token'];
		$req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';
		$parameter = array('service' => 'alipay.wap.auth.authAndExecute', 'partner' => trim($this->alipay_config['partner']), 'sec_id' => trim($this->alipay_config['sign_type']), 'format' => $format, 'v' => $v, 'req_id' => $req_id, 'req_data' => $req_data, '_input_charset' => trim(strtolower($this->alipay_config['input_charset'])));
		$alipaySubmit = new AlipaySubmit($this->alipay_config);
		$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '确认');
		header('Content-type: text/html; charset=utf-8');
		echo $html_text;
	}
 public function doalipay()
 {
     //echo "<pre>";var_dump( $_SERVER );echo "</pre>";
     //这里我们通过TP的C函数把配置项参数读出,赋给$alipay_config;
     $alipay_config = C('alipay_config');
     /**************************请求参数**************************/
     $payment_type = "1";
     //支付类型 //必填,不能修改
     $notify_url = C('alipay.notify_url');
     //服务器异步通知页面路径
     $return_url = C('alipay.return_url');
     //页面跳转同步通知页面路径
     $seller_email = C('alipay.seller_email');
     //卖家支付宝帐户必填
     $out_trade_no = $_POST['trade_no'];
     //商户订单号 通过支付页面的表单进行传递,注意要唯一!
     $subject = $_POST['ordsubject'];
     //订单名称 //必填 通过支付页面的表单进行传递
     $total_fee = $_POST['ordtotal_fee'];
     //付款金额  //必填 通过支付页面的表单进行传递
     //对前台传过来的价钱数据做判断
     $orderId = $out_trade_no;
     $oOb = M("order");
     $orderArr = $oOb->field("count(*) as num")->where("orderId='{$orderId}'")->select();
     $num = $orderArr[0]['num'];
     if ($num == 0) {
         $coOb = M("cardorder");
         $arr = $coOb->where("orderId='{$orderId}'")->select();
         //var_dump($arr);
         $realPrice = $arr[0]['price'] - $arr[0]['discount'] - $arr[0]['yhqPrice'];
         //var_dump($total_fee); var_dump($realPrice); die;
         if ($total_fee != $realPrice) {
             header("location:index.php?m=Member&a=payFail");
         }
     } else {
         $arr = $oOb->where("orderId='{$orderId}'")->select();
         $realPrice = $arr[0]['price'] - $arr[0]['discount'] - $arr[0]['yhq'];
         if ($total_fee != $realPrice) {
             header("location:index.php?m=Member&a=payFail");
         }
     }
     $body = $_POST['ordbody'];
     //订单描述 通过支付页面的表单进行传递
     $show_url = $_POST['ordshow_url'];
     //商品展示地址 通过支付页面的表单进行传递
     $anti_phishing_key = "";
     //防钓鱼时间戳 //若要使用请调用类文件submit中的query_timestamp函数
     //$exter_invoke_ip = get_client_ip();//var_dump($exter_invoke_ip);die();   //客户端的IP地址
     $exter_invoke_ip = $_SERVER["REMOTE_ADDR"];
     //var_dump($exter_invoke_ip);die();   //客户端的IP地址
     /************************************************************/
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
     //var_dump($parameter);die();
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "post", "确认");
     echo $html_text;
 }
 public function pay()
 {
     //参数数据
     $price = $_GET['price'];
     $orderName = $_GET['orderName'];
     if (!$orderName) {
         $orderName = microtime();
     }
     $orderid = $_GET['orderid'];
     if (!$orderid) {
         $orderid = $_GET['single_orderid'];
         //单个订单
     }
     //
     $alipayConfig = $this->alipayConfig;
     //
     if (!$price) {
         exit('必须有价格才能支付');
     }
     import("@.ORG.Alipay.AlipaySubmit");
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     $notify_url = C('site_url') . '/index.php?g=Wap&m=Alipaytype&a=notify_url';
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     $return_url = C('site_url') . '/index.php?g=Wap&m=Alipaytype&a=return_url&token=' . $_GET['token'] . '&wecha_id=' . $_GET['wecha_id'] . '&from=' . $_GET['from'];
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //卖家支付宝帐户
     $seller_email = trim($alipayConfig['name']);
     //商户订单号
     $out_trade_no = $orderid;
     //商户网站订单系统中唯一订单号,必填
     //订单名称
     $subject = $orderName;
     //必填
     //付款金额
     $total_fee = floatval($price);
     $body = $orderName;
     //商品展示地址
     $show_url = C('site_url') . U('Home/Index/price');
     //需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html
     //防钓鱼时间戳
     $anti_phishing_key = "";
     //若要使用请调用类文件submit中的query_timestamp函数
     //客户端的IP地址
     $exter_invoke_ip = "";
     //非局域网的外网IP地址,如:221.0.0.1
     $body = $subject;
     $show_url = rtrim(C('site_url'), '/');
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipayConfig['pid']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower('utf-8')));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->setconfig());
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "进行支付");
     echo '正在跳转到支付宝进行支付...<div style="display:none">' . $html_text . '</div>';
 }
Example #19
0
 public function refund($refundInfo = array())
 {
     $parameter = array("service" => "refund_fastpay_by_platform_pwd", "partner" => trim($this->alipay_config['partner']), "notify_url" => $this->notify_url, "seller_email" => $this->alipay_config['seller_email'], "refund_date" => $refundInfo['refund_date'], "batch_no" => $refundInfo['batch_no'], "batch_num" => $refundInfo['batch_num'], "detail_data" => $refundInfo['detail_data'], "_input_charset" => trim(strtolower($this->alipay_config['input_charset'])));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     //$html_text = $alipaySubmit->buildRequestHttp($parameter);
     echo $html_text;
 }
Example #20
0
 public function buildRequest($req)
 {
     include __DIR__ . '/mobiAlipay/lib/alipay_submit.class.php';
     //构造要请求的参数数组
     $parameter = array("service" => "alipay.wap.create.direct.pay.by.user", "partner" => trim($this->mobiAlipayConfig['partner']), "seller_id" => trim($this->mobiAlipayConfig['seller_id']), "payment_type" => '1', "notify_url" => trim($this->mobiAlipayConfig['notify_url']), "return_url" => trim($this->mobiAlipayConfig['return_url']), "out_trade_no" => $req['order_sn'], "subject" => $req['body'], "total_fee" => $req['order_paied'], "body" => $req['desc'], "_input_charset" => trim(strtolower($this->mobiAlipayConfig['input_charset'])));
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->mobiAlipayConfig);
     echo $alipaySubmit->buildRequestForm($parameter, 'get', '');
 }
Example #21
0
 /**
  * 获取支付代码
  *
  * @author andery
  * @param array $order_info  待支付的订单信息
  * @return string
  */
 public function get_html($order_info)
 {
     // 构造要请求的参数数组
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($this->_config['partner']), "payment_type" => '1', "notify_url" => $this->_config['notify_url'], "return_url" => $this->_config['return_url'], "seller_email" => $this->_config['seller_email'], "_input_charset" => 'utf-8', "out_trade_no" => $order_info['order_id'], "subject" => $order_info['subject'], "total_fee" => $order_info['total_fee'], "body" => $order_info['body'], "show_url" => $order_info['show_url'], "anti_phishing_key" => '', "exter_invoke_ip" => '');
     require_once "alipay/alipay_submit.class.php";
     $alipaySubmit = new AlipaySubmit($this->_config);
     $html = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html;
 }
Example #22
0
 function submit()
 {
     $notify_url = $this->baseurl . "payment/alipay/notify_url.php";
     if ($_SESSION['user_id']) {
         $return_url = $GLOBALS['app']->url('payment', 'notice', 'id=' . $this->order['id'], 'www', true);
         $show_url = $GLOBALS['app']->url('order', 'info', 'id=' . $this->order['id'], 'www', true);
     } else {
         $return_url = $GLOBALS['app']->url('payment', 'notice', 'sn=' . $this->order['sn'] . '&passwd=' . $this->order['passwd'], 'www', true);
         $show_url = $GLOBALS['app']->url('order', 'info', 'sn=' . $this->order['sn'] . '&passwd=' . $this->order['passwd']);
     }
     $currency_id = $this->param['currency'] ? $this->param['currency']['id'] : $this->order['currency_id'];
     $total_fee = price_format_val($this->order['price'], $this->order['currency_id'], $currency_id);
     $parameter = array("service" => $this->param['param']['ptype'], "partner" => trim($this->param['param']['pid']), "payment_type" => 1, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $this->param['param']['email'], "out_trade_no" => $this->order['sn'], "subject" => '订单号:' . $this->order['sn'], "body" => '订单号:' . $this->order['sn'], "show_url" => $show_url, "_input_charset" => 'utf-8');
     if ($this->param['param']['ptype'] != 'create_direct_pay_by_user') {
         $parameter['price'] = $total_fee;
         $parameter['quantity'] = '1';
         $parameter['logistics_fee'] = '0.00';
         $parameter['logistics_type'] = 'EXPRESS';
         $parameter['logistics_payment'] = 'SELLER_PAY';
         $address = $GLOBALS['app']->model('order')->address_shipping($this->order['id']);
         if (!$address) {
             $address = array('province' => '未知', 'city' => '未知', 'county' => '未知');
             $address['address'] = '未知';
             $address['mobile'] = '13000000000';
             $address['zipcode'] = '000000';
             $address['tel'] = '0000-00000000';
             $address['fullname'] = '未知';
         }
         $parameter['receive_name'] = $address['fullname'];
         $parameter['receive_address'] = $address['province'] . $address['city'] . $address['county'] . $address['address'];
         $parameter['receive_zip'] = $address['zipcode'];
         $parameter['receive_phone'] = $address['tel'];
         $parameter['receive_mobile'] = $address['mobile'];
     } else {
         $parameter['total_fee'] = $total_fee;
         $parameter['anti_phishing_key'] = '';
         $parameter['exter_invoke_ip'] = phpok_ip();
     }
     //合作身份者id,以2088开头的16位纯数字
     $alipay_config = array('partner' => $this->param['param']['pid'], 'key' => $this->param['param']['key']);
     $alipay_config['sign_type'] = 'MD5';
     $alipay_config['input_charset'] = 'utf-8';
     $alipay_config['cacert'] = $this->paydir . 'cacert.pem';
     $alipay_config['transport'] = 'http';
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     echo '<!DOCTYPE html>' . "\n";
     echo '<html>' . "\n";
     echo '<head>' . "\n\t";
     echo '<meta charset="utf-8" />' . "\n\t";
     echo '<title>付款中</title>' . "\n";
     echo '</head>' . "\n<body>\n";
     echo $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     echo "\n" . '</body>' . "\n</html>";
     exit;
 }
Example #23
0
 function get_code2($order, $payment)
 {
     global $_CFG;
     require_once "alipaylib/alipay_submit.class.php";
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->get_config($payment));
     $param = array("service" => "alipay.wap.create.direct.pay.by.user", "partner" => trim($payment['alipay_partner']), "seller_id" => trim($payment['alipay_partner']), "payment_type" => 1, "notify_url" => $_CFG['site_url'] . '/alipay_wap/respond.html', "return_url" => $_CFG['site_url'] . '/alipay_wap/respond_sync.html', "out_trade_no" => $order['order_sn'] . '_' . $order['log_id'], "subject" => $payment['alipay_title'] . "[{$order['order_sn']}]", "total_fee" => $order['order_amount'], "it_b_pay" => $payment['alipay_expiretime'] . 'm', "_input_charset" => 'utf-8');
     $alipay_form = $alipaySubmit->buildRequestForm($param, 'post', '确认支付');
     return $alipay_form;
 }
Example #24
0
 public function doalipay()
 {
     /*********************************************************
        把alipayapi.php中复制过来的如下两段代码去掉,
        第一段是引入配置项,
        第二段是引入submit.class.php这个类。
        为什么要去掉??
        第一,配置项的内容已经在项目的Config.php文件中进行了配置,我们只需用C函数进行调用即可;
        第二,这里调用的submit.class.php类库我们已经在PayAction的_initialize()中已经引入;所以这里不再需要;
         *****************************************************/
     // require_once("alipay.config.php");
     // require_once("lib/alipay_submit.class.php");
     //这里我们通过TP的C函数把配置项参数读出,赋给$alipay_config;
     $alipay_config = C('alipay_config');
     /**************************请求参数**************************/
     $payment_type = "1";
     //支付类型 //必填,不能修改
     $notify_url = C('alipay.notify_url');
     //服务器异步通知页面路径
     $return_url = C('alipay.return_url');
     //页面跳转同步通知页面路径
     $seller_email = C('alipay.seller_email');
     //卖家支付宝帐户必填
     /*     $out_trade_no = $_POST['trade_no'];//商户订单号 通过支付页面的表单进行传递,注意要唯一!
            $subject = $_POST['ordsubject'];  //订单名称 //必填 通过支付页面的表单进行传递
            $total_fee = $_POST['ordtotal_fee'];   //付款金额  //必填 通过支付页面的表单进行传递
            $body = $_POST['ordbody'];  //订单描述 通过支付页面的表单进行传递
            $show_url = $_POST['ordshow_url'];  //商品展示地址 通过支付页面的表单进行传递
            $anti_phishing_key = "";//防钓鱼时间戳 //若要使用请调用类文件submit中的query_timestamp函数
            $exter_invoke_ip = get_client_ip(); //客户端的IP地址  */
     $out_trade_no = '34010123924';
     //商户订单号 通过支付页面的表单进行传递,注意要唯一!
     $subject = '测试订单';
     //订单名称 //必填 通过支付页面的表单进行传递
     $total_fee = '0.1';
     //付款金额  //必填 通过支付页面的表单进行传递
     $body = '测试';
     //订单描述 通过支付页面的表单进行传递
     $show_url = '11';
     //商品展示地址 通过支付页面的表单进行传递
     $anti_phishing_key = "";
     //防钓鱼时间戳 //若要使用请调用类文件submit中的query_timestamp函数
     $exter_invoke_ip = get_client_ip();
     //客户端的IP地址
     //        $paymethod = "bankPay";//网银支付
     $defaultbank = 'CIB';
     //网银支付默认银行
     /************************************************************/
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "paymethod" => $paymethod, "defaultbank" => $defaultbank, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
     //建立请求
     $alipaySubmit = new \AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "post", "确认");
     echo $html_text;
 }
Example #25
0
 public function buildForm($request)
 {
     $rs = $request->getParams();
     $order_id = $rs["order_id"];
     $seller_email = $rs["seller_email"];
     $parameter = array('partner' => $this->partner, 'return_url' => $this->_create_return_url($order_id), 'notify_url' => $this->_create_notify_url($order_id), '_input_charset' => $this->input_charset, 'show_url' => $this->show_url, 'seller_email' => $seller_email);
     $parameter = array_merge($parameter, $rs);
     //建立请求
     $alipaySubmit = new AlipaySubmit($this->alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html_text;
 }
Example #26
0
 /**
  * 生成支付表单并提交(到支付宝)
  * @param   string  $trade_no   订单号
  * @param   money   $total_fee_rmb  保留两位小数的人民币金额
  * @return  string  返回要提交到支付宝的包含数据的表单
  */
 public static function paying($trade_no, $total_fee_rmb)
 {
     /**
      * 功能:纯网关接口接入页
      * 如果不想使用扩展功能请把扩展功能参数赋空值。
      */
     //require_once("alipay.config.php");
     //require_once("lib/alipay_submit.class.php");
     /**************************请求参数**************************/
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     $notify_url = site_url('student/profile/notify_url');
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     $return_url = site_url('student/profile/return_url');
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //商户订单号
     $out_trade_no = $trade_no;
     //商户网站订单系统中唯一订单号,必填
     //订单名称
     $subject = $trade_no;
     //必填
     //付款金额
     $total_fee = $total_fee_rmb;
     //必填
     //订单描述
     $body = $trade_no;
     //默认支付方式
     //$paymethod = "bankPay";
     //必填
     //默认网银
     //$defaultbank = '';
     //必填,银行简码请参考接口技术文档
     //商品展示地址
     $show_url = '';
     //需以http://开头的完整路径,例如:http://www.商户网址.com/myorder.html
     //防钓鱼时间戳
     $anti_phishing_key = "";
     //若要使用请调用类文件submit中的query_timestamp函数
     //客户端的IP地址
     $exter_invoke_ip = "";
     //非局域网的外网IP地址,如:221.0.0.1
     /************************************************************/
     $alipay_config = AlipayConfig::config();
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "seller_email" => trim($alipay_config['seller_email']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body);
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html_text;
 }
Example #27
0
 public function go_to_pay($parameter)
 {
     $parameter['partner'] = trim(config::PARTNER);
     $parameter['seller_email'] = config::SELLEREMAIL;
     $parameter['payment_type'] = 1;
     $parameter['_input_charset'] = config::CHARSET;
     //建立请求
     $alipay_config = $this->alipay_config;
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "wait...");
     echo $html_text;
 }
Example #28
0
 public function create_alipay($WIDout_trade_no, $WIDsubject, $WIDtotal_fee, $WIDbody = '', $WIDshow_url = '')
 {
     $ci =& get_instance();
     $base_url = $ci->config->item('base_url');
     require_once APPPATH . "libraries/alipay/alipay.config.php";
     /**************************请求参数**************************/
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     //$notify_url = "http://www.xxx.com/create_direct_pay_by_user-PHP-UTF-8/notify_url.php";
     //$notify_url = "$base_url/order/notify_url";
     $notify_url = "";
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     //$return_url = "http://www.xxx.com/create_direct_pay_by_user-PHP-UTF-8/return_url.php";
     $return_url = "{$base_url}/order/return_url";
     //$return_url = '';
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //卖家支付宝帐户
     //$seller_email = $_POST['WIDseller_email'];
     $seller_email = '*****@*****.**';
     //必填
     //商户订单号
     $out_trade_no = $WIDout_trade_no;
     //商户网站订单系统中唯一订单号,必填
     //订单名称
     $subject = $WIDsubject;
     //必填
     //付款金额
     $total_fee = $WIDtotal_fee;
     //必填
     //订单描述
     $body = $WIDbody;
     //商品展示地址
     $show_url = $WIDshow_url;
     //需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html
     //防钓鱼时间戳
     $anti_phishing_key = "";
     //若要使用请调用类文件submit中的query_timestamp函数
     //客户端的IP地址
     $exter_invoke_ip = "";
     //非局域网的外网IP地址,如:221.0.0.1
     /************************************************************/
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html_text;
 }
Example #29
0
 public function pay($order_no)
 {
     //客户端的IP地址
     $exter_invoke_ip = $_SERVER['REMOTE_ADDR'];
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => ALIPAY_SERVICE, "partner" => trim($this->CI->config->item('partner', 'alipay')), "seller_email" => trim($this->CI->config->item('seller_email', 'alipay')), "payment_type" => $this->payment_type, "notify_url" => $this->notify_url, "return_url" => $this->return_url, "out_trade_no" => $order_no, "subject" => $this->subject, "total_fee" => ORDER_DEFAULT_FEE, "body" => $this->body, "show_url" => $this->show_url, "anti_phishing_key" => $this->anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower($this->CI->config->item('input_charset', 'alipay'))));
     print_r($parameter);
     die;
     //建立请求
     $alipay_config = $this->CI->config->item('alipay');
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return $html_text;
 }
Example #30
0
 public function web_pay()
 {
     import("@.ORG.pay.Alipay.alipay_submit");
     $alipay_config["partner"] = $this->pay_config["pay_alipay_pid"];
     $alipay_config["seller_email"] = $this->pay_config["pay_alipay_name"];
     $alipay_config["key"] = $this->pay_config["pay_alipay_key"];
     $alipay_config["sign_type"] = "MD5";
     $alipay_config["input_charset"] = "utf-8";
     $alipay_config["transport"] = "http";
     $parameter = array("service" => "create_direct_pay_by_user", "partner" => $this->pay_config["pay_alipay_pid"], "seller_email" => $this->pay_config["pay_alipay_name"], "payment_type" => "1", "notify_url" => C("config.site_url") . "/source/web_alipay_notice.php", "return_url" => C("config.site_url") . "/source/web_alipay_return.php", "out_trade_no" => $this->order_info["order_type"] . "_" . $this->order_info["order_id"], "subject" => "订单编号:" . $this->order_info["order_id"], "total_fee" => $this->pay_money, "body" => "订单编号:" . $this->order_info["order_id"], "show_url" => C("config.site_url"), "anti_phishing_key" => "", "exter_invoke_ip" => "", "_input_charset" => "utf-8");
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $form = $alipaySubmit->buildRequestForm($parameter, "get", "确认");
     return array("error" => 0, "form" => $form);
 }