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)); }
function redirect($url = null, $notice = null, $error = null) { $url = $url ? obscure_rep($url) : $_SERVER['HTTP_REFERER']; $url = $url ? $url : '/'; if ($notice) { Session::Set('notice', $notice); } if ($error) { Session::Set('error', $error); } header("Location: {$url}"); exit; }
$security_code = $INI['alipay']['sec']; $seller_email = $INI['alipay']['acc']; $discount = $order['price']; //$seller_email = $team_partner['alipayacc']; //} else { // $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={$order['team_id']}"; $show_url = obscure_rep($show_url); $subject = $team['title']; $body = $team['summary']; $quantity = $order['quantity']; $discount = ''; $parameter = array("service" => $service, "payment_type" => "1", "partner" => $partner, "seller_email" => $seller_email, "return_url" => $return_url, "notify_url" => $notify_url, "_input_charset" => $_input_charset, "show_url" => $show_url, "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body); /*if ($team['schedulable'] == 'N') { $price = $order['price']; $logistics_fee = $order['fare']; $logistics_type = 'EXPRESS'; $receive_name = $order['realname']; //收货人姓名,如:张三 $receive_address = $order['address']; //收货人地址,如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号 $receive_zip = $order['zipcode']; //收货人邮编,如:123456 $receive_phone = $order['mobile']; //收货人电话号码,如:0571-81234567 $receive_mobile = $order['mobile']; //收货人手机号码,如:13312341234