Completed
Pull Request — master (#15)
by
unknown
02:55
created

ResponseData   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 33.33%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 25
ccs 2
cts 6
cp 0.3333
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getIsOk() 0 4 1
A getErrorMessage() 0 8 2
1
<?php
2
/**
3
 * @link https://github.com/yiiviet/yii2-payment
4
 * @copyright Copyright (c) 2017 Yii Viet
5
 * @license [New BSD License](http://www.opensource.org/licenses/bsd-license.php)
6
 */
7
8
namespace nhuluc\payment\baokim;
9
10
use vxm\gatewayclients\ResponseData as BaseResponseData;
11
12
/**
13
 * Lớp ResponseData cung cấp dữ liệu nhận được từ Bảo Kim khi tạo [[request()]] ở [[PaymentGateway]].
14
 *
15
 * @method PaymentClient getClient() đối tượng client đã dùng để thực thi request.
16
 *
17
 * @property PaymentClient $client đối tượng client đã dùng để thực thi request.
18
 * @property bool $isOk trạng thái phản hồi từ Bảo Kim `TRUE` thành công và ngược lại.
19
 * @property null|string $errorMessage chuỗi thông báo lỗi khi `isOk` là `FALSE`.
20
 * @property string $redirect_url đường dẫn chuyển tiếp thanh toán, chỉ tồn tại khi thuộc tính `isOk` là `TRUE`.
21
 * @property string $next_action hành động tiếp theo cần phải thực thi, chỉ tồn tại khi thuộc tính `isOk` là `TRUE` và với phương thức `pro`.
22
 * @property int $rv_id mã phiếu thu, chỉ tồn tại khi thuộc tính `isOk` là `TRUE` và với phương thức `pro`.
23
 * @property int $guide_url mã phiếu thu, chỉ tồn tại khi thuộc tính `isOk` là `TRUE` và với phương thức `pro` khi thuộc tính `rv_id` có giá trị là `display_guide`.
24
 * @property array $bank_payment_methods danh sách ngân hàng, chỉ tồn tại khi thuộc tính `isOk` là `TRUE` và truy vấn thông tin `merchantData`.
25
 * @property array $seller_account thông tin merchant, chỉ tồn tại khi thuộc tính `isOk` là `TRUE` và truy vấn thông tin `merchantData`.
26
 *
27
 * @author Nhu Luc <[email protected]>
28
 * @since 1.0
29
 */
30
class ResponseData extends BaseResponseData
31
{
32
33
    /**
34
     * @inheritdoc
35
     */
36 7
    public function getIsOk(): bool
37
    {
38 7
        return !isset($this['error_code'], $this['error']);
39
    }
40
41
    /**
42
     * Phương thức hổ trợ lấy câu báo lỗi nhận từ Bảo Kim.
43
     *
44
     * @return null|string Trả về NULL nếu như dữ liệu Bảo Kim gửi về không tồn tại `error` và ngược lại.
45
     */
46
    public function getErrorMessage(): ?string
47
    {
48
        if (isset($this['error'])) {
49
            return $this['error'];
50
        } else {
51
            return null;
52
        }
53
    }
54
}
55