Passed
Push — master ( 2729ea...b493c9 )
by Songda
02:00
created

UpdateRefundPlugin   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 8
c 1
b 0
f 0
dl 0
loc 21
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A doSomething() 0 3 1
A getUri() 0 11 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yansongda\Pay\Plugin\Wechat\Risk\Complaints;
6
7
use Yansongda\Pay\Exception\Exception;
8
use Yansongda\Pay\Exception\InvalidParamsException;
9
use Yansongda\Pay\Plugin\Wechat\GeneralPlugin;
10
use Yansongda\Pay\Rocket;
11
12
/**
13
 * @see https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter10_2_19.shtml
14
 */
15
class UpdateRefundPlugin extends GeneralPlugin
16
{
17
    protected function doSomething(Rocket $rocket): void
18
    {
19
        $rocket->getPayload()->forget('complaint_id');
20
    }
21
22
    /**
23
     * @throws \Yansongda\Pay\Exception\InvalidParamsException
24
     */
25
    protected function getUri(Rocket $rocket): string
26
    {
27
        $payload = $rocket->getPayload();
28
29
        if (is_null($payload->get('complaint_id'))) {
30
            throw new InvalidParamsException(Exception::MISSING_NECESSARY_PARAMS);
31
        }
32
33
        return 'v3/merchant-service/complaints-v2/'.
34
            $payload->get('complaint_id').
35
            '/update-refund-progress';
36
    }
37
}
38