extend/alipay/Refund.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace alipay;

use think\Loader;
Loader::import('alipay.Config');
Loader::import('alipay.pay.service.AlipayTradeService');
loader::import('alipay.pay.buildermodel.AlipayTradeRefundContentBuilder');

/**
* 统一收单交易退款接口
*
* 用法:
* 调用 \alipay\Refund::exec($params) 即可
*
*/
class Refund
{
    /**
     * 主入口
     * @param  array $params 退款参数, 具体如下
     * @param string $params['trade_no']/$params['out_trade_no'] 商户订单号或支付宝单号其中之一
     * @param string $params['out_request_no'] 商户退款号(可选, 如同一笔交易多次退款, 则必填)
     * @param float  $params['refund_amount'] 退款金额
     */
    public static function exec($params)
    {
        // 1.校检参数
        self::checkParams($params);

        // 2.构造请求参数
        $RequestBuilder = self::builderParams($params);

        // 3.获取配置
//        $config = config('alipay');
        $config_obj = new \Config();
        $config=  $config_obj->get_config();
        $aop    = new \AlipayTradeService($config);

        // 4.发送请求
        $response = $aop->Refund($RequestBuilder);

        // 5.转为数组格式返回
        $response = json_decode(json_encode($response), true);

        // 6.进行结果处理
        if (!empty($response['code']) && $response['code'] != '10000') {
            self::processError('交易退款接口出错, 错误码: '.$response['code'].' 错误原因: '.$response['sub_msg']);
        }

        return $response;
    }

    /**
     * 校检参数
     */
//    private static function checkParams($params)
//    {
//        if (empty($params['trade_no']) && empty($params['out_trade_no'])) {
//            self::processError('商户订单号(out_trade_no)和支付宝单号(trade_no)不得同时为空');

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。