<?php
|
ini_set('date.timezone','Asia/Shanghai');
|
error_reporting(E_ERROR);
|
require_once "../lib/WxPay.Api.php";
|
require_once 'log.php';
|
|
//初始化日志
|
$logHandler= new CLogFileHandler("./logs/".date('Y-m-d').'.log');
|
$log = Log::Init($logHandler, 15);
|
|
function printf_info($data)
|
{
|
foreach($data as $key=>$value){
|
// echo "<font color='#f00;'>$key</font> : $value <br/>";
|
}
|
}
|
|
|
if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){
|
$transaction_id = $_REQUEST["transaction_id"];
|
$input = new WxPayOrderQuery();
|
$input->SetTransaction_id($transaction_id);
|
//printf_info(WxPayApi::orderQuery($input));
|
$result=WxPayApi::orderQuery($input);
|
if(array_key_exists("return_code", $result)
|
&& array_key_exists("result_code", $result)
|
&& $result["return_code"] == "SUCCESS"
|
&& $result["result_code"] == "SUCCESS")
|
{
|
$transaction_id = $result["transaction_id"];
|
$mch_id = $result["mch_id"];
|
$out_trade_no = $result["out_trade_no"];
|
$time = time();
|
setrawcookie ("PayDoneTime", $time, time() + 600,"/");
|
$key='apivcomcn20170421';
|
$method = "Order_detail";
|
$ShopOrdID = explode("-", $out_trade_no)[0];
|
$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 == "未支付"){
|
$method = "Order_PayNotify";
|
$total_fee = number_format($result["total_fee"]/100,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);
|
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;
|
$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);
|
}
|
echo "<script>alert('已查询!')</script>";
|
var_dump($result);exit;
|
}
|
|
// echo 1;
|
exit();
|
}
|
|
if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){
|
$out_trade_no = $_REQUEST["out_trade_no"];
|
$input = new WxPayOrderQuery();
|
$input->SetOut_trade_no($out_trade_no);
|
// printf_info(WxPayApi::orderQuery($input));
|
$result=WxPayApi::orderQuery($input);
|
$key='apivcomcn20170421';
|
$attach = json_decode($result["attach"],true);
|
$ShopOrdID = $attach["ShopOrdID"];
|
if(!empty($attach["ShopUserID"])){
|
$ShopUserID = urlencode($attach["ShopUserID"]);
|
}else{
|
$ShopUserID=urlencode("实体店-白马星汇良仓");
|
}
|
|
|
$method = "Order_AddressEdit";
|
$NewShopUserID = $ShopUserID;
|
$arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID,"ShopUserID"=>$ShopUserID,"NewShopUserID"=>$NewShopUserID);
|
if(isset($attach["strName"])){
|
$strName = $attach["strName"];
|
$arr["strName"] = urlencode($strName);
|
}
|
if(!empty($attach["strPhone"])){
|
$strPhone = $attach["strPhone"];
|
$arr["strPhone"] = $strPhone;
|
}
|
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;
|
if(isset($attach["strName"])){
|
$content .= '&strName='.urlencode($strName);
|
}
|
if(!empty($attach["strPhone"])){
|
$content .= '&strPhone='.$strPhone;
|
}
|
|
$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_PayNotify";
|
$transaction_id = $result["transaction_id"];
|
$mch_id = $result["mch_id"];
|
$openid = $result["openid"];
|
$out_trade_no = $result["out_trade_no"];
|
$total_fee = number_format($result["total_fee"]/100,2,'.','');
|
|
$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($sfxf == "2"){
|
$succCode = 1;
|
return $result;
|
}else{
|
|
|
$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);
|
|
$details = $orderinfo["details"];
|
|
foreach($details as $v_d){
|
$price = floatval($v_d["ItmCost"]);
|
$goodsDetail[] = array(
|
"item_code"=>$v_d["strItmID"],
|
"price"=>"$price",
|
"qty"=>$v_d["intQty"],
|
);
|
}
|
$payments_old = $orderinfo["payments"];
|
$pay_type_name = $payments_old[0]["pay_type_name"];
|
$pay_type_code_cn = str_replace($ShopOrdID,"",$pay_type_name);
|
if($pay_type_code_cn == "支付宝"){
|
$pay_type_code = "zhifubao";
|
}elseif($pay_type_code_cn == "微信支付"){
|
$pay_type_code = "weixin";
|
}elseif($pay_type_code_cn == "现金支付"){
|
$pay_type_code = "cash";
|
}elseif($pay_type_code_cn == "刷卡支付"){
|
$pay_type_code = "yinlian";
|
}
|
$payment = floatval($payments_old[0]["payment"]);
|
|
$pay_code = $payments_old[0]["pay_transactionID"];
|
$paytime = $payments_old[0]["paytime"];
|
$paytime = strtotime($paytime)*1000;
|
$payments = array(
|
array(
|
"pay_type_code"=>$pay_type_code,
|
"payment"=>"$payment",
|
"pay_code"=>$pay_code,
|
"paytime"=>$paytime,
|
"account"=>$openid,
|
),
|
);
|
|
$buyer = array(
|
"platform_code"=>$ShopOrdID,
|
"vip_code"=>$orderinfo["ShopUserID"],
|
"receiver_address"=>$orderinfo["strAdd"],
|
);
|
|
|
|
$data = array(
|
"data"=>array(
|
"goodsDetail"=>$goodsDetail,
|
"payments"=>$payments,
|
"buyer"=>$buyer,
|
),
|
);
|
|
$gy_url = "http://vadmin.v.com.cn/CashierSystem.php?actionType=2&CC_UAid=".$_COOKIE["cc_UAid"];
|
// var_dump($gy_url);
|
$ch = curl_init();//初始化curl
|
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
curl_setopt($ch, CURLOPT_URL, $gy_url);
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE);
|
curl_setopt($ch, CURLOPT_HEADER, FALSE);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($data));
|
$data_save = curl_exec($ch);
|
$data_save = json_decode($data_save,true);
|
if($data_save["success"]){
|
$ERP_code = $data_save["code"];
|
$method = "Order_StateEdit";
|
|
$ShopOrdState = "3";
|
|
$arr = array("method"=>$method,"ShopOrdState"=>$ShopOrdState,"ShopOrdID"=>$ShopOrdID,"ERP_code"=>$ERP_code);
|
|
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."&ShopOrdState=".$ShopOrdState."&ERP_code=".$ERP_code;
|
$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);
|
// var_dump($orderinfo);exit;
|
if($orderinfo["result"] == "1"){
|
$pdo = new PDO('mysql:host=120.24.62.151;dbname=wxordidsave', 'yyjj', 'zsh56ynyj!2w',array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
|
$sql = "UPDATE `order` SET `order_send` = '2' WHERE `order_long` = '$out_trade_no'";
|
|
$pdo->exec($sql);
|
$succCode = 1;
|
return $result;
|
}
|
}
|
}
|
|
exit();
|
}
|
?>
|