/** * [sendConfirm 自动确认发货] * @return [type] [description] */ public function sendConfirm() { /**************************请求参数**************************/ //支付宝交易号 $trade_no = I("get.trade_no"); //$trade_no = $_POST['WIDtrade_no']; //必填 //物流公司名称 $logistics_name = "爱小圈"; //$logistics_name = $_POST['WIDlogistics_name']; //必填 //物流发货单号 //$invoice_no = $_POST['WIDinvoice_no']; //物流运输类型 //$transport_type = $_POST['WIDtransport_type']; //三个值可选:POST(平邮)、EXPRESS(快递)、EMS(EMS) /************************************************************/ //构造要请求的参数数组,无需改动 $parameter = array("service" => "send_goods_confirm_by_platform", "partner" => trim($alipay_config['partner']), "trade_no" => $trade_no, "logistics_name" => $logistics_name, "invoice_no" => $invoice_no, "transport_type" => $transport_type, "_input_charset" => trim(strtolower($alipay_config['input_charset']))); //建立请求 $alipaySubmit = new AlipaySubmit($alipay_config); $html_text = $alipaySubmit->buildRequestHttp($parameter); //解析XML //注意:该功能PHP5环境及以上支持,需开通curl、SSL等PHP配置环境。建议本地调试时使用PHP开发软件 $doc = new DOMDocument(); $doc->loadXML($html_text); //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 //解析XML if (!empty($doc->getElementsByTagName("alipay")->item(0)->nodeValue)) { $alipay = $doc->getElementsByTagName("alipay")->item(0)->nodeValue; echo $alipay; } }
/** * [alipayPost 提交到支付宝方法] * @return [type] [description] */ public function alipayGet() { $order_id = I('order_id'); if (empty($order_id)) { $this->error('非法订单参数...'); } $map = array('order_status' => 4, 'order_id' => $order_id); $order_info = M('Order')->field('order_id,order_price,product_id,order_type')->where($map)->find(); if (empty($order_info)) { $this->error('订单不存在...'); } switch ($order_info['order_type']) { case 'line': $info = M('Line')->field('title,sub_title')->find($order_info['product_id']); if ($info) { $order_info['title'] = $info['title']; $order_info['sub_title'] = $info['sub_title']; } else { $order_info['title'] = '旅游线路'; $order_info['sub_title'] = '旅游线路资费'; } break; case 'visa': $info = M('Visa')->field('title,sub_title')->find($order_info['product_id']); if ($info) { $order_info['title'] = $info['title']; $order_info['sub_title'] = $info['sub_title']; } else { $order_info['title'] = '旅游线路'; $order_info['sub_title'] = '旅游线路资费'; } break; default: break; } /**************************请求参数**************************/ //支付类型 $payment_type = "1"; //必填,不能修改 //服务器异步通知页面路径 $get_notify_url = addons_url("AliPlay://AliPlayDirect/notifyUrl"); $get_notify_url = preg_replace('/.html/i', '', $get_notify_url); $get_notify_url = "http://" . $_SERVER['HTTP_HOST'] . $get_notify_url; $notify_url = $get_notify_url; //需http://格式的完整路径,不能加?id=123这类自定义参数 //页面跳转同步通知页面路径 $get_return_url = addons_url("AliPlay://AliPlayDirect/returnUrl"); $get_return_url = preg_replace('/.html/i', '', $get_return_url); $get_return_url = "http://" . $_SERVER['HTTP_HOST'] . $get_return_url; $return_url = $get_return_url; //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/ //卖家支付宝帐户 $seller_email = SELLER_EMAIL; //必填 //商户订单号 $out_trade_no = $order_info['order_id']; //商户网站订单系统中唯一订单号,必填 //订单名称 $subject = $order_info['title']; //必填 //付款金额 $total_fee = $order_info['order_price']; //必填 //订单描述 $body = $order_info['title']; //商品展示地址 $show_url = ''; //需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html //防钓鱼时间戳 $anti_phishing_key = ""; //若要使用请调用类文件submit中的query_timestamp函数 //客户端的IP地址 $exter_invoke_ip = $_SERVER["REMOTE_ADDR"]; //非局域网的外网IP地址,如:221.0.0.1 //这里根据自己的逻辑处理 /************************************************************/ //构造要请求的参数数组,无需改动 $parameter = array("service" => "create_direct_pay_by_user", "partner" => trim($this->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($this->alipay_config['input_charset']))); // echo '<pre>'; print_r($parameter); echo '</pre>'; exit; //建立请求 $alipaySubmit = new AlipaySubmit($this->alipay_config); $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "支付宝"); header("Content-type:text/html;charset=utf-8"); echo $html_text; }