src/Refund/AliRefund.php
protected function retData(array $data)
    {
        $reqData = parent::retData($data);

        try {
            $ret = $this->sendReq($reqData);
        } catch (PayException $e) {
            throw $e;
        }
        $content = \GuzzleHttp\json_decode($data['biz_content'], true);
        $refundNo = $content['out_request_no'];

        if ($this->config->returnRaw) {
            $ret['channel'] = Config::ALI_REFUND;
            $ret['refund_no'] = $refundNo;
            return $ret;
        }

        if ($ret['code'] !== '10000') {
            return [
                'is_success'    => 'F',
                'error' => $ret['sub_msg'],
                'refund_no' => $refundNo
            ];
        }

        $retData = [
            'is_success'    => 'T',
            'response'  => [
                'transaction_id'   => $ret['trade_no'],
                'order_no'  => $ret['out_trade_no'],
                'logon_id'   => $ret['buyer_logon_id'],
                'fund_change' => $ret['fund_change'],// 本次退款是否发生了资金变化
                'refund_fee'    => $ret['refund_fee'],// 返回的总金额，这里支付宝会累计
                'refund_time' => $ret['gmt_refund_pay'],
                'refund_detail_item_list' => ArrayUtil::get($ret, 'refund_detail_item_list'),// 退款使用的资金渠道
                'refund_no' => $refundNo,
                'channel'   => Config::ALI_REFUND,
                'buyer_id'   => $ret['buyer_user_id'],
                'store_name' => ArrayUtil::get($ret, 'store_name'),
            ],
        ];

        return $retData;
    }
protected function retData(array $data)
    {
        $reqData = parent::retData($data);

        try {
            $ret = $this->sendReq($reqData);
        } catch (PayException $e) {
            throw $e;
        }
        $content = \GuzzleHttp\json_decode($data['biz_content'], true);
        $refundNo = $content['out_request_no'];

        if ($this->config->returnRaw) {
            $ret['channel'] = Config::ALI_REFUND;
            $ret['refund_no'] = $refundNo;
            return $ret;
        }

        if ($ret['code'] !== '10000') {
            return [
                'is_success'    => 'F',
                'error' => $ret['sub_msg'],
                'refund_no' => $refundNo
            ];
        }

        $retData = [
            'is_success'    => 'T',
            'response'  => [
                'transaction_id'   => $ret['trade_no'],
                'order_no'  => $ret['out_trade_no'],
                'logon_id'   => $ret['buyer_logon_id'],
                'fund_change' => $ret['fund_change'],// 本次退款是否发生了资金变化
                'refund_fee'    => $ret['refund_fee'],// 返回的总金额，这里支付宝会累计
                'refund_time' => $ret['gmt_refund_pay'],
                'refund_detail_item_list' => ArrayUtil::get($ret, 'refund_detail_item_list'),// 退款使用的资金渠道
                'refund_no' => $refundNo,
                'channel'   => Config::ALI_REFUND,
                'buyer_id'   => $ret['buyer_user_id'],
                'store_name' => ArrayUtil::get($ret, 'store_name'),
            ],
        ];

        return $retData;
    }
protected function retData ( array $ data ) { $ reqData = parent :: retData ( $ data ) ; try { $ ret = $ this -> sendReq ( $ reqData ) ; } catch ( PayException $ e ) { throw $ e ; } $ content = \ GuzzleHttp \ json_decode ( $ data [ 'biz_content' ] , true ) ; $ refundNo = $ content [ 'out_request_no' ] ; if ( $ this -> config -> returnRaw ) { $ ret [ 'channel' ] = Config :: ALI_REFUND ; $ ret [ 'refund_no' ] = $ refundNo ; return $ ret ; } if ( $ ret [ 'code' ] !== '10000' ) { return [ 'is_success' => 'F' , 'error' => $ ret [ 'sub_msg' ] , 'refund_no' => $ refundNo ] ; } $ retData = [ 'is_success' => 'T' , 'response' => [ 'transaction_id' => $ ret [ 'trade_no' ] , 'order_no' => $ ret [ 'out_trade_no' ] , 'logon_id' => $ ret [ 'buyer_logon_id' ] , 'fund_change' => $ ret [ 'fund_change' ] , // 本次退款是否发生了资金变化 'refund_fee' => $ ret [ 'refund_fee' ] , // 返回的总金额，这里支付宝会累计 'refund_time' => $ ret [ 'gmt_refund_pay' ] , 'refund_detail_item_list' => ArrayUtil :: get ( $ ret , 'refund_detail_item_list' ) , // 退款使用的资金渠道 'refund_no' => $ refundNo , 'channel' => Config :: ALI_REFUND , 'buyer_id' => $ ret [ 'buyer_user_id' ] , 'store_name' => ArrayUtil :: get ( $ ret , 'store_name' ) , ] , ] ; return $ retData ; }
返回数据
@param array $data
@return array|string
@throws PayException
返回数据