define('ROOT_PATH',__DIR__);
require ROOT_PATH.'/db.php';
require ROOT_PATH.'/config.php';
require ROOT_PATH.'/alipay/AopClient.php';
require ROOT_PATH.'/alipay/request/AlipayTradeWapPayRequest.php';
$arr=$_GET;
$aop = new AopClient($alipay_config);
$aop->alipayrsaPublicKey = $alipay_config['alipay_public_key'];
$result = $aop->rsaCheckV1($arr, $alipay_config['alipay_public_key'], $alipay_config['sign_type']);
/* 实际验证过程建议商户添加以下校验。
1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号,
2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额),
3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email)
4、验证app_id是否为该商户本身。
*/
if($result) {//验证成功
/
//请在这里加上商户的业务逻辑程序代码
//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
//商户订单号
$out_trade_no = htmlspecialchars($_GET['out_trade_no']);
//支付宝交易号
$trade_no = htmlspecialchars($_GET['trade_no']);
/*
$request = new AlipayTradeWapPayRequest();
$request->setNotifyUrl($alipay_config['notify_url']);
$request->setReturnUrl($alipay_config['return_url']);
echo '
';
var_dump($request);
die;
*/
$config = [
'username'=>'liwuming',
'password'=>'qsc.zse?!0913',
'prefix'=>'',
'charset'=>'utf8',
'dsn'=>'mysql:dbname=debug;host=localhost'
];
$pdo = new Db($config);
$data = [
'pay_type'=>1,
'pay_account'=>$trade_no,
'pay_time'=>time(),
'status'=>1,
'response'=>json_encode($_GET)
];
/*
$rows = $pdo->update('charge_order',$data,[
'order_num[=]'=>$out_trade_no
]);
if(empty($rows)){
echo 'error
';
echo $pdo->error();
}else{
echo 'sueecss';
echo '
';
var_dump($_GET);
die;
}
*/
echo "验证成功
外部订单号:".$out_trade_no;
echo '
'.$trade_no;
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
/
}
else {
//验证失败
echo "验证失败";
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史