src/Generator.php
public function getBankNumber($type = 'Visa')
	{
		$visaPrefixList[] = '4539';
		$visaPrefixList[] = '4556';
		$visaPrefixList[] = '4916';
		$visaPrefixList[] = '4532';
		$visaPrefixList[] = '4929';
		$visaPrefixList[] = '40240071';
		$visaPrefixList[] = '4485';
		$visaPrefixList[] = '4716';
		$visaPrefixList[] = '4';
		
		$mastercardPrefixList[] = '51';
		$mastercardPrefixList[] = '52';
		$mastercardPrefixList[] = '53';
		$mastercardPrefixList[] = '54';
		$mastercardPrefixList[] = '55';
		
		$amexPrefixList[] = '34';
		$amexPrefixList[] = '37';
		
		$discoverPrefixList[] = '6011';
		
		$routingPrefixList[] = '01';
		$routingPrefixList[] = '02';
		$routingPrefixList[] = '03';
		$routingPrefixList[] = '04';
		$routingPrefixList[] = '05';
		$routingPrefixList[] = '06';
		$routingPrefixList[] = '07';
		$routingPrefixList[] = '08';
		$routingPrefixList[] = '09';
		$routingPrefixList[] = '10';
		$routingPrefixList[] = '11';
		$routingPrefixList[] = '12';
		
		switch ($type) {
			case 'Visa':
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
			case 'Master Card':
				$bank_number = $this->completedBankNumber($mastercardPrefixList, 16);
				break;
			case 'American Express':
				$bank_number = $this->completedBankNumber($amexPrefixList, 15);
				break;
			case 'Discover':
				$bank_number = $this->completedBankNumber($discoverPrefixList, 16);
				break;
			case 'Routing':
				$bank_number = $this->completedBankNumber($routingPrefixList, 9);
				break;
			default:
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
		}
		
		return $bank_number;
	}
public function getBankNumber($type = 'Visa')
	{
		$visaPrefixList[] = '4539';
		$visaPrefixList[] = '4556';
		$visaPrefixList[] = '4916';
		$visaPrefixList[] = '4532';
		$visaPrefixList[] = '4929';
		$visaPrefixList[] = '40240071';
		$visaPrefixList[] = '4485';
		$visaPrefixList[] = '4716';
		$visaPrefixList[] = '4';
		
		$mastercardPrefixList[] = '51';
		$mastercardPrefixList[] = '52';
		$mastercardPrefixList[] = '53';
		$mastercardPrefixList[] = '54';
		$mastercardPrefixList[] = '55';
		
		$amexPrefixList[] = '34';
		$amexPrefixList[] = '37';
		
		$discoverPrefixList[] = '6011';
		
		$routingPrefixList[] = '01';
		$routingPrefixList[] = '02';
		$routingPrefixList[] = '03';
		$routingPrefixList[] = '04';
		$routingPrefixList[] = '05';
		$routingPrefixList[] = '06';
		$routingPrefixList[] = '07';
		$routingPrefixList[] = '08';
		$routingPrefixList[] = '09';
		$routingPrefixList[] = '10';
		$routingPrefixList[] = '11';
		$routingPrefixList[] = '12';
		
		switch ($type) {
			case 'Visa':
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
			case 'Master Card':
				$bank_number = $this->completedBankNumber($mastercardPrefixList, 16);
				break;
			case 'American Express':
				$bank_number = $this->completedBankNumber($amexPrefixList, 15);
				break;
			case 'Discover':
				$bank_number = $this->completedBankNumber($discoverPrefixList, 16);
				break;
			case 'Routing':
				$bank_number = $this->completedBankNumber($routingPrefixList, 9);
				break;
			default:
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
		}
		
		return $bank_number;
	}
I've adapted a credit card / routing number generator to meet my needs here. Original copyright below.
Numbers created here will pass the Luhn Mod-10 test.

@param string $type
@return string