Esempio n. 1
0
File: pay.php Progetto: noikiy/mdwp
function pay_team_alipay($total_money, $order) {
	global $INI; if($total_money<=0||!$order) return null;
	$team = Table::Fetch('team', $order['team_id']);
	$order_id = $order['id'];
	$pay_id = $order['pay_id'];
	$guarantee = strtoupper($INI['alipay']['guarantee'])=='Y';

	/* param */
	$_input_charset = 'utf-8';
	$service = $guarantee ? 'create_partner_trade_by_buyer' : 'create_direct_pay_by_user';
    if(strtoupper($INI['alipay']['guarantee'])=='S') $service = 'trade_create_by_buyer';
	$partner = $INI['alipay']['mid'];
	$security_code = $INI['alipay']['sec'];
	$seller_email = $INI['alipay']['acc'];
	$itbpay = strval($INI['alipay']['itbpay']);

	$sign_type = 'MD5';
	$out_trade_no = $pay_id;

	$return_url = $INI['system']['wwwprefix'] . '/order/alipay/return.php';
	$notify_url = $INI['system']['wwwprefix'] . '/order/alipay/notify.php';
	$show_url = $INI['system']['wwwprefix'] . "/team.php?id={$team['id']}";
	$show_url = obscure_rep($show_url);

	$subject = mb_substr(strip_tags($team['title']),0,128,'UTF-8');
	$body = $show_url;
	$quantity = $order['quantity'];
    //print_r($service);exit;
	$parameter = array(
			"service"         => $service,
			"partner"         => $partner,      
			"return_url"      => $return_url,  
			"notify_url"      => $notify_url, 
			"_input_charset"  => $_input_charset, 
			"subject"         => $subject,  	 
			"body"            => $body,     	
			"out_trade_no"    => $out_trade_no,
			"payment_type"    => "1",
			"show_url"        => $show_url,
			"seller_email"    => $seller_email,  
		    "extend_param"    => "isv^zt11",
			);

	if ($guarantee || $service == 'trade_create_by_buyer') {
		$parameter['price'] = $total_money;
		$parameter['quantity'] = 1;
		$parameter['logistics_fee'] = '0.00';
		$parameter['logistics_type'] = 'EXPRESS';
		$parameter['logistics_payment'] = 'SELLER_PAY';
	} else {
		$parameter["total_fee"] = $total_money;
	}
    
	//print_r($parameter);exit;
    if(!empty($_SESSION['ali_token'])) $parameter['token'] = $_SESSION['ali_token'];
	if ($itbpay) $parameter['it_b_pay'] = $itbpay;
	$alipay = new AlipayService($parameter, $security_code, $sign_type);
	$sign = $alipay->Get_Sign();
	$reqUrl = $alipay->create_url();

	return render('block_pay_alipay', array(
				'order_id' => $order_id,
				'reqUrl' => $reqUrl,
				));
}
Esempio n. 2
0
function pay_charge_alipay($total_money, $charge_id, $title)
{
    global $INI;
    if ($total_money <= 0 || !$title) {
        return null;
    }
    $order_id = 'charge';
    /* param */
    $_input_charset = 'utf-8';
    $service = 'create_direct_pay_by_user';
    $partner = $INI['alipay']['mid'];
    $security_code = $INI['alipay']['sec'];
    $seller_email = $INI['alipay']['acc'];
    $itbpay = strval($INI['alipay']['itbpay']);
    $sign_type = 'MD5';
    $out_trade_no = $charge_id;
    $return_url = $INI['system']['wwwprefix'] . '/order/alipay/return.php';
    $notify_url = $INI['system']['wwwprefix'] . '/order/alipay/notify.php';
    $show_url = $INI['system']['wwwprefix'] . "/credit/index.php";
    $subject = $title;
    $body = $show_url;
    $quantity = 1;
    $parameter = array("service" => $service, "partner" => $partner, "return_url" => $return_url, "notify_url" => $notify_url, "_input_charset" => $_input_charset, "subject" => $subject, "body" => $body, "out_trade_no" => $out_trade_no, "total_fee" => $total_money, "payment_type" => "1", "show_url" => $show_url, "seller_email" => $seller_email, "extend_param" => "isv^zt11");
    if (!empty($_SESSION['ali_token'])) {
        $parameter['token'] = $_SESSION['ali_token'];
    }
    if ($itbpay) {
        $parameter['it_b_pay'] = $itbpay;
    }
    $alipay = new AlipayService($parameter, $security_code, $sign_type);
    $sign = $alipay->Get_Sign();
    $reqUrl = $alipay->create_url();
    return render('block_pay_alipay', array('order_id' => $order_id, 'reqUrl' => $reqUrl));
}
Esempio n. 3
0
 $partner = $INI['alipay']['mid'];
 $security_code = $INI['alipay']['sec'];
 $seller_email = $INI['alipay']['acc'];
 //禁止支付宝账号为空
 if (!$partner || !$security_code || !$seller_email) {
     die('fail');
 }
 //参数设置
 $_input_charset = "utf-8";
 //设置编码方式
 $sign_type = "MD5";
 $transport = 'http';
 $parameter = array("service" => "single_trade_query", "partner" => $partner, "_input_charset" => $_input_charset, "out_trade_no" => "{$no}");
 //支付宝类初始化参数、建立单条查询链接参数
 $alipay = new AlipayService($parameter, $security_code, $sign_type, $transport);
 $xml_file = $alipay->create_url();
 //XML 文件解析
 $xml_parser = xml_parser_create();
 //建立XML解析对象
 xml_set_element_handler($xml_parser, 'startElement', 'endElement');
 xml_set_character_data_handler($xml_parser, 'parseData');
 if (!($fp = fopen($xml_file, 'r'))) {
     die('could not open xml file .');
 }
 while ($data = fread($fp, 4096)) {
     if (!xml_parse($xml_parser, $data, feof($fp))) {
         var_dump($data);
         die(sprintf('XML error : %s at line $d ', xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
     }
 }
 xml_parser_free($xml_parser);