35 lines
965 B
PHP
35 lines
965 B
PHP
<?php
|
|
|
|
namespace addon\alipay\event;
|
|
|
|
use addon\alipay\model\Pay as PayModel;
|
|
use app\model\system\Pay as PayCommon;
|
|
|
|
/**
|
|
* 支付回调
|
|
*/
|
|
class PayNotify
|
|
{
|
|
/**
|
|
* 支付方式及配置
|
|
*/
|
|
public function handle($param)
|
|
{
|
|
if ($param[ "pay_type" ] != "alipay") return false;
|
|
|
|
if (isset($_POST[ 'out_trade_no' ])) {
|
|
$out_trade_no = $_POST[ 'out_trade_no' ];
|
|
$pay = new PayCommon();
|
|
$pay_info = $pay->getPayInfo($out_trade_no)[ 'data' ];
|
|
if (empty($pay_info)) return false;
|
|
|
|
if ($_POST[ 'total_amount' ] != $pay_info[ 'pay_money' ]) {
|
|
return false;
|
|
}
|
|
$mch_info = empty($pay_info[ 'mch_info' ]) ? [] : json_decode($pay_info[ 'mch_info' ], true);
|
|
|
|
$pay_model = new PayModel($pay_info[ 'site_id' ], $mch_info[ 'is_aliapp' ] ?? 0);
|
|
$pay_model->payNotify();
|
|
}
|
|
}
|
|
} |