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
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);
|
|
}
|
|
?>
|