Passed
Push — master ( 0a093e...5b59e5 )
by Carl
02:51
created

MangoPayConstants.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

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
    public static function getIncomeRangeFromId(int $id) : string
46
    {
47
        switch ($id) {
48
            case 1:
49
                $range = "incomes <18K€";
50
                break;
51
            case 2:
52
                $range = "incomes between 18 and 30K€";
53
                break;
54
            case 3:
55
                $range = "incomes between 30 and 50K€";
56
                break;
57
            case 4:
58
                $range = "incomes between 50 and 80K€";
59
                break;
60
            case 5:
61
                $range = "incomes between 80 and 120K€";
62
                break;
63
            case 6:
64
                $range = "incomes>120K€";
65
                break;
66
            default:
67
                $range = "Unknown range";
68
        }
69
70
        return $range;
71
    }
72
73
    public static function isPersonTypeOk($personType)
74
    {
75
        return in_array($personType, self::getPersonTypeArray());
76
    }
77
78
    public static function getPersonTypeArray()
79
    {
80
        return [
81
            self::NATURAL_PERSON_TYPE,
82
            self::LEGAL_PERSON_TYPE
83
        ];
84
    }
85
86
    public static function isDocumentTypeOk($documentType)
87
    {
88
        return in_array($documentType, self::getDocumentTypeArray());
89
    }
90
91
    public static function getDocumentTypeArray()
92
    {
93
        return [
94
            self::IDENTITY_PROOF,
95
            self::REGISTRATION_PROOF,
96
            self::ARTICLES_OF_ASSOCIATION,
97
            self::SHAREHOLDER_DECLARATION,
98
            self::ADDRESS_PROOF
99
        ];
100
    }
101
102
    //  https://docs.mangopay.com/endpoints/v2.01/hooks#e246_the-hook-object
103
    // 16th Jan 2017
104
105
    public static function getAllEventTypes()
106
    {
107
        return [
108
            'PAYIN_NORMAL_CREATED',
109
            'PAYIN_NORMAL_SUCCEEDED',
110
            'PAYIN_NORMAL_FAILED',
111
112
            'PAYOUT_NORMAL_CREATED',
113
            'PAYOUT_NORMAL_SUCCEEDED',
114
            'PAYOUT_NORMAL_FAILED',
115
116
            'TRANSFER_NORMAL_CREATED',
117
            'TRANSFER_NORMAL_SUCCEEDED',
118
            'TRANSFER_NORMAL_FAILED',
119
120
            'PAYIN_REFUND_CREATED',
121
            'PAYIN_REFUND_SUCCEEDED',
122
            'PAYIN_REFUND_FAILED',
123
124
            'PAYOUT_REFUND_CREATED',
125
            'PAYOUT_REFUND_SUCCEEDED',
126
            'PAYOUT_REFUND_FAILED',
127
128
            'TRANSFER_REFUND_CREATED',
129
            'TRANSFER_REFUND_SUCCEEDED',
130
            'TRANSFER_REFUND_FAILED',
131
132
            'PAYIN_REPUDIATION_CREATED',
133
            'PAYIN_REPUDIATION_SUCCEEDED',
134
            'PAYIN_REPUDIATION_FAILED',
135
136
            'KYC_CREATED',
137
            'KYC_SUCCEEDED',
138
            'KYC_FAILED',
139
            'KYC_VALIDATION_ASKED',
140
141
            'DISPUTE_DOCUMENT_CREATED',
142
            'DISPUTE_DOCUMENT_VALIDATION_ASKED',
143
            'DISPUTE_DOCUMENT_SUCCEEDED',
144
            'DISPUTE_DOCUMENT_FAILED',
145
146
            'DISPUTE_CREATED',
147
            'DISPUTE_SUBMITTED',
148
            'DISPUTE_ACTION_REQUIRED',
149
            'DISPUTE_FURTHER_ACTION_REQUIRED',
150
            'DISPUTE_CLOSED',
151
            'DISPUTE_SENT_TO_BANK',
152
153
            'TRANSFER_SETTLEMENT_CREATED',
154
            'TRANSFER_SETTLEMENT_SUCCEEDED',
155
            'TRANSFER_SETTLEMENT_FAILED',
156
157
            'MANDATE_CREATED',
158
            'MANDATED_FAILED',
159
            'MANDATE_ACTIVATED',
160
            'MANDATE_SUBMITTED',
161
162
            'PREAUTHORIZATION_PAYMENT_WAITING',
163
            // (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...
164
            'PREAUTHORIZATION_PAYMENT_CANCELED',
165
            'PREAUTHORIZATION_PAYMENT_VALIDATED',
166
167
        ];
168
    }
169
}