<?php
namespace app\service;
use app\service\AppMiniUserService;
use app\service\PaymentService;
* 收银台服务层
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-04
* @desc description
*/
class CashierService
{
* 支付数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2025-01-02
* @desc description
* @param [array] $params [输入参数]
*/
public static function PayData($params = [])
{
$p = [
[
'checked_type' => 'empty',
'key_name' => 'authcode',
'error_msg' => MyLang('common_service.appminiuser.auth_code_empty_tips'),
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
$class_path = '\payment\WeixinAppMini';
if(!class_exists($class_path))
{
return DataReturn(MyLang('common_service.payment.not_install_weixin_payment_tips'), -1);
}
$appid = AppMiniUserService::AppMiniConfig('common_app_mini_weixin_appid');
$appsecret = AppMiniUserService::AppMiniConfig('common_app_mini_weixin_appsecret');
$ret = (new \base\Wechat($appid, $appsecret))->GetAuthSessionKey($params);
if($ret['code'] == 0)
{
$payment = PaymentService::PaymentData(['where'=>['payment'=>'WeixinAppMini']]);
$config = (empty($payment) || empty($payment['config'])) ? [] : $payment['config'];
$params['weixin_openid'] = $ret['data']['openid'];
$ret = (new $class_path($config))->Pay($params);
}
return $ret;
}
}
?>