MangoPayConstants   B
last analyzed

Complexity

Total Complexity 38

Size/Duplication

Total Lines 389
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 38
lcom 1
cbo 0
dl 0
loc 389
rs 8.3999
c 0
b 0
f 0

24 Methods

Rating   Name   Duplication   Size   Complexity  
A getErrorCodeFriendlyReason() 0 4 1
C getErrorCodeMangoPayReason() 0 27 8
A getKYCRefusalArray() 0 19 1
C getIncomeRangeFromId() 0 27 7
A isPersonTypeOk() 0 4 1
A getPersonTypeArray() 0 7 1
A isDocumentTypeOk() 0 4 1
A getDocumentTypeArray() 0 10 1
A isEventTypeOk() 0 4 1
A isEventTypeToDoWithKYC() 0 4 1
A isEventTypeToDoWithPayInNormal() 0 4 1
A isEventTypeToDoWithPayOutNormal() 0 4 1
A isEventTypeToDoWithTransferNormal() 0 4 1
A isEventTypeToDoWithPayInRefund() 0 4 1
A isEventTypeToDoWithPayOutRefund() 0 4 1
A isEventTypeToDoWithTransferRefund() 0 4 1
A isEventTypeToDoWithPayInRepudiation() 0 4 1
A isEventTypeToDoWithDisputeDocument() 0 4 1
A isEventTypeToDoWithDispute() 0 4 1
A isEventTypeToDoWithTransferSettlement() 0 4 1
A isEventTypeToDoWithMandate() 0 4 2
A isEventTypeToDoWithPreauthorisation() 0 4 1
A isEventType() 0 5 1
A getAllEventTypes() 0 64 1
1
<?php
2
/**
3
 * Created by Graham Owens ([email protected])
4
 * Company: PartFire Ltd (www.partfire.co.uk)
5
 * Console: Discovery
6
 *
7
 * User:    gra
8
 * Date:    31/12/16
9
 * Time:    00:53
10
 * Project: PartFire MangoPay Bundle
11
 * File:    MangoPayConstants.php
12
 *
13
 **/
14
15
namespace PartFire\MangoPayBundle;
16
17
18
class MangoPayConstants
19
{
20
    const       NATURAL_PERSON_TYPE                 = 'NATURAL';
21
    const       LEGAL_PERSON_TYPE                   = 'LEGAL';
22
23
    //  https://docs.mangopay.com/endpoints/v2.01/users#e259_create-a-legal-user
24
25
    //  May also help https://www.gov.uk/business-legal-structures/overview
26
27
    const       LEGAL_PERSON_TYPE_SOLETRADER        = 'SOLETRADER';
28
    const       LEGAL_PERSON_TYPE_ORGANISATION      = 'ORGANIZATION';
29
    const       LEGAL_PERSON_TYPE_BUSINESS          = 'BUSINESS';
30
31
    //  https://docs.mangopay.com/endpoints/v2.01/users#e253_the-user-object
32
33
    const       KYC_LEVEL_LIGHT                     = 'LIGHT';
34
    const       KYC_LEVEL_REGULAR                   = 'REGULAR';
35
36
    // https://docs.mangopay.com/endpoints/v2/users#e254_the-natural-user-object
37
38
    // KYC Doc types = https://docs.mangopay.com/endpoints/v2.01/kyc-documents#e205_create-a-kyc-document
39
    const       IDENTITY_PROOF                      = 'IDENTITY_PROOF';
40
    const       REGISTRATION_PROOF                  = 'REGISTRATION_PROOF';
41
    const       ARTICLES_OF_ASSOCIATION             = 'ARTICLES_OF_ASSOCIATION';
42
    const       SHAREHOLDER_DECLARATION             = 'SHAREHOLDER_DECLARATION';
43
    const       ADDRESS_PROOF                       = 'ADDRESS_PROOF';
44
45
    // KYC Doc Refusal reasons
46
47
    const       DOCUMENT_UNREADABLE                 = 'DOCUMENT_UNREADABLE';
48
    const       DOCUMENT_NOT_ACCEPTED               = 'DOCUMENT_NOT_ACCEPTED';
49
    const       DOCUMENT_HAS_EXPIRED                = 'DOCUMENT_HAS_EXPIRED';
50
    const       DOCUMENT_INCOMPLETE                 = 'DOCUMENT_INCOMPLETE';
51
    const       DOCUMENT_MISSING                    = 'DOCUMENT_MISSING';
52
    const       DOCUMENT_DO_NOT_MATCH_USER_DATA     = 'DOCUMENT_DO_NOT_MATCH_USER_DATA';
53
    const       DOCUMENT_DO_NOT_MATCH_ACCOUNT_DATA  = 'DOCUMENT_DO_NOT_MATCH_ACCOUNT_DATA';
54
    const       SPECIFIC_CASE                       = 'SPECIFIC_CASE';
55
    const       DOCUMENT_FALSIFIED                  = 'DOCUMENT_FALSIFIED';
56
    const       UNDERAGE_PERSON                     = 'UNDERAGE_PERSON';
57
    const       OTHER                               = 'OTHER';
58
    const       TRIGGER_PEPS                        = 'TRIGGER_PEPS';
59
    const       TRIGGER_SANCTIONS_LISTS             = 'TRIGGER_SANCTIONS_LISTS';
60
    const       TRIGGER_INTERPOL                    = 'TRIGGER_INTERPOL';
61
62
    // KYC Doc Status
63
64
    const       CREATED                             = 'CREATED';
65
    const       VALIDATION_ASKED                    = 'VALIDATION_ASKED';
66
    const       VALIDATED                           = 'VALIDATED';
67
    const       REFUSED                             = 'REFUSED';
68
69
    // Hook Status
70
    const       HOOK_NEW                            = "HOOK_NEW";
71
    const       HOOK_IN_PROGRESS                    = "HOOK_IN_PROGRESS";
72
    const       HOOK_ACTIONED                       = "HOOK_ACTIONED";
73
74
    // Hook Variables
75
    // https://docs.mangopay.com/endpoints/v2.01/hooks#e246_the-hook-object
76
    const       HOOK_EVENT_TYPE                     = "EventType";
77
    const       HOOK_RESOURCE_ID                    = "RessourceId";  // Known spelling mistake in MangoPay Api
78
    const       HOOK_DATE                           = "Date";
79
80
    // Event types
81
82
    const PAYIN_NORMAL_CREATED                      = "PAYIN_NORMAL_CREATED";
83
    const PAYIN_NORMAL_SUCCEEDED                    = "PAYIN_NORMAL_SUCCEEDED";
84
    const PAYIN_NORMAL_FAILED                       = "PAYIN_NORMAL_FAILED";
85
86
    const PAYOUT_NORMAL_CREATED                     = "PAYOUT_NORMAL_CREATED";
87
    const PAYOUT_NORMAL_SUCCEEDED                   = "PAYOUT_NORMAL_SUCCEEDED";
88
    const PAYOUT_NORMAL_FAILED                      = "PAYOUT_NORMAL_FAILED";
89
90
    const TRANSFER_NORMAL_CREATED                   = "TRANSFER_NORMAL_CREATED";
91
    const TRANSFER_NORMAL_SUCCEEDED                 = "TRANSFER_NORMAL_SUCCEEDED";
92
    const TRANSFER_NORMAL_FAILED                    = "TRANSFER_NORMAL_FAILED";
93
94
    const PAYIN_REFUND_CREATED                      = "PAYIN_REFUND_CREATED";
95
    const PAYIN_REFUND_SUCCEEDED                    = "PAYIN_REFUND_SUCCEEDED";
96
    const PAYIN_REFUND_FAILED                       = "PAYIN_REFUND_FAILED";
97
98
    const PAYOUT_REFUND_CREATED                     = "PAYOUT_REFUND_CREATED";
99
    const PAYOUT_REFUND_SUCCEEDED                   = "PAYOUT_REFUND_SUCCEEDED";
100
    const PAYOUT_REFUND_FAILED                      = "PAYOUT_REFUND_FAILED";
101
102
    const TRANSFER_REFUND_CREATED                   = "TRANSFER_REFUND_CREATED";
103
    const TRANSFER_REFUND_SUCCEEDED                 = "TRANSFER_REFUND_SUCCEEDED";
104
    const TRANSFER_REFUND_FAILED                    = "TRANSFER_REFUND_FAILED";
105
106
    const PAYIN_REPUDIATION_CREATED                 = "PAYIN_REPUDIATION_CREATED";
107
    const PAYIN_REPUDIATION_SUCCEEDED               = "PAYIN_REPUDIATION_SUCCEEDED";
108
    const PAYIN_REPUDIATION_FAILED                  = "PAYIN_REPUDIATION_FAILED";
109
110
    const KYC_CREATED                               = "KYC_CREATED";
111
    const KYC_SUCCEEDED                             = "KYC_SUCCEEDED";
112
    const KYC_FAILED                                = "KYC_FAILED";
113
    const KYC_VALIDATION_ASKED                      = "KYC_VALIDATION_ASKED";
114
115
    const DISPUTE_DOCUMENT_CREATED                  = "DISPUTE_DOCUMENT_CREATED";
116
    const DISPUTE_DOCUMENT_VALIDATION_ASKED         = "DISPUTE_DOCUMENT_VALIDATION_ASKED";
117
    const DISPUTE_DOCUMENT_SUCCEEDED                = "DISPUTE_DOCUMENT_SUCCEEDED";
118
    const DISPUTE_DOCUMENT_FAILED                   = "DISPUTE_DOCUMENT_FAILED";
119
120
    const DISPUTE_CREATED                           = "DISPUTE_CREATED";
121
    const DISPUTE_SUBMITTED                         = "DISPUTE_SUBMITTED";
122
    const DISPUTE_ACTION_REQUIRED                   = "DISPUTE_ACTION_REQUIRED";
123
    const DISPUTE_FURTHER_ACTION_REQUIRED           = "DISPUTE_FURTHER_ACTION_REQUIRED";
124
    const DISPUTE_CLOSED                            = "DISPUTE_CLOSED";
125
    const DISPUTE_SENT_TO_BANK                      = "DISPUTE_SENT_TO_BANK";
126
127
    const TRANSFER_SETTLEMENT_CREATED               = "TRANSFER_SETTLEMENT_CREATED";
128
    const TRANSFER_SETTLEMENT_SUCCEEDED             = "TRANSFER_SETTLEMENT_SUCCEEDED";
129
    const TRANSFER_SETTLEMENT_FAILED                = "TRANSFER_SETTLEMENT_FAILED";
130
131
    const MANDATE_CREATED                           = "MANDATE_CREATED";
132
    const MANDATED_FAILED                           = "MANDATED_FAILED";
133
    const MANDATE_ACTIVATED                         = "MANDATE_ACTIVATED";
134
    const MANDATE_SUBMITTED                         = "MANDATE_SUBMITTED";
135
136
    const PREAUTHORIZATION_PAYMENT_WAITING          = "PREAUTHORIZATION_PAYMENT_WAITING";
137
    // (not currently available) 'PREAUTHORIZATION_PAYMENT_EXPIRED',
0 ignored issues
show
Unused Code Comprehensibility introduced by
37% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
138
    const PREAUTHORIZATION_PAYMENT_CANCELED         = "PREAUTHORIZATION_PAYMENT_CANCELED";
139
    const PREAUTHORIZATION_PAYMENT_VALIDATED        = "PREAUTHORIZATION_PAYMENT_VALIDATED";
140
141
    // PAY IN Status' CREATED, SUCCEEDED, FAILED
142
    const       NEW_WAITING                            = "NEW-WAITING-FOR-HOOK-UPDATE";
143
    const       CREATED_VERIFIED                       = "CREATED";
144
    const       SUCCEEDED_VERIFIED                     = "SUCCEEDED";
145
    const       FAILED_VERIFIED                        = "FAILED";
146
147
    // PAY IN TYPES
148
    const       PAY_IN_TYPE_CARD                        = "CARD";
149
    const       PAY_IN_TYPE_BANK_WIRE                   = "BANK_WIRE";
150
151
152
153
    public static function getErrorCodeFriendlyReason($mangoErrorCode)
0 ignored issues
show
Unused Code introduced by
The parameter $mangoErrorCode is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
154
    {
155
156
    }
157
158
    public static function getErrorCodeMangoPayReason($mangoErrorCode)
159
    {
160
        $msg = "";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
161
        switch ($mangoErrorCode) {
162
            case "001999":
163
                $msg = "Generic Operation error. Mangopay has no information for the bank yet.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
164
                break;
165
            case "001001":
166
                $msg = "Unsufficient wallet balance. The wallet balance doesn’t allow to process transaction.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
167
                break;
168
            case "001002":
169
                $msg = "Author is not the wallet owner. The user ID used as Author has to be the wallet owner.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
170
                break;
171
            case "001011":
172
                $msg = "Transaction amount is higher than maximum permitted amount.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
173
                break;
174
            case "001012":
175
                $msg = "Transaction amount is lower than minimum permitted amount.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
176
                break;
177
            case "001013":
178
                $msg = "Invalid transaction amount.";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
179
                break;
180
            case "001014":
181
                $msg = "CreditedFunds must be more than 0 (DebitedFunds can not equal Fees).";
0 ignored issues
show
Unused Code introduced by
$msg is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
182
                break;
183
        }
184
    }
185
186
    public static function getKYCRefusalArray() : array
187
    {
188
        return [
189
            self::DOCUMENT_UNREADABLE,
190
            self::DOCUMENT_NOT_ACCEPTED,
191
            self::DOCUMENT_HAS_EXPIRED,
192
            self::DOCUMENT_INCOMPLETE,
193
            self::DOCUMENT_MISSING,
194
            self::DOCUMENT_DO_NOT_MATCH_USER_DATA,
195
            self::DOCUMENT_DO_NOT_MATCH_ACCOUNT_DATA,
196
            self::SPECIFIC_CASE,
197
            self::DOCUMENT_FALSIFIED,
198
            self::UNDERAGE_PERSON,
199
            self::OTHER,
200
            self::TRIGGER_PEPS,
201
            self::TRIGGER_SANCTIONS_LISTS,
202
            self::TRIGGER_INTERPOL
203
        ];
204
    }
205
206
    public static function getIncomeRangeFromId(int $id) : string
207
    {
208
        switch ($id) {
209
            case 1:
210
                $range = "incomes <18K€";
211
                break;
212
            case 2:
213
                $range = "incomes between 18 and 30K€";
214
                break;
215
            case 3:
216
                $range = "incomes between 30 and 50K€";
217
                break;
218
            case 4:
219
                $range = "incomes between 50 and 80K€";
220
                break;
221
            case 5:
222
                $range = "incomes between 80 and 120K€";
223
                break;
224
            case 6:
225
                $range = "incomes>120K€";
226
                break;
227
            default:
228
                $range = "Unknown range";
229
        }
230
231
        return $range;
232
    }
233
234
    public static function isPersonTypeOk($personType)
235
    {
236
        return in_array($personType, self::getPersonTypeArray());
237
    }
238
239
    public static function getPersonTypeArray()
240
    {
241
        return [
242
            self::NATURAL_PERSON_TYPE,
243
            self::LEGAL_PERSON_TYPE
244
        ];
245
    }
246
247
    public static function isDocumentTypeOk($documentType)
248
    {
249
        return in_array($documentType, self::getDocumentTypeArray());
250
    }
251
252
    public static function getDocumentTypeArray()
253
    {
254
        return [
255
            self::IDENTITY_PROOF,
256
            self::REGISTRATION_PROOF,
257
            self::ARTICLES_OF_ASSOCIATION,
258
            self::SHAREHOLDER_DECLARATION,
259
            self::ADDRESS_PROOF
260
        ];
261
    }
262
263
    //  https://docs.mangopay.com/endpoints/v2.01/hooks#e246_the-hook-object
264
    // 16th Jan 2017
265
266
    public static function isEventTypeOk($eventType)
267
    {
268
        return in_array($eventType, self::getAllEventTypes());
269
    }
270
271
    public static function isEventTypeToDoWithKYC($eventType)
272
    {
273
        return self::isEventType("KYC_", $eventType);
274
    }
275
276
    public static function isEventTypeToDoWithPayInNormal($eventType)
277
    {
278
        return self::isEventType("PAYIN_NORMAL_", $eventType);
279
    }
280
281
    public static function isEventTypeToDoWithPayOutNormal($eventType)
282
    {
283
        return self::isEventType("PAYOUT_NORMAL_", $eventType);
284
    }
285
286
    public static function isEventTypeToDoWithTransferNormal($eventType)
287
    {
288
        return self::isEventType("TRANSFER_NORMAL_", $eventType);
289
    }
290
291
    public static function isEventTypeToDoWithPayInRefund($eventType)
292
    {
293
        return self::isEventType("PAYIN_REFUND_", $eventType);
294
    }
295
296
    public static function isEventTypeToDoWithPayOutRefund($eventType)
297
    {
298
        return self::isEventType("PAYOUT_REFUND_", $eventType);
299
    }
300
301
    public static function isEventTypeToDoWithTransferRefund($eventType)
302
    {
303
        return self::isEventType("TRANSFER_REFUND_", $eventType);
304
    }
305
306
    public static function isEventTypeToDoWithPayInRepudiation($eventType)
307
    {
308
        return self::isEventType("PAYIN_REPUDIATION_", $eventType);
309
    }
310
311
    public static function isEventTypeToDoWithDisputeDocument($eventType)
312
    {
313
        return self::isEventType("DISPUTE_DOCUMENT_", $eventType);
314
    }
315
316
    public static function isEventTypeToDoWithDispute($eventType)
317
    {
318
        return self::isEventType("DISPUTE_", $eventType);
319
    }
320
321
    public static function isEventTypeToDoWithTransferSettlement($eventType)
322
    {
323
        return self::isEventType("TRANSFER_SETTLEMENT_", $eventType);
324
    }
325
326
    public static function isEventTypeToDoWithMandate($eventType)
327
    {
328
        return self::isEventType("MANDATE_", $eventType) || self::isEventType("MANDATED_", $eventType);
329
    }
330
331
    public static function isEventTypeToDoWithPreauthorisation($eventType)
332
    {
333
        return self::isEventType("PREAUTHORIZATION_", $eventType);
334
    }
335
336
    private static function isEventType($compareToEvent, $eventName)
337
    {
338
        $compareToEventLength = strlen($compareToEvent);
339
        return substr($eventName, 0, $compareToEventLength) === $compareToEvent;
340
    }
341
342
    public static function getAllEventTypes()
343
    {
344
        return [
345
            self::PAYIN_NORMAL_CREATED,
346
            self::PAYIN_NORMAL_SUCCEEDED,
347
            self::PAYIN_NORMAL_FAILED,
348
349
            self::PAYOUT_NORMAL_CREATED,
350
            self::PAYOUT_NORMAL_SUCCEEDED,
351
            self::PAYOUT_NORMAL_FAILED,
352
353
            self::TRANSFER_NORMAL_CREATED,
354
            self::TRANSFER_NORMAL_SUCCEEDED,
355
            self::TRANSFER_NORMAL_FAILED,
356
357
            self::PAYIN_REFUND_CREATED,
358
            self::PAYIN_REFUND_SUCCEEDED,
359
            self::PAYIN_REFUND_FAILED,
360
361
            self::PAYOUT_REFUND_CREATED,
362
            self::PAYOUT_REFUND_SUCCEEDED,
363
            self::PAYOUT_REFUND_FAILED,
364
365
            self::TRANSFER_REFUND_CREATED,
366
            self::TRANSFER_REFUND_SUCCEEDED,
367
            self::TRANSFER_REFUND_FAILED,
368
369
            self::PAYIN_REPUDIATION_CREATED,
370
            self::PAYIN_REPUDIATION_SUCCEEDED,
371
            self::PAYIN_REPUDIATION_FAILED,
372
373
            self::KYC_CREATED,
374
            self::KYC_SUCCEEDED,
375
            self::KYC_FAILED,
376
            self::KYC_VALIDATION_ASKED,
377
378
            self::DISPUTE_DOCUMENT_CREATED,
379
            self::DISPUTE_DOCUMENT_VALIDATION_ASKED,
380
            self::DISPUTE_DOCUMENT_SUCCEEDED,
381
            self::DISPUTE_DOCUMENT_FAILED,
382
383
            self::DISPUTE_CREATED,
384
            self::DISPUTE_SUBMITTED,
385
            self::DISPUTE_ACTION_REQUIRED,
386
            self::DISPUTE_FURTHER_ACTION_REQUIRED,
387
            self::DISPUTE_CLOSED,
388
            self::DISPUTE_SENT_TO_BANK,
389
390
            self::TRANSFER_SETTLEMENT_CREATED,
391
            self::TRANSFER_SETTLEMENT_SUCCEEDED,
392
            self::TRANSFER_SETTLEMENT_FAILED,
393
394
            self::MANDATE_CREATED,
395
            self::MANDATED_FAILED,
396
            self::MANDATE_ACTIVATED,
397
            self::MANDATE_SUBMITTED,
398
399
            self::PREAUTHORIZATION_PAYMENT_WAITING,
400
            // (not currently available) 'PREAUTHORIZATION_PAYMENT_EXPIRED',
0 ignored issues
show
Unused Code Comprehensibility introduced by
37% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
401
            self::PREAUTHORIZATION_PAYMENT_CANCELED,
402
            self::PREAUTHORIZATION_PAYMENT_VALIDATED
403
404
        ];
405
    }
406
}