Statuses   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 7
eloc 22
c 2
b 0
f 0
dl 0
loc 73
ccs 13
cts 13
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B transform() 0 15 7
1
<?php
2
/**
3
 * Mollie statuses.
4
 *
5
 * @author    Pronamic <[email protected]>
6
 * @copyright 2005-2022 Pronamic
7
 * @license   GPL-3.0-or-later
8
 * @package   Pronamic\WordPress\Pay
9
 */
10
11
namespace Pronamic\WordPress\Pay\Gateways\Mollie;
12
13
use Pronamic\WordPress\Pay\Payments\PaymentStatus;
14
15
/**
16
 * Title: Mollie statuses constants
17
 * Description:
18
 * Copyright: 2005-2022 Pronamic
19
 * Company: Pronamic
20
 *
21
 * @link https://docs.mollie.com/payments/status-changes
22
 *
23
 * @author  Remco Tolsma
24
 * @version 2.1.0
25
 * @since   1.0.0
26
 */
27
class Statuses {
28
	/**
29
	 * Authorized.
30
	 *
31
	 * @var string
32
	 */
33
	const AUTHORIZED = 'authorized';
34
35
	/**
36
	 * Open.
37
	 *
38
	 * @var string
39
	 */
40
	const OPEN = 'open';
41
42
	/**
43
	 * Canceled.
44
	 *
45
	 * @var string
46
	 */
47
	const CANCELED = 'canceled';
48
49
	/**
50
	 * Paid.
51
	 *
52
	 * @var string
53
	 */
54
	const PAID = 'paid';
55
56
	/**
57
	 * Expired.
58
	 *
59
	 * @var string
60
	 */
61
	const EXPIRED = 'expired';
62
63
	/**
64
	 * Failed.
65
	 *
66
	 * @since 2.0.3
67
	 * @var string
68
	 */
69
	const FAILED = 'failed';
70
71
	/**
72
	 * Pending.
73
	 *
74
	 * @var string
75
	 */
76
	const PENDING = 'pending';
77
78
	/**
79
	 * Transform an Mollie state to an more global status.
80
	 *
81
	 * @param string $status Mollie status.
82
	 *
83
	 * @return string|null Pay status.
84
	 */
85 7
	public static function transform( $status ) {
86
		switch ( $status ) {
87 7
			case self::PENDING:
88 7
			case self::OPEN:
89 1
				return PaymentStatus::OPEN;
90 6
			case self::CANCELED:
91 1
				return PaymentStatus::CANCELLED;
92 5
			case self::PAID:
93 1
				return PaymentStatus::SUCCESS;
94 4
			case self::EXPIRED:
95 1
				return PaymentStatus::EXPIRED;
96 3
			case self::FAILED:
97 1
				return PaymentStatus::FAILURE;
98
			default:
99 2
				return null;
100
		}
101
	}
102
}
103