Passed
Push — master ( 3921b1...09bdbd )
by wannanbigpig
03:12
created

Fund   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 102
Duplicated Lines 0 %

Test Coverage

Coverage 16.66%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 102
ccs 2
cts 12
cp 0.1666
rs 10
c 0
b 0
f 0
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A fundAuthOperationCancel() 0 3 1
A fundAuthOrderVoucherCreate() 0 3 1
A fundAuthFreeze() 0 3 1
A fundAuthAppFreeze() 0 3 1
A transfer() 0 3 1
A fundAuthUnfreeze() 0 3 1
1
<?php
2
/**
3
 * Fund.php
4
 *
5
 * Created by PhpStorm.
6
 *
7
 * author: liuml  <[email protected]>
8
 * DateTime: 2019-04-20  10:28
9
 */
10
11
namespace WannanBigPig\Alipay\Payment\Trade;
12
13
use WannanBigPig\Alipay\Kernel\Support\Support;
14
use WannanBigPig\Supports\AccessData;
15
16
class Fund
17
{
18
19
    /**
20
     * alipay.fund.trans.toaccount.transfer (单笔转账到支付宝账户接口)
21
     * 单笔转账到支付宝账户接口是基于支付宝的资金处理能力,为了满足支付宝商家向其他支付宝账户转账的需求,针对有部分开发能力的商家,
22
     * 提供通过 API 接口完成支付宝账户间的转账的功能。 该接口适用行业较广,比如商家间的货款结算,商家给个人用户发放佣金等。
23
     *
24
     * @param $params
25
     *
26
     * @return \WannanBigPig\Supports\AccessData
27
     *
28
     * @throws \WannanBigPig\Alipay\Kernel\Exceptions\SignException
29
     * @throws \WannanBigPig\Supports\Exceptions\BusinessException
30
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
31
     */
32 1
    public function transfer($params): AccessData
33
    {
34 1
        return Support::executeApi($params, 'alipay.fund.trans.toaccount.transfer');
35
    }
36
37
    /**
38
     * alipay.fund.auth.order.voucher.create (资金授权发码接口) 在线调试(沙箱环境)
39
     * 收银员通过收银台或商户后台调用支付宝接口,生成二维码后,展示给用户,由用户扫描二维码完成资金冻结。
40
     *
41
     * @param $params
42
     *
43
     * @return \WannanBigPig\Supports\AccessData
44
     *
45
     * @throws \WannanBigPig\Alipay\Kernel\Exceptions\SignException
46
     * @throws \WannanBigPig\Supports\Exceptions\BusinessException
47
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
48
     */
49
    public function fundAuthOrderVoucherCreate($params): AccessData
50
    {
51
        return Support::executeApi($params, 'alipay.fund.auth.order.voucher.create');
52
    }
53
54
    /**
55
     * alipay.fund.auth.operation.cancel (资金授权撤销接口)
56
     * 只有商户由于业务系统处理超时需要终止后续业务处理或者授权结果未知时可调用撤销,其他正常授权冻结的操作如需实现相同功能请调用资金授权解冻服务。提交资金授权后调用【资金授权操作查询】,没有明确的授权结果再调用【资金授权撤销】
57
     *
58
     * @param $params
59
     *
60
     * @return \WannanBigPig\Supports\AccessData
61
     *
62
     * @throws \WannanBigPig\Alipay\Kernel\Exceptions\SignException
63
     * @throws \WannanBigPig\Supports\Exceptions\BusinessException
64
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
65
     */
66
    public function fundAuthOperationCancel($params)
67
    {
68
        return Support::executeApi($params, 'alipay.fund.auth.order.voucher.create');
69
    }
70
71
    /**
72
     * alipay.fund.auth.order.unfreeze (资金授权解冻接口) 在线调试(沙箱环境)
73
     * 当资金授权发生之后一段时间内,由于买家或者商家等其他原因需要要解冻资金,商家可通过资金授权解冻接口将授权资金进行解冻,支付宝将在收到解冻请求并验证成功后,按解冻规则将冻结资金按原路进行解冻
74
     *
75
     * @param $params
76
     *
77
     * @return \WannanBigPig\Supports\AccessData
78
     *
79
     * @throws \WannanBigPig\Alipay\Kernel\Exceptions\SignException
80
     * @throws \WannanBigPig\Supports\Exceptions\BusinessException
81
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
82
     */
83
    public function fundAuthUnfreeze($params)
84
    {
85
        return Support::executeApi($params, 'alipay.fund.auth.order.unfreeze');
86
    }
87
88
    /**
89
     * alipay.fund.auth.order.freeze (资金授权冻结接口) 在线调试(沙箱环境)
90
     * 收银员使用扫码设备读取用户支付宝钱包 “付款码” 后,将条码信息和订单信息通过本接口上送至支付宝发起资金冻结。
91
     *
92
     * @param $params
93
     *
94
     * @return \WannanBigPig\Supports\AccessData
95
     *
96
     * @throws \WannanBigPig\Alipay\Kernel\Exceptions\SignException
97
     * @throws \WannanBigPig\Supports\Exceptions\BusinessException
98
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
99
     */
100
    public function fundAuthFreeze($params)
101
    {
102
        return Support::executeApi($params, 'alipay.fund.auth.order.freeze');
103
    }
104
105
    /**
106
     * alipay.fund.auth.order.app.freeze (线上资金授权冻结接口) 在线调试(沙箱环境)
107
     * 创建支付宝授权订单并完成资金冻结。适用于线上场景完成资金授权,例如从商户 APP 端拉起支付宝收银台完成冻结。
108
     *
109
     * @param $params
110
     *
111
     * @return string
112
     *
113
     * @throws \WannanBigPig\Supports\Exceptions\InvalidArgumentException
114
     */
115
    public function fundAuthAppFreeze($params)
116
    {
117
        return Support::executeSdk($params, 'alipay.fund.auth.order.app.freeze');
118
    }
119
}
120