function actionAlipay()
 {
     $order_number = $this->_context->order_number;
     $rs = Invoice::find('order_number =?', $order_number);
     $rs = $rs->getOne();
     if ($rs->trade_status == 'WAIT_BUYER_PAY') {
         $total_fee = $rs->total_fee;
         $subject = $rs->order->name;
         $out_trade_no = $rs->order_number;
         $body = '订购' . Q::ini('appini/meta/title') . '提供的稳定加速服务';
         if (Q::ini('isAdmin') || Q::ini('isDemo')) {
             $total_fee = 0.01;
         }
         $logistics_fee = "0.00";
         //物流费用,即运费。
         $logistics_type = "EXPRESS";
         //物流类型,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
         $logistics_payment = "SELLER_PAY";
         //物流支付方式,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
         $quantity = "1";
         //商品数量,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品。
         $receive_name = $this->_user_name;
         $receive_address = Q::ini('appini/meta/url') . "/service";
         $receive_zip = "";
         $receive_phone = "";
         $receive_mobile = $this->_user->user_mail;
         $show_url = Q::ini('appini/meta/url') . "/service";
         $root_dir = Q::ini('app_config/ROOT_DIR');
         require_once $root_dir . Q::ini('appini/alipay_dir') . "lib/alipay_service.class.php";
         $parameter = array("service" => "trade_create_by_buyer", "payment_type" => "1", "partner" => trim(Q::ini('appini/payment/alipay/partner')), "_input_charset" => trim(strtolower(Q::ini('appini/payment/alipay/input_charset'))), "seller_email" => trim(Q::ini('appini/payment/alipay/seller_email')), "return_url" => trim(Q::ini('appini/payment/alipay/return_url')), "notify_url" => trim(Q::ini('appini/payment/alipay/notify_url')), "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body, "price" => $total_fee, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "show_url" => $show_url);
         #dump($parameter);exit;
         $alipayService = new AlipayService(Q::ini('appini/payment/alipay'));
         $html_text = $alipayService->trade_create_by_buyer($parameter);
         return $html_text;
     }
     return '已过期';
 }
 /**
  * Process the payment and return the result
  **/
 function process_payment($order_id)
 {
     global $woocommerce;
     require_once CI_WC_PATH . "/lib/alipay.config.php";
     require_once CI_WC_PATH . "/lib/alipay_service.class.php";
     $order = new WC_Order($order_id);
     if (sizeof($order->get_items()) > 0) {
         foreach ($order->get_items() as $item) {
             if ($item['qty']) {
                 $item_names[] = $item['name'] . ' x ' . $item['qty'];
             }
         }
     }
     //////////////////////////////////////
     /**************************请求参数**************************/
     //必填参数//
     $out_trade_no = 'CIP' . $order_id;
     //请与贵网站订单系统中的唯一订单号匹配
     $subject = implode(',', $item_names);
     //订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。
     $body = implode(',', $item_names);
     //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里
     $price = number_format($order->get_order_total() - $order->get_total_discount(), 2, '.', '');
     //订单总金额,显示在支付宝收银台里的“应付总额”里
     $logistics_fee = "0.00";
     //物流费用,即运费。
     $logistics_type = "EXPRESS";
     //物流类型,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
     $logistics_payment = "SELLER_PAY";
     //物流支付方式,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
     $quantity = "1";
     //商品数量,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品。
     $receive_name = "";
     //收货人姓名,如:张三
     $receive_address = "";
     //收货人地址,如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号
     $receive_zip = "";
     //收货人邮编,如:123456
     $receive_phone = "";
     //收货人电话号码,如:0571-81234567
     $receive_mobile = "";
     //收货人手机号码,如:13312341234
     //网站商品的展示地址,不允许加?id=123这类自定义参数
     $show_url = get_bloginfo('url');
     /************************************************************/
     //构造要请求的参数数组
     $parameter = array("service" => "trade_create_by_buyer", "payment_type" => "1", "partner" => trim($aliapy_config['partner']), "_input_charset" => trim(strtolower($aliapy_config['input_charset'])), "seller_email" => trim($aliapy_config['seller_email']), "return_url" => trim($aliapy_config['return_url']), "notify_url" => trim($aliapy_config['notify_url']), "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body, "price" => $price, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "show_url" => $show_url);
     //构造标准双接口
     $alipayService = new AlipayService($aliapy_config);
     $html_text = $alipayService->trade_create_by_buyer($parameter);
     //param end
     $output = "\r\n\t\t\t<html>\r\n\t\t    <head>\r\n\t\t\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n\t\t        <title>正在前往支付宝...</title>\r\n\t\t    </head>\r\n\t\t    <body><div  style='display:none'>{$html_text}</div>'</body></html>";
     echo $output;
     exit;
     return array('result' => 'success', 'redirect' => $output);
 }
Exemple #3
0
$receive_address = $td['buyer_address'];
//收货人地址,如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号
$receive_zip = $td['buyer_postcode'];
//收货人邮编,如:123456
$receive_phone = $td['buyer_phone'];
//收货人电话号码,如:0571-81234567
$receive_mobile = $td['buyer_phone'];
//收货人手机号码,如:13312341234
//网站商品的展示地址,不允许加?id=123这类自定义参数
$show_url = DT_PATH . 'api/trade/alipay/show.php';
/************************************************************/
//构造要请求的参数数组
$parameter = array("service" => "trade_create_by_buyer", "payment_type" => "1", "partner" => trim($aliapy_config['partner']), "_input_charset" => trim(strtolower($aliapy_config['input_charset'])), "seller_email" => trim($aliapy_config['seller_email']), "return_url" => trim($aliapy_config['return_url']), "notify_url" => trim($aliapy_config['notify_url']), "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body, "price" => $price, "quantity" => $quantity, "buyer_email" => $_trade, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "show_url" => $show_url);
//构造标准双接口
$alipayService = new AlipayService($aliapy_config);
$html_text = $alipayService->trade_create_by_buyer($parameter);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<?php 
echo DT_CHARSET;
?>
">
<meta http-equiv="cache-control" content="no-cache">
<title>Loading...</title>
</head>
<body onload="document.getElementById('alipaysubmit').submit();">
<?php 
echo $html_text;
?>
</body>