| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider\ms_MY;
|
|
|
4 |
|
|
|
5 |
class Payment extends \Faker\Provider\Payment
|
|
|
6 |
{
|
|
|
7 |
protected static $bankFormats = [
|
|
|
8 |
'{{localBank}}',
|
|
|
9 |
'{{foreignBank}}',
|
|
|
10 |
'{{governmentBank}}',
|
|
|
11 |
];
|
|
|
12 |
|
|
|
13 |
/**
|
|
|
14 |
* @see http://www.muamalat.com.my/consumer-banking/internet-banking/popup-ibg.html
|
|
|
15 |
*/
|
|
|
16 |
protected static $bankAccountNumberFormats = [
|
|
|
17 |
'##########',
|
|
|
18 |
'###########',
|
|
|
19 |
'############',
|
|
|
20 |
'#############',
|
|
|
21 |
'##############',
|
|
|
22 |
'###############',
|
|
|
23 |
'################',
|
|
|
24 |
];
|
|
|
25 |
|
|
|
26 |
/**
|
|
|
27 |
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Malaysia
|
|
|
28 |
*/
|
|
|
29 |
protected static $localBanks = [
|
|
|
30 |
'Affin Bank',
|
|
|
31 |
'Alliance Bank',
|
|
|
32 |
'AmBank',
|
|
|
33 |
'CIMB Bank',
|
|
|
34 |
'Hong Leong Bank ',
|
|
|
35 |
'Maybank',
|
|
|
36 |
'Public Bank',
|
|
|
37 |
'RHB Bank',
|
|
|
38 |
];
|
|
|
39 |
|
|
|
40 |
/**
|
|
|
41 |
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Malaysia#List_of_foreign_banks_(commercial)
|
|
|
42 |
*/
|
|
|
43 |
protected static $foreignBanks = [
|
|
|
44 |
'Bangkok Bank Berhad',
|
|
|
45 |
'Bank of America Malaysia Berhad',
|
|
|
46 |
'Bank of China (Malaysia) Berhad',
|
|
|
47 |
'Bank of Tokyo-Mitsubishi UFJ (Malaysia) Berhad',
|
|
|
48 |
'BNP Paribas Malaysia Berhad',
|
|
|
49 |
'China Construction Bank',
|
|
|
50 |
'Citibank Berhad',
|
|
|
51 |
'Deutsche Bank (Malaysia) Berhad',
|
|
|
52 |
'HSBC Bank Malaysia Berhad',
|
|
|
53 |
'India International Bank (Malaysia) Berhad',
|
|
|
54 |
'Industrial and Commercial Bank of China (Malaysia) Berhad',
|
|
|
55 |
'J.P. Morgan Chase Bank Berhad',
|
|
|
56 |
'Mizuho Bank (Malaysia) Berhad',
|
|
|
57 |
'National Bank of Abu Dhabi Malaysia Berhad',
|
|
|
58 |
'OCBC Bank (Malaysia) Berhad',
|
|
|
59 |
'Standard Chartered Bank Malaysia Berhad',
|
|
|
60 |
'Sumitomo Mitsui Banking Corporation Malaysia Berhad',
|
|
|
61 |
'The Bank of Nova Scotia Berhad',
|
|
|
62 |
'United Overseas Bank (Malaysia) Bhd.',
|
|
|
63 |
];
|
|
|
64 |
|
|
|
65 |
/**
|
|
|
66 |
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Malaysia#Development_Financial_Institutions_(Government-owned_banks)_(full_list)
|
|
|
67 |
*/
|
|
|
68 |
protected static $governmentBanks = [
|
|
|
69 |
'Agro Bank Malaysia',
|
|
|
70 |
'Bank Pembangunan Malaysia Berhad (BPMB) (The development bank of Malaysia)',
|
|
|
71 |
'Bank Rakyat',
|
|
|
72 |
'Bank Simpanan Nasional',
|
|
|
73 |
'Credit Guarantee Corporation Malaysia Berhad (CGC)',
|
|
|
74 |
'Export-Import Bank of Malaysia Berhad (Exim Bank)',
|
|
|
75 |
'Malaysia Debt Ventures Berhad',
|
|
|
76 |
'Malaysian Industrial Development Finance Berhad (MIDF)',
|
|
|
77 |
'SME Bank Berhad',
|
|
|
78 |
'Sabah Development Bank Berhad (SDB)',
|
|
|
79 |
'Sabah Credit Corporation (SCC)',
|
|
|
80 |
'Tabung Haji',
|
|
|
81 |
];
|
|
|
82 |
|
|
|
83 |
/**
|
|
|
84 |
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Malaysia#Investment-Link_Funds_(Insurance_Companies_-_Takaful_included)
|
|
|
85 |
*/
|
|
|
86 |
protected static $insuranceCompanies = [
|
|
|
87 |
'AIA Malaysia',
|
|
|
88 |
'AIG Malaysia',
|
|
|
89 |
'Allianz Malaysia',
|
|
|
90 |
'AXA AFFIN Life Insurance',
|
|
|
91 |
'Berjaya General Insurance',
|
|
|
92 |
'Etiqa Insurance',
|
|
|
93 |
'Great Eastern Insurance',
|
|
|
94 |
'Hong Leong Assurance',
|
|
|
95 |
'Kurnia Insurans Malaysia',
|
|
|
96 |
'Manulife Malaysia Insurance',
|
|
|
97 |
'MSIG Malaysia',
|
|
|
98 |
'Prudential Malaysia',
|
|
|
99 |
'Tokio Marine Life Malaysia Insurance',
|
|
|
100 |
'UNI.ASIA General Insurance',
|
|
|
101 |
'Zurich Insurance Malaysia',
|
|
|
102 |
];
|
|
|
103 |
|
|
|
104 |
/**
|
|
|
105 |
* @see http://www.bankswiftcode.org/malaysia/
|
|
|
106 |
*/
|
|
|
107 |
protected static $swiftCodes = [
|
|
|
108 |
'ABNAMY2AXXX', 'ABNAMYKLPNG', 'ABNAMYKLXXX', 'AFBQMYKLXXX', 'AIBBMYKLXXX',
|
|
|
109 |
'AISLMYKLXXX', 'AMMBMYKLXXX', 'ARBKMYKLXXX',
|
|
|
110 |
'BIMBMYKLXXX', 'BISLMYKAXXX', 'BKCHMYKLXXX', 'BKKBMYKLXXX', 'BMMBMYKLXXX',
|
|
|
111 |
'BNMAMYKLXXX', 'BNPAMYKAXXX', 'BOFAMY2XLBN', 'BOFAMY2XXXX', 'BOTKMYKAXXX',
|
|
|
112 |
'BOTKMYKXXXX',
|
|
|
113 |
'CHASMYKXKEY', 'CHASMYKXXXX', 'CIBBMYKAXXX', 'CIBBMYKLXXX', 'CITIMYKLJOD',
|
|
|
114 |
'CITIMYKLLAB', 'CITIMYKLPEN', 'CITIMYKLXXX', 'COIMMYKLXXX', 'CTBBMYKLXXX',
|
|
|
115 |
'DABEMYKLXXX', 'DBSSMY2AXXX', 'DEUTMYKLBLB', 'DEUTMYKLGMO', 'DEUTMYKLISB',
|
|
|
116 |
'DEUTMYKLXXX',
|
|
|
117 |
'EIBBMYKLXXX', 'EOBBMYKLXXX', 'EXMBMYKLXXX',
|
|
|
118 |
'FEEBMYKAXXX',
|
|
|
119 |
'HBMBMYKLXXX', 'HDSBMY2PSEL', 'HDSBMY2PXXX', 'HLBBMYKLIBU', 'HLBBMYKLJBU',
|
|
|
120 |
'HLBBMYKLKCH', 'HLBBMYKLPNG', 'HLBBMYKLXXX', 'HLIBMYKLXXX', 'HMABMYKLXXX',
|
|
|
121 |
'HSBCMYKAXXX', 'HSTMMYKLGWS', 'HSTMMYKLXXX',
|
|
|
122 |
'KAFBMYKLXXX', 'KFHOMYKLXXX',
|
|
|
123 |
'MBBEMYKAXXX', 'MBBEMYKLBAN', 'MBBEMYKLBBG', 'MBBEMYKLBWC', 'MBBEMYKLCSD',
|
|
|
124 |
'MBBEMYKLIPH', 'MBBEMYKLJOB', 'MBBEMYKLKEP', 'MBBEMYKLKIN', 'MBBEMYKLKLC',
|
|
|
125 |
'MBBEMYKLMAL', 'MBBEMYKLPEN', 'MBBEMYKLPGC', 'MBBEMYKLPJC', 'MBBEMYKLPJY',
|
|
|
126 |
'MBBEMYKLPKG', 'MBBEMYKLPSG', 'MBBEMYKLPUD', 'MBBEMYKLSAC', 'MBBEMYKLSBN',
|
|
|
127 |
'MBBEMYKLSHA', 'MBBEMYKLSUB', 'MBBEMYKLWSD', 'MBBEMYKLXXX', 'MBBEMYKLYSL',
|
|
|
128 |
'MFBBMYKLXXX', 'MHCBMYKAXXX',
|
|
|
129 |
'NOSCMY2LXXX', 'NOSCMYKLXXX',
|
|
|
130 |
'OABBMYKLXXX', 'OCBCMYKLXXX', 'OSKIMYKLXXX',
|
|
|
131 |
'PBBEMYKLXXX', 'PBLLMYKAXXX', 'PCGLMYKLXXX', 'PERMMYKLXXX', 'PHBMMYKLXXX',
|
|
|
132 |
'PTRDMYKLXXX', 'PTROMYKLFSD', 'PTROMYKLXXX',
|
|
|
133 |
'RHBAMYKLXXX', 'RHBBMYKAXXX', 'RHBBMYKLXXX', 'RJHIMYKLXXX',
|
|
|
134 |
'SCBLMYKXLAB', 'SCBLMYKXXXX', 'SMBCMYKAXXX',
|
|
|
135 |
'UIIBMYKLXXX', 'UOVBMYKLCND', 'UOVBMYKLXXX',
|
|
|
136 |
];
|
|
|
137 |
|
|
|
138 |
/**
|
|
|
139 |
* @see https://en.wikipedia.org/wiki/Malaysian_ringgit
|
|
|
140 |
*/
|
|
|
141 |
protected static $currencySymbol = [
|
|
|
142 |
'RM',
|
|
|
143 |
];
|
|
|
144 |
|
|
|
145 |
/**
|
|
|
146 |
* Return a Malaysian Bank
|
|
|
147 |
*
|
|
|
148 |
* @example 'Maybank'
|
|
|
149 |
*
|
|
|
150 |
* @return string
|
|
|
151 |
*/
|
|
|
152 |
public function bank()
|
|
|
153 |
{
|
|
|
154 |
$formats = static::randomElement(static::$bankFormats);
|
|
|
155 |
|
|
|
156 |
return $this->generator->parse($formats);
|
|
|
157 |
}
|
|
|
158 |
|
|
|
159 |
/**
|
|
|
160 |
* Return a Malaysian Bank account number
|
|
|
161 |
*
|
|
|
162 |
* @example '1234567890123456'
|
|
|
163 |
*
|
|
|
164 |
* @return string
|
|
|
165 |
*/
|
|
|
166 |
public function bankAccountNumber()
|
|
|
167 |
{
|
|
|
168 |
$formats = static::randomElement(static::$bankAccountNumberFormats);
|
|
|
169 |
|
|
|
170 |
return static::numerify($formats);
|
|
|
171 |
}
|
|
|
172 |
|
|
|
173 |
/**
|
|
|
174 |
* Return a Malaysian Local Bank
|
|
|
175 |
*
|
|
|
176 |
* @example 'Public Bank'
|
|
|
177 |
*
|
|
|
178 |
* @return string
|
|
|
179 |
*/
|
|
|
180 |
public static function localBank()
|
|
|
181 |
{
|
|
|
182 |
return static::randomElement(static::$localBanks);
|
|
|
183 |
}
|
|
|
184 |
|
|
|
185 |
/**
|
|
|
186 |
* Return a Malaysian Foreign Bank
|
|
|
187 |
*
|
|
|
188 |
* @example 'Citibank Berhad'
|
|
|
189 |
*
|
|
|
190 |
* @return string
|
|
|
191 |
*/
|
|
|
192 |
public static function foreignBank()
|
|
|
193 |
{
|
|
|
194 |
return static::randomElement(static::$foreignBanks);
|
|
|
195 |
}
|
|
|
196 |
|
|
|
197 |
/**
|
|
|
198 |
* Return a Malaysian Government Bank
|
|
|
199 |
*
|
|
|
200 |
* @example 'Bank Simpanan Nasional'
|
|
|
201 |
*
|
|
|
202 |
* @return string
|
|
|
203 |
*/
|
|
|
204 |
public static function governmentBank()
|
|
|
205 |
{
|
|
|
206 |
return static::randomElement(static::$governmentBanks);
|
|
|
207 |
}
|
|
|
208 |
|
|
|
209 |
/**
|
|
|
210 |
* Return a Malaysian insurance company
|
|
|
211 |
*
|
|
|
212 |
* @example 'AIA Malaysia'
|
|
|
213 |
*
|
|
|
214 |
* @return string
|
|
|
215 |
*/
|
|
|
216 |
public static function insurance()
|
|
|
217 |
{
|
|
|
218 |
return static::randomElement(static::$insuranceCompanies);
|
|
|
219 |
}
|
|
|
220 |
|
|
|
221 |
/**
|
|
|
222 |
* Return a Malaysian Bank SWIFT Code
|
|
|
223 |
*
|
|
|
224 |
* @example 'MBBEMYKLXXX'
|
|
|
225 |
*
|
|
|
226 |
* @return string
|
|
|
227 |
*/
|
|
|
228 |
public static function swiftCode()
|
|
|
229 |
{
|
|
|
230 |
return static::toUpper(static::lexify(static::randomElement(static::$swiftCodes)));
|
|
|
231 |
}
|
|
|
232 |
|
|
|
233 |
/**
|
|
|
234 |
* Return the Malaysian currency symbol
|
|
|
235 |
*
|
|
|
236 |
* @example 'RM'
|
|
|
237 |
*
|
|
|
238 |
* @return string
|
|
|
239 |
*/
|
|
|
240 |
public static function currencySymbol()
|
|
|
241 |
{
|
|
|
242 |
return static::randomElement(static::$currencySymbol);
|
|
|
243 |
}
|
|
|
244 |
}
|