熊猫办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

90 lines
3.4 KiB

<?php
header("Content-type: text/html; charset=utf-8");
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/q_functions.php");
require("../../member/class/user.php");
$link=db_connect();
$empire=new mysqlquery();
$payr=$empire->fetch1("select * from {$dbtbpre}enewspayapi where paytype='pcweixin' and isclose=0 limit 1");
//AppID(应用ID)
define("pcweixinAPPID",$payr['payuser']);
//AppSecret(应用密钥)
define("pcweixinAPPSECRET",$payr['paykey']);
//微信支付商户号(MchId)
define("pcweixinMCHID",$payr['mchid']);
//商户支付密钥(API密钥)
define("pcweixinKEY",$payr['appkey']);
//证书路径,注意应该填写绝对路径
define("pcweixinSSLCERT_PATH",'cacert/apiclient_cert.pem');
define("pcweixinSSLKEY_PATH",'cacert/apiclient_key.pem');
require_once("Wxclass.php");
require_once "lib/WxPay.Api.php";
require_once 'lib/WxPay.Notify.php';
$xml=file_get_contents("php://input");
//write($xml);
$fharr=json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
if($fharr){
$notify = new WxPayResults();
$notify->FromArray($fharr);
if($notify->CheckSign()=="true"){
$ddxx=explode('_',$fharr[out_trade_no]);
$phome=$ddxx[0];
$money=$fharr[total_fee]/100;
if($phome=="ShopPay"){
$ddno=$ddxx[1];
if($ddno){
$dd=$empire->fetch1("select * from {$dbtbpre}enewsshopdd where ddno='$ddno' and haveprice=0 limit 1");
$ddid=$dd[ddid];
if($ddid){
include('../payfun.php');
$ddr=PayApiShopDdMoney($ddid);
if($money!=$ddr['tmoney']){
echo fanhui(false,'支付金额错误');exit;
}
$posttime=date("Y-m-d H:i:s");
$userid=$dd[userid]?$dd[userid]:"0";
$username=$dd[username]?$dd[username]:"游客";
$paybz='商城购物 订单号: '.$ddno.' 的订单(订单ID:'.$ddid.')';
$payip=egetip();
//更新订单付款状态
$empire->query("update {$dbtbpre}enewsshopdd set haveprice=1 where ddno='$ddno'");
//增加付款记录
$empire->query("insert into {$dbtbpre}enewspayrecord(id,userid,username,orderid,money,posttime,paybz,type,payip) values(NULL,'$userid','$username','$ddno','$money','$posttime','$paybz','weixinpc','$payip');");
echo fanhui(true,'');exit;
} else {
echo fanhui(true,'');exit;
}
}
} elseif($phome=='PayToFen' || $phome=='PayToMoney' || $phome=='BuyGroupPay'){
include('payfun.php');
$orderid=$fharr[out_trade_no];
if($phome=='PayToFen'){ //购买点数
$pr=$empire->fetch1("select paymoneytofen,payminmoney from {$dbtbpre}enewspublic limit 1");
$fen=floor($money)*$pr[paymoneytofen];
$paybz='购买点数: '.$fen;
PayApiBuyFen($fen,$money,$paybz,$orderid,'pcweixin');
} elseif($phome=='PayToMoney'){ //存预付款
$paybz='存预付款';
PayApiPayMoney($money,$paybz,$orderid,'pcweixin');
} elseif($phome=='BuyGroupPay') {//购买充值类型
include("../../../data/dbcache/MemberLevel.php");
PayApiBuyGroupPay($money,$orderid,'pcweixin');
}
}
} else {
echo fanhui(false,'签名失败');exit;
}
} else {
echo fanhui(false,'没有获取到数据');exit;
}
function write($item){
$myfile = '1.txt';
$file_pointer = fopen($myfile,"a");
fwrite($file_pointer,$item);
fclose($file_pointer);
}
?>