Пример #1
0
 public function generateIban()
 {
     if (substr($this->bankAccountNumber, 3, 1) == '0') {
         $this->bankAccountNumber = substr($this->bankAccountNumber, 0, 3) . substr($this->bankAccountNumber, 4);
     }
     return parent::generateIban();
 }
Пример #2
0
 public function generateIban()
 {
     if (strlen($this->bankAccountNumber) != $this->getBankAccountNumberLength()) {
         return "";
     }
     return parent::generateIban();
 }
Пример #3
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     if (intval($bankAccountNumber) >= 800000000 && intval($bankAccountNumber) <= 899999999) {
         $instituteIdentification = "70020270";
     }
     parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
 }
Пример #4
0
 public function generateIban()
 {
     if ($this->bankAccountNumberEquals('55111') || $this->bankAccountNumberEquals('8090100')) {
         // TODO skip bankAccountNumber validation (is not implemented yet)
     }
     return parent::generateIban();
 }
Пример #5
0
 public function generateIban()
 {
     if ($this->instituteIdentificationEquals('50130100') || $this->instituteIdentificationEquals('50220200') || $this->instituteIdentificationEquals('70030800')) {
         $this->instituteIdentification = '50120383';
     }
     return parent::generateIban();
 }
Пример #6
0
 public function generateIban()
 {
     if ($this->instituteIdentificationEquals('62220000')) {
         return "DE96500604000000011404";
     }
     return parent::generateIban();
 }
Пример #7
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     if ($instituteIdentification == '50810900') {
         $instituteIdentification = '66010200';
     }
     parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
 }
Пример #8
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     if (strlen($bankAccountNumber) == 8) {
         $bankAccountNumber = str_pad($bankAccountNumber, $this->getBankAccountNumberLength(), '0', STR_PAD_RIGHT);
     }
     parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
 }
Пример #9
0
 public function generateIban()
 {
     if (intval($this->bankAccountNumber) >= 800000000 && intval($this->bankAccountNumber) <= 899999999) {
         return "";
     }
     return parent::generateIban();
 }
Пример #10
0
 public function generateIban()
 {
     if ($this->bankAccountNumberEquals('6161604670')) {
         return '';
     } else {
         return parent::generateIban();
     }
 }
Пример #11
0
 public function generateIban()
 {
     $floatBankAccountNumber = floatval($this->bankAccountNumber);
     if ($floatBankAccountNumber < 99999 || $floatBankAccountNumber >= 900000 && $floatBankAccountNumber <= 29999999 || $floatBankAccountNumber >= 60000000 && $floatBankAccountNumber <= 99999999 || $floatBankAccountNumber >= 900000000 && $floatBankAccountNumber <= 999999999 || $floatBankAccountNumber >= 2000000000 && $floatBankAccountNumber <= 2999999999 || $floatBankAccountNumber >= 7100000000 && $floatBankAccountNumber <= 8499999999 || $floatBankAccountNumber >= 8600000000 && $floatBankAccountNumber <= 8999999999) {
         return "";
     }
     return parent::generateIban();
 }
Пример #12
0
 public function generateIban()
 {
     $allowedBankAccountNumbers = array(624044 => "DE96210602370000624044", 4063060 => "DE11210602370004063060", 20111908 => "DE97210602370020111908", 20211908 => "DE92210602370020211908", 20311908 => "DE87210602370020311908", 20411908 => "DE82210602370020411908", 20511908 => "DE77210602370020511908", 20611908 => "DE72210602370020611908", 20711908 => "DE67210602370020711908", 20811908 => "DE62210602370020811908", 20911908 => "DE57210602370020911908", 21111908 => "DE47210602370021111908", 21211908 => "DE42210602370021211908", 21311908 => "DE37210602370021311908", 21411908 => "DE32210602370021411908", 21511908 => "DE27210602370021511908", 21611908 => "DE22210602370021611908", 21711908 => "DE17210602370021711908", 21811908 => "DE12210602370021811908", 21911908 => "DE07210602370021911908", 22111908 => "DE94210602370022111908", 22211908 => "DE89210602370022211908", 22311908 => "DE84210602370022311908", 22411908 => "DE79210602370022411908", 22511908 => "DE74210602370022511908", 22611908 => "DE69210602370022611908", 46211991 => "DE43210602370046211991", 50111908 => "DE52210602370050111908", 50211908 => "DE47210602370050211908", 50311908 => "DE42210602370050311908", 50411908 => "DE37210602370050411908", 50511908 => "DE32210602370050511908", 50611908 => "DE27210602370050611908", 50711908 => "DE22210602370050711908", 50811908 => "DE17210602370050811908", 50911908 => "DE12210602370050911908", 51111908 => "DE02210602370051111908", 51111991 => "DE89210602370051111991", 51211908 => "DE94210602370051211908", 51211991 => "DE84210602370051211991", 51311908 => "DE89210602370051311908", 51411908 => "DE84210602370051411908", 51511908 => "DE79210602370051511908", 51611908 => "DE74210602370051611908", 51711908 => "DE69210602370051711908", 51811908 => "DE64210602370051811908", 51911908 => "DE59210602370051911908", 52111908 => "DE49210602370052111908", 52111991 => "DE39210602370052111991", 52211908 => "DE44210602370052211908", 52211991 => "DE34210602370052211991", 52311908 => "DE39210602370052311908", 52411908 => "DE34210602370052411908", 52511908 => "DE29210602370052511908", 52611908 => "DE24210602370052611908", 52711908 => "DE19210602370052711908", 52811908 => "DE14210602370052811908", 52911908 => "DE09210602370052911908", 53111908 => "DE96210602370053111908", 53211908 => "DE91210602370053211908", 53311908 => "DE86210602370053311908", 57111908 => "DE90210602370057111908", 58111908 => "DE40210602370058111908", 58211908 => "DE35210602370058211908", 58311908 => "DE30210602370058311908", 58411908 => "DE25210602370058411908", 58511908 => "DE20210602370058511908", 80111908 => "DE07210602370080111908", 80211908 => "DE02210602370080211908", 80311908 => "DE94210602370080311908", 80411908 => "DE89210602370080411908", 80511908 => "DE84210602370080511908", 80611908 => "DE79210602370080611908", 80711908 => "DE74210602370080711908", 80811908 => "DE69210602370080811908", 80911908 => "DE64210602370080911908", 81111908 => "DE54210602370081111908", 81211908 => "DE49210602370081211908", 81311908 => "DE44210602370081311908", 81411908 => "DE39210602370081411908", 81511908 => "DE34210602370081511908", 81611908 => "DE29210602370081611908", 81711908 => "DE24210602370081711908", 81811908 => "DE19210602370081811908", 81911908 => "DE14210602370081911908", 82111908 => "DE04210602370082111908", 82211908 => "DE96210602370082211908", 82311908 => "DE91210602370082311908", 82411908 => "DE86210602370082411908", 82511908 => "DE81210602370082511908", 82611908 => "DE76210602370082611908", 82711908 => "DE71210602370082711908", 82811908 => "DE66210602370082811908", 82911908 => "DE61210602370082911908", 99624044 => "DE93210602370099624044", 300143869 => "DE30210602370300143869");
     $bankAccountNumber = (int) $this->bankAccountNumber;
     if (isset($allowedBankAccountNumbers[$bankAccountNumber])) {
         return $allowedBankAccountNumbers[$bankAccountNumber];
     }
     return parent::generateIban();
 }
Пример #13
0
 public function generateIban()
 {
     if ($this->instituteIdentificationEquals('50050201') && $this->bankAccountNumberEquals('2000')) {
         return 'DE42500502010000222000';
     } elseif ($this->instituteIdentificationEquals('50050201') && $this->bankAccountNumberEquals('800000')) {
         return 'DE89500502010000180802';
     } else {
         return parent::generateIban();
     }
 }
Пример #14
0
 public function generateIban()
 {
     if (strlen($this->bankAccountNumber) == 10 && $this->instituteIdentification == '68351976') {
         if (substr($this->bankAccountNumber, 0, 4) == '1116') {
             $this->bankAccountNumber = '3047' . substr($this->bankAccountNumber, 4);
         }
     }
     $this->instituteIdentification = '68351557';
     return parent::generateIban();
 }
Пример #15
0
 public function generateIban()
 {
     if ($this->instituteIdentificationEquals('30060010') || $this->instituteIdentificationEquals('40060000') || $this->instituteIdentificationEquals('57060000')) {
         $this->bankAccountNumber = str_pad($this->bankAccountNumber, $this->getBankAccountNumberLength(), '0', STR_PAD_LEFT);
         if (substr($this->bankAccountNumber, 4, 1) == '9') {
             $this->bankAccountNumber = substr($this->bankAccountNumber, 4) . substr($this->bankAccountNumber, 0, 4);
         }
     }
     return parent::generateIban();
 }
Пример #16
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     $replacements = array("55050000#35000" => "60050101#7401555913", "55050000#119345106" => "60050101#7401555906", "55050000#908" => "60050101#7401507480", "55050000#901" => "60050101#7401507497", "55050000#910" => "60050101#7401507466", "55050000#35100" => "60050101#7401555913", "55050000#902" => "60050101#7401507473", "55050000#44000" => "60050101#7401555872", "55050000#110132511" => "60050101#7401550530", "55050000#110024270" => "60050101#7401501266", "55050000#3500" => "60050101#7401555913", "55050000#110050002" => "60050101#7401502234", "55050000#55020100" => "60050101#7401555872", "55050000#110149226" => "60050101#7401512248", "60020030#1047444300" => "60050101#7871538395", "60020030#1040748400" => "60050101#0001366705", "60020030#1000617900" => "60050101#0002009906", "60020030#1003340500" => "60050101#0002001155", "60020030#1002999900" => "60050101#0002588991", "60020030#1004184600" => "60050101#7871513509", "60020030#1000919900" => "60050101#7871531505", "60020030#1054290000" => "60050101#7871521216", "60050000#1523" => "60050101#0001364934", "60050000#2811" => "60050101#0001367450", "60050000#2502" => "60050101#0001366705", "60050000#250412" => "60050101#7402051588", "60050000#3009" => "60050101#0001367924", "60050000#4596" => "60050101#0001372809", "60050000#3080" => "60050101#0002009906", "60050000#1029204" => "60050101#0002782254", "60050000#3002" => "60050101#0001367924", "60050000#123456" => "60050101#0001362826", "60050000#2535" => "60050101#0001119897", "60050000#5500" => "60050101#0001375703", "66020020#4002401000" => "60050101#7495500967", "66020020#4000604100" => "60050101#0002810030", "66020020#4002015800" => "60050101#7495530102", "66020020#4003746700" => "60050101#7495501485", "66050000#86567" => "60050101#0001364934", "66050000#86345" => "60050101#7402046641", "66050000#85304" => "60050101#7402045439", "66050000#85990" => "60050101#7402051588", "86050000#1016" => "60050101#7461500128", "86050000#3535" => "60050101#7461505611", "86050000#2020" => "60050101#7461500018", "86050000#4394" => "60050101#7461505714");
     if (isset($replacements[$instituteIdentification . "#" . $bankAccountNumber])) {
         $replacement = $replacements[$instituteIdentification . "#" . $bankAccountNumber];
         $explodedData = explode('#', $replacement);
         $instituteIdentification = $explodedData[0];
         $bankAccountNumber = $explodedData[1];
     }
     parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
 }
Пример #17
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     $replacements = array("67220020#5308810004" => "60050101#0002662604", "67220020#5308810000" => "60050101#0002659600", "67020020#5203145700" => "60050101#7496510994", "69421020#6208908100" => "60050101#7481501341", "66620020#4840404000" => "60050101#7498502663", "64120030#1201200100" => "60050101#7477501214", "64020030#1408050100" => "60050101#7469534505", "63020130#1112156300" => "60050101#0004475655", "62030050#7002703200" => "60050101#7406501175", "69220020#6402145400" => "60050101#7485500252");
     if (isset($replacements[$instituteIdentification . "#" . $bankAccountNumber])) {
         $replacement = $replacements[$instituteIdentification . "#" . $bankAccountNumber];
         $explodedData = explode('#', $replacement);
         $instituteIdentification = $explodedData[0];
         $bankAccountNumber = $explodedData[1];
         parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
     } else {
         throw new \Exception('no iban generation');
     }
 }
Пример #18
0
 public function generateIban()
 {
     $floatbankAccountNumber = floatval($this->bankAccountNumber);
     if ($floatbankAccountNumber >= 50462000 && $floatbankAccountNumber <= 50463999 || $floatbankAccountNumber >= 50469000 && $floatbankAccountNumber <= 50469999) {
         return parent::generateIban();
     }
     if (strlen($this->bankAccountNumber) != 8 || substr($this->bankAccountNumber, 3, 1) != "0") {
         return "";
     }
     $lastFive = floatval(substr($this->bankAccountNumber, -5));
     if ($lastFive >= 0 && $lastFive <= 999) {
         return "";
     }
     return parent::generateIban();
 }
Пример #19
0
 public function generateIban()
 {
     $partialBlockedInstituteIdentifications = array("10080900", "25780022", "42080082", "53080030", "64380011", "79080052", "12080000", "25980027", "42680081", "54080021", "65080009", "79380051", "13080000", "26080024", "43080083", "54280023", "65180005", "79580099", "14080000", "26281420", "44080055", "54580020", "65380003", "80080000", "15080000", "26580070", "44080057", "54680022", "66280053", "81080000", "16080000", "26880063", "44580070", "55080065", "66680013", "82080000", "17080000", "26981062", "45080060", "57080070", "67280051", "83080000", "18080000", "28280012", "46080010", "58580074", "69280035", "84080000", "20080055", "29280011", "47880031", "59080090", "70080056", "85080200", "20080057", "30080055", "49080025", "60080055", "70080057", "86080055", "21080050", "30080057", "50080055", "60080057", "70380006", "86080057", "21280002", "31080015", "50080057", "60380002", "71180005", "87080000", "21480003", "32080010", "50080081", "60480008", "72180002", "21580000", "33080030", "50080082", "61080006", "73180011", "22180000", "34080031", "50680002", "61281007", "73380004", "22181400", "34280032", "50780006", "61480001", "73480013", "22280000", "36280071", "50880050", "62080012", "74180009", "24080000", "36580072", "51080000", "62280012", "74380007", "24180001", "40080040", "51380040", "63080015", "75080003", "25480021", "41280043", "52080080", "64080014", "76080053");
     if (in_array($this->instituteIdentification, $partialBlockedInstituteIdentifications) && intval($this->bankAccountNumber) >= 998000000 && intval($this->bankAccountNumber) <= 999499999) {
         return "";
     }
     $completeBlockedInstituteIdentifications = array("10045050", "50040033", "70045050", "10040085", "35040085", "36040085", "44040085", "50040085", "67040085", "82040085");
     if (in_array($this->instituteIdentification, $completeBlockedInstituteIdentifications)) {
         return "";
     }
     // Fehlende Unterkontoinformationen ergänzen
     if (strlen($this->bankAccountNumber) == 6 || strlen($this->bankAccountNumber) == 7) {
         $this->bankAccountNumber .= '00';
     }
     return parent::generateIban();
 }
Пример #20
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     $bankAccountReplacement = array("50070010#9999" => "92777202");
     if (isset($bankAccountReplacement[$instituteIdentification . "#" . $bankAccountNumber])) {
         $bankAccountNumber = $bankAccountReplacement[$instituteIdentification . "#" . $bankAccountNumber];
     }
     // Accounts from "Deutsche Bank" have to be at least 7 digits in length.
     // Leading zero's are possible
     if (strlen($bankAccountNumber) < 7) {
         $bankAccountNumber = str_pad($bankAccountNumber, 7, '0', STR_PAD_LEFT);
     }
     if (substr($instituteIdentification, 3, 1) == '7') {
         // For correct IBAN generation the sub account from "Deutsche Bank" has to be included
         if (strlen($bankAccountNumber) == 7) {
             $bankAccountNumber = str_pad($bankAccountNumber, 9, '0', STR_PAD_RIGHT);
         }
     }
     parent::__construct($localeCode, $instituteIdentification, $bankAccountNumber);
 }
Пример #21
0
 public function generateIban()
 {
     $floatbankAccountNumber = floatval($this->bankAccountNumber);
     if (strlen($this->bankAccountNumber) == 8) {
         // nnn 0 0000 to nnn 0 0999 are not converted
         $lastFive = floatval(substr($this->bankAccountNumber, -5));
         if ($lastFive >= 0 && $lastFive <= 999) {
             return "";
         }
         if (substr($this->bankAccountNumber, 3, 1) == 0 || $floatbankAccountNumber >= 50462000 && $floatbankAccountNumber <= 50463999 || $floatbankAccountNumber >= 50469000 && $floatbankAccountNumber <= 50469999) {
             return parent::generateIban();
         }
     }
     if (strlen($this->bankAccountNumber) == 10) {
         // only nnn 44 00001 to nnn 44 99999 can be converted
         $lastSeven = floatval(substr($this->bankAccountNumber, -7));
         if ($lastSeven >= 4400001 && $lastSeven <= 4499999) {
             return parent::generateIban();
         }
     }
     return "";
 }
Пример #22
0
 public function __construct($localeCode, $instituteIdentification, $bankAccountNumber)
 {
     parent::__construct($localeCode, '50050000', $bankAccountNumber);
 }