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)); }
$reqHandler->setParameter("sp_billno", $sp_billno); $reqHandler->setParameter("transaction_id", $transaction_id); $reqHandler->setParameter("total_fee", $v_amount); $reqHandler->setParameter("return_url", $v_url); $reqHandler->setParameter("desc", $desc); $reqHandler->setParameter("spbill_create_ip", Utility::GetRemoteIp()); $reqUrl = $reqHandler->getRequestURL(); include template('order_charge'); } else { if ($_POST['paytype'] == 'alipay') { $_input_charset = 'utf-8'; $service = 'create_direct_pay_by_user'; $partner = $INI['alipay']['mid']; $security_code = $INI['alipay']['sec']; $seller_email = $INI['alipay']['acc']; $sign_type = 'MD5'; $out_trade_no = "charge-{$login_user_id}-{$now}-{$randno}"; $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); $alipay = new AlipayService($parameter, $security_code, $sign_type); $sign = $alipay->Get_Sign(); include template('order_charge'); } else { Utility::Redirect(WEB_ROOT . "/credit/index.php"); } }
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, )); }