$value) { $array[$key] = object_array($value); } } return $array; } require_once dirname ( __FILE__ ).DIRECTORY_SEPARATOR.'service/AlipayTradeService.php'; require_once dirname ( __FILE__ ).DIRECTORY_SEPARATOR.'buildermodel/AlipayTradeQueryContentBuilder.php'; require dirname ( __FILE__ ).DIRECTORY_SEPARATOR.'./../config.php'; if (!empty($_GET['out_trade_no'])){ //商户订单号和支付宝交易号不能同时为空。 trade_no、 out_trade_no如果同时存在优先取trade_no //商户订单号,和支付宝交易号二选一 $out_trade_no = trim($_GET['out_trade_no']); $ShopOrdID = $out_trade_no; $RequestBuilder = new AlipayTradeQueryContentBuilder(); $RequestBuilder->setOutTradeNo($out_trade_no); $Response = new AlipayTradeService($config); $result = $Response->Query($RequestBuilder); $result = object_array($result); // var_dump($result);exit; if(!empty($result) && $result["code"] != "40004"){ //支付宝交易号 $trade_no = !empty($result['trade_no'])?$result['trade_no']:""; //交易状态 $trade_status = $result['trade_status']; if ($trade_status == 'TRADE_SUCCESS') { //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //请务必判断请求时的total_amount与通知时获取的total_fee为一致的 //如果有做过处理,不执行商户的业务程序 //注意: //付款完成后,支付宝系统发送该交易状态通知 //查后台订单状态 $key='apivcomcn20170421'; $ShopUserID=urlencode("实体店-白马星汇良仓"); $method = "Order_AddressEdit"; $NewShopUserID = $ShopUserID; $ShopUserID = $ShopUserID; $arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID,"ShopUserID"=>$ShopUserID,"NewShopUserID"=>$NewShopUserID); ksort($arr); $i=0; $stringA=''; foreach($arr as $k=>$v){ $stringA=$stringA.$k.$v; } $stringSignTemp=$stringA.$key; $stringSignTemp=str_replace(" ", "%20", $stringSignTemp); $sign=MD5($stringSignTemp); $content = ""; $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID.'&ShopUserID='.$ShopUserID."&NewShopUserID=".$NewShopUserID; $content .= '&Sign='.$sign; $order_url='http://api.v.com.cn/order/?'.$content; $order_url=str_replace(" ", "%20", $order_url); // var_dump($url);exit; $orderinfo_change=file_get_contents($order_url); $orderinfo_change=json_decode($orderinfo_change,true); $method = "Order_detail"; $arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID); ksort($arr); $i=0; $stringA=''; foreach($arr as $k=>$v){ $stringA=$stringA.$k.$v; } $stringSignTemp=$stringA.$key; $stringSignTemp=str_replace(" ", "%20", $stringSignTemp); $sign=MD5($stringSignTemp); $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID; $content .= '&Sign='.$sign; $order_url='http://api.v.com.cn/order/?'.$content; $order_url=str_replace(" ", "%20", $order_url); // var_dump($url);exit; $orderinfo=file_get_contents($order_url); $orderinfo=json_decode($orderinfo,true); if(!empty($orderinfo["ProgressE"]) && $orderinfo["ProgressE"] != "0"){ $status = $orderinfo["ProgressE"]; }elseif($orderinfo["ProgressD"] === "0" || $orderinfo["ProgressD"] === "2"){ if($orderinfo["ProgressM"] === "1"){ $status = "已支付"; }elseif($orderinfo["ProgressM"] === "0"){ $status = "未支付"; }elseif($orderinfo["ProgressM"] === "4"){ $status = "已取消"; } }elseif($orderinfo["ProgressD"] === "4"){ $status = "已取消"; }elseif($orderinfo["ProgressD"] === "3"){ $status = "已下发"; } if($status == "未支付"){ $trade_no = $result["trade_no"]; $total_amount = $result["total_amount"]; $method = "Order_PayNotify"; $transaction_id = $trade_no; $mch_id = "2016090601857165"; $total_fee = number_format($total_amount,2,'.',''); $ShopOrdID = $out_trade_no; $PayMono = urlencode("支付宝"); $arr = array("method"=>$method,"transaction_id"=>$transaction_id,"mch_id"=>$mch_id,"out_trade_no"=>$out_trade_no,"total_fee"=>$total_fee,"ShopOrdID"=>$ShopOrdID,"PayMono"=>$PayMono,"openid"=>$openid); ksort($arr); $i=0; $stringA=''; foreach($arr as $k=>$v){ $stringA=$stringA.$k.$v; } $stringSignTemp=$stringA.$key; $stringSignTemp=str_replace(" ", "%20", $stringSignTemp); $sign=MD5($stringSignTemp); $content = 'method='.$method.'&transaction_id='.$transaction_id.'&mch_id='.$mch_id.'&out_trade_no='.$out_trade_no.'&total_fee='.$total_fee.'&ShopOrdID='.$ShopOrdID.'&PayMono='.$PayMono."&openid=".$openid; $content .= '&Sign='.$sign; $order_url='http://api.v.com.cn/order/?'.$content; $order_url=str_replace(" ", "%20", $order_url); $orderinfo=file_get_contents($order_url); $orderinfo=json_decode($orderinfo,true); if($orderinfo["result"] == "1"){ header("Location: http://vadmin.v.com.cn/ccShop/OrderDetail.php?ShopOrdID=$ShopOrdID");exit; }else{ header("Location: http://vadmin.v.com.cn/ccShop/OrderDetail.php?ShopOrdID=$ShopOrdID");exit; } } } }else{ header("Location: http://vadmin.v.com.cn/ccShop/OrderDetail.php?ShopOrdID=$ShopOrdID");exit; } return; } ?>