2 Star 0 Fork 0

kent45/baixin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
notify_wap_wxpay.php 2.38 KB
一键复制 编辑 原始数据 按行查看 历史
kent45 提交于 2014-07-21 15:29 . 1.first push
<?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);
}
?>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/kent45/baixin.git
git@gitee.com:kent45/baixin.git
kent45
baixin
baixin
master

搜索帮助