Address.php
5 years ago
Company.php
5 years ago
Internet.php
5 years ago
Payment.php
5 years ago
Person.php
5 years ago
PhoneNumber.php
5 years ago
Text.php
5 years ago
Payment.php
121 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Faker\Provider\pl_PL; |
| 4 | |
| 5 | class Payment extends \Faker\Provider\Payment |
| 6 | { |
| 7 | /** |
| 8 | * @var array list of Polish banks, source: https://ewib.nbp.pl/ |
| 9 | */ |
| 10 | protected static $banks = array( |
| 11 | '101' => 'Narodowy Bank Polski', |
| 12 | '102' => 'Powszechna Kasa Oszczędności Bank Polski SA', |
| 13 | '103' => 'Bank Handlowy w Warszawie SA', |
| 14 | '105' => 'ING Bank Śl� |
| 15 | ski SA', |
| 16 | '106' => 'Bank BPH SA', |
| 17 | '109' => 'Bank Zachodni WBK SA', |
| 18 | '113' => 'Bank Gospodarstwa Krajowego', |
| 19 | '114' => 'mBank SA', |
| 20 | '116' => 'Bank Millennium SA', |
| 21 | '122' => 'Bank Handlowo-Kredytowy Spółka Akcyjna w Katowicach w likwidacji', |
| 22 | '124' => 'Bank Polska Kasa Opieki SA', |
| 23 | '128' => 'HSBC Bank Polska SA', |
| 24 | '132' => 'Bank Pocztowy SA', |
| 25 | '147' => 'Euro Bank SA', |
| 26 | '154' => 'Bank Ochrony Środowiska SA', |
| 27 | '158' => 'Mercedes-Benz Bank Polska SA', |
| 28 | '161' => 'SGB-Bank SA', |
| 29 | '167' => 'RBS Bank (Polska) SA', |
| 30 | '168' => 'PLUS BANK SA', |
| 31 | '175' => 'Raiffeisen Bank Polska SA', |
| 32 | '184' => 'Societe Generale SA Oddział w Polsce', |
| 33 | '187' => 'Nest Bank S.A.', |
| 34 | '189' => 'Pekao Bank Hipoteczny SA', |
| 35 | '191' => 'Deutsche Bank Polska SA', |
| 36 | '193' => 'BANK POLSKIEJ SPÓŁDZIELCZOŚCI SA', |
| 37 | '194' => 'Credit Agricole Bank Polska SA', |
| 38 | '195' => 'Idea Bank SA', |
| 39 | '203' => 'Bank BGŻ BNP Paribas SA', |
| 40 | '212' => 'Santander Consumer Bank SA', |
| 41 | '213' => 'VOLKSWAGEN BANK POLSKA SA', |
| 42 | '214' => 'FCA-Group Bank Polska SA', |
| 43 | '215' => 'mBank Hipoteczny SA', |
| 44 | '216' => 'Toyota Bank Polska SA', |
| 45 | '219' => 'DNB Bank Polska SA', |
| 46 | '224' => 'Banque PSA Finance SA Oddział w Polsce', |
| 47 | '225' => 'Svenska Handelsbanken AB SA Oddział w Polsce', |
| 48 | '229' => 'BPI Bank Polskich Inwestycji SA', |
| 49 | '232' => 'Nykredit Realkredit A/S SA - Oddział w Polsce', |
| 50 | '235' => 'BNP PARIBAS SA Oddział w Polsce', |
| 51 | '236' => 'Danske Bank A/S SA Oddział w Polsce', |
| 52 | '237' => 'Skandinaviska Enskilda Banken AB (SA) - Oddział w Polsce', |
| 53 | '239' => 'CAIXABANK, S.A. (SPÓŁKA AKCYJNA)ODDZIAŁ W POLSCE', |
| 54 | '241' => 'Elavon Financial Services Designated Activity Company (spółka z o.o. o wyznaczonym przedmiocie działalności) Oddział w Polsce', |
| 55 | '243' => 'BNP Paribas Securities Services SKA Oddział w Polsce', |
| 56 | '247' => 'HAITONG BANK, S.A. Spółka Akcyjna Oddział w Polsce', |
| 57 | '248' => 'Getin Noble Bank SA', |
| 58 | '249' => 'Alior Bank SA', |
| 59 | '251' => 'Aareal Bank Aktiengesellschaft (Spółka Akcyjna) - Oddział w Polsce', |
| 60 | '254' => 'Citibank Europe plc (Publiczna Spółka Akcyjna) Oddział w Polsce', |
| 61 | '255' => 'Ikano Bank AB (publ) Spółka Akcyjna Oddział w Polsce', |
| 62 | '256' => 'Nordea Bank AB SA Oddział w Polsce', |
| 63 | '257' => 'UBS Limited (spółka z ograniczon� |
| 64 | odpowiedzialności� |
| 65 | ) Oddział w Polsce', |
| 66 | '258' => 'J.P. Morgan Europe Limited Sp. z o.o. Oddział w Polsce', |
| 67 | '260' => 'Bank of China (Luxembourg) S.A. Spółka Akcyjna Oddział w Polsce', |
| 68 | '262' => 'Industrial and Commercial Bank of China (Europe) S.A. (Spółka Akcyjna) Oddział w Polsce', |
| 69 | '263' => 'Saxo Bank A/S Spółka Akcyjna Oddział w Polsce w likwidacji', |
| 70 | '264' => 'RCI Banque Spółka Akcyjna Oddział w Polsce', |
| 71 | '265' => 'EUROCLEAR Bank SA/NV (Spółka Akcyjna) - Oddział w Polsce', |
| 72 | '266' => 'Intesa Sanpaolo S.p.A. Spółka Akcyjna Oddział w Polsce', |
| 73 | '267' => 'Western Union International Bank GmbH, Sp. z o.o. Oddział w Polsce', |
| 74 | '269' => 'PKO Bank Hipoteczny SA', |
| 75 | '270' => 'TF BANK AB (Spółka z ograniczon� |
| 76 | odpowiedzialności� |
| 77 | ) Oddział w Polsce', |
| 78 | '271' => 'FCE Bank Spółka Akcyjna Oddział w Polsce', |
| 79 | '272' => 'AS Inbank Spółka Akcyjna - Oddział w Polsce', |
| 80 | '273' => 'China Construction Bank (Europe) S.A. (Spółka Akcyjna) Oddział w Polsce', |
| 81 | '274' => 'MUFG Bank (Europe) N.V. S.A. Oddział w Polsce', |
| 82 | '275' => 'John Deere Bank S.A. Spółka Akcyjna Oddział w Polsce', |
| 83 | ); |
| 84 | |
| 85 | /** |
| 86 | * @example 'Euro Bank SA' |
| 87 | */ |
| 88 | public static function bank() |
| 89 | { |
| 90 | return static::randomElement(static::$banks); |
| 91 | } |
| 92 | |
| 93 | /** |
| 94 | * International Bank Account Number (IBAN) |
| 95 | * @link http://en.wikipedia.org/wiki/International_Bank_Account_Number |
| 96 | * @param string $prefix for generating bank account number of a specific bank |
| 97 | * @param string $countryCode ISO 3166-1 alpha-2 country code |
| 98 | * @param integer $length total length without country code and 2 check digits |
| 99 | * @return string |
| 100 | */ |
| 101 | public static function bankAccountNumber($prefix = '', $countryCode = 'PL', $length = null) |
| 102 | { |
| 103 | return static::iban($countryCode, $prefix, $length); |
| 104 | } |
| 105 | |
| 106 | protected static function addBankCodeChecksum($iban, $countryCode = 'PL') |
| 107 | { |
| 108 | if ($countryCode != 'PL' || strlen($iban) <= 8) { |
| 109 | return $iban; |
| 110 | } |
| 111 | $checksum = 0; |
| 112 | $weights = array(7, 1, 3, 9, 7, 1, 3); |
| 113 | for ($i = 0; $i < 7; $i++) { |
| 114 | $checksum += $weights[$i] * (int) $iban[$i]; |
| 115 | } |
| 116 | $checksum = $checksum % 10; |
| 117 | |
| 118 | return substr($iban, 0, 7) . $checksum . substr($iban, 8); |
| 119 | } |
| 120 | } |
| 121 |