admin/addon/aliapp/event/AlipayMerchant.php

82 lines
2.6 KiB
PHP

<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\aliapp\event;
use addon\aliapp\model\OpenPay;
use think\facade\Db;
class AlipayMerchant
{
// 支付宝小程序审核结果通知处理
public function handle($param = [])
{
$msgMethod = $param['msg_method'] ?? '';
$rsaCheck = $this->rsaCheck($param);
if ($rsaCheck && $msgMethod) {
switch ($msgMethod) {
case 'ant.merchant.expand.indirect.zft.passed':
$this->passed(json_decode($param['biz_content'], true));
break;
case 'ant.merchant.expand.indirect.zft.rejected':
$this->rejected(json_decode($param['biz_content'], true));
break;
}
}
}
/***
* 审核成功
* @param $param
*/
public function passed($param)
{
$business_code = $param['external_id'] ?? '';
$info = Db::name('pay_shop')->where('business_code', '=', $business_code)->find();
if ($info) {
$upData = [
'merchant_smid' => $param['smid'],
'apply_desc' => $param['memo'],
];
Db::name('pay_shop')->where('business_code', '=', $business_code)->update($upData);
event('AliPayMerchantPassed', array_merge($info, $param));
}
echo 'success';
}
/***
* 审核被拒绝
* @param $param
*/
public function rejected($param)
{
$business_code = $param['external_id'] ?? '';
$info = Db::name('pay_shop')->where('business_code', '=', $business_code)->find();
if ($info) {
$upData = [
'apply_desc' => $param['reason'],
'states' => 2,
];
Db::name('pay_shop')->where('business_code', '=', $business_code)->update($upData);
}
echo 'success';
}
public function rsaCheck($param)
{
$payModel = new OpenPay();
$res = $payModel->verifySgin($param);
return $res;
}
}