代码拉取完成,页面将自动刷新
<?php
/**
* 微信支付异步响应操作
*/
define('IN_ECTOUCH', true);
require(dirname(__FILE__) . '/mobile/include/init.php');
require(ROOT_PATH . 'include/lib_payment.php');
require(ROOT_PATH . 'include/lib_order.php');
/* 支付方式代码 */
$pay_code = 'wxpay';
/* 支付信息 */
$payment = get_payment($pay_code);
// 获取异步数据postData
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if(!empty($_GET)){
$postdata = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$plugin_file = ROOT_PATH . 'include/modules/payment/' . $pay_code . '.php';
/* 检查插件文件是否存在,如果存在则验证支付是否成功,否则则返回失败信息 */
if (file_exists($plugin_file)) {
/* 根据支付方式代码创建支付类的对象并调用其响应操作方法 */
include_once($plugin_file);
/* 检查数字签名是否正确 */
ksort($_GET);
reset($_GET);
$string = '';
foreach($_GET as $k=>$v){
if(null != $v && 'null' != $v && 'sign' != $k){
$string .= $k .'='. $v .'&';
}
}
$string = substr($string, 0, -1);
//默认签名
$sign = strtoupper($_GET['sign']);
//生成签名
$content = strtoupper(md5($string.'&key='.$payment['wxpay_partnerkey']));
//验证签名
if($sign == $content){
if($_GET['trade_state'] == 0){//交易成功
//获取log_id
$out_trade_no = explode('O', $_GET['out_trade_no']);
$order_sn = $out_trade_no[1];//订单号log_id
// 改变订单状态
order_paid($order_sn, 2);
//修改订单信息(openid,tranid)
$sql = "update ".$GLOBALS['ecs']->table('pay_log')." set openid = '".$postdata['OpenId']."', transid = '".$_GET['transaction_id']."' where log_id = ".$order_sn;
$GLOBALS['db']->query($sql);
}
echo 'success';
//logResult('success');
}else{
echo 'fail';
//logResult('fail');
}
exit;
}
else {
echo "fail";
}
}else{
echo "fail";
}
//打印日志
function logResult($word='') {
$fp = fopen("log.txt","a");
flock($fp, LOCK_EX) ;
fwrite($fp,"执行日期:".strftime("%Y%m%d%H%M%S",time())."\n".$word."\n");
flock($fp, LOCK_UN);
fclose($fp);
}
?>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。