Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Payment Provider for ne_NP #375

Merged
merged 16 commits into from
Oct 2, 2021
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
317 changes: 317 additions & 0 deletions src/Faker/Provider/ne_NP/Payment.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,317 @@
<?php

namespace Faker\Provider\ne_NP;

class Payment extends \Faker\Provider\Payment
{
/**
* List of commercial banks sorted in alphabetical order.
*
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Nepal
*
* @var string[]
*/
protected static $commercialBanks = [
'Agricultural Development Bank',
'Bank Of Kathmandu',
'Century Commercial Bank',
'Citizens Bank International',
'Civil Bank',
'Everest Bank',
'Global IME Bank',
'Himalayan Bank',
'Kumari Bank',
'Laxmi Bank',
'Machhapuchchhre Bank',
'Mega Bank Nepal',
'Nabil Bank',
'Nepal Bangladesh Bank',
'Nepal Bank',
'Nepal Credit & Commerce Bank',
'Nepal Investment Bank',
'Nepal SBI Bank',
'NIC ASIA Bank',
'NMB Bank',
'Prabhu Bank',
'Prime Commercial Bank',
'Rastriya Banijya Bank',
'Sanima Bank',
'Siddhartha Bank',
'Standard Chartered Bank Nepal',
'Sunrise Bank',
];

/**
* List of development banks sorted in alphabetical order.
*
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Nepal
*
* @var string[]
*/
protected static $developmentBanks = [
'Corporate Development Bank',
'Excel Development Bank',
'Garima Bikas Bank',
'Green Development Bank',
'Jyoti Bikas Bank',
'Kamana Sewa Bikash Bank',
'Karnali Development Bank',
'Lumbini Bikas Bank',
'Mahalaxmi Bikas Bank',
'Miteri Development Bank',
'Muktinath Bikas Bank',
'Narayani Development Bank',
'Nepal Infrastructure Bank',
'Sahara Bikas Bank',
'Salapa Bikas Bank',
'Saptakoshi Development Bank',
'Shangrila Development Bank',
'Shine Resunga Development Bank',
'Sindhu Bikas Bank',
];

/**
* List of finance companies sorted in alphabetical order.
*
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Nepal
*
* @var string[]
*/
protected static $financeCompanies = [
'Best Finance Company',
'Capital Merchant Banking & Finance',
'Central Finance',
'Goodwill Finance Company',
'Guheshwori Merchant Banking & Finance',
'Gurkhas Finance',
'ICFC Finance',
'Janaki Finance Company',
'Manjushree Finance',
'Multipurpose Finance Company',
'Nepal Finance',
'Nepal Share Markets',
'Pokhara Finance',
'Progressive Finance',
'Reliance Finance',
'Samriddhi Finance Company',
'Shree Investment Finance Company',
];

/**
* List of microfinance companies sorted in alphabetical order.
*
* @see https://en.wikipedia.org/wiki/List_of_banks_in_Nepal
*
* @var string[]
*/
protected static $microFinances = [
'Aatmanirbhar',
'Adarsha',
'Adhikhola',
'Arambha Chautari',
'Asha',
'Aviyan',
'BPW',
'Buddha Jyoti',
'Chhimek',
'Civil',
'CYC Nepal',
'Deprosc',
'Deurali',
'Dhaulagiri',
'First Microfinance',
'Forward Microfinance',
'Ganapati',
'Ghodighoda',
'Global IME',
'Grameen Bikas',
'Gurans',
'Infinity',
'Jalpa Samudayik',
'Janautthan Samudayik',
'Jeevan Bikas',
'Kalika',
'Khaptad',
'Kisan',
'Laxmi',
'Mahila',
'Mahuli',
'Manakamana Smart',
'Manushi',
'Meromicrofinance',
'Mirmire',
'Mithila',
'NADEP',
'National Microfinance',
'Naya Sarathi',
'Nepal Sewa',
'Nerude',
'NESDO Samriddha',
'NIC Asia',
'Nirdhan Utthan',
'NMB',
'Rastra Utthan',
'RMDC',
'RSDC',
'Sabaiko',
'Sadhana',
'Samaj',
'Samata Gharelu',
'Samudayik',
'Sana Kisan Bikas',
'Shrijanshil',
'Summit',
'Super',
'Support',
'Suryodaya',
'Swabalamban',
'Swabhiman',
'Swastik',
'Sworojagar',
'Unique Nepal',
'Unnati Sahakarya',
'Upakar',
'Vijaya',
'WEAN',
'Womi',
];

/**
* List of digital wallets sorted in alphabetical order.
*
* @see https://www.nrb.org.np/bank-list/
*
* @var string[]
*/
protected static $digitalWallets = [
'CellPay',
'CG Pay',
'Chito Paisa',
'DigiPay',
'dPaisa',
'EnetPay',
'eSewa',
'Fonepay',
'GME Pay',
'iCash',
'IME Pay',
'Ipay',
'Khalti',
'Kurakani Pay',
'Lenden',
'Mobalet',
'MOCO',
'Mohar',
'Moru',
'N-Cash',
'Namaste Pay',
'PayTime',
'PayWell',
'PrabhuPAY',
'QPay',
'SajiloPay',
'WePay',
];

/**
* List of Swift Codes in alphabetical order.
*
* @see https://www.theswiftcodes.com/nepal/
*
* @var string[]
*/
protected static $swiftCodes = [
'ADBLNPKA',
'BOKLNPKA',
'CCBNNPKA',
'CIVLNPKA',
'CTZNNPKA',
'EVBLNPKA',
'GLBBNPKA',
'HIMANPKA',
'KMBLNPKA',
'LXBLNPKA',
'MBLNNPKA',
'MBNLNPKA',
'NARBNPKA',
'NBOCNPKA',
'NBOCNPKANRD',
'NEBLNPKA',
'NIBLNPKT',
'NICENPKA',
'NMBBNPKA',
'NPBBNPKA',
'NRBLNPKA',
'NRBLNPKAFED',
'NSBINPKA',
'NSBINPKA001',
'PCBLNPKA',
'PRVUNPKA',
'RBBANPKA',
'SCBLNPKA',
'SIDDNPKA',
'SNMANPKA',
'SRBLNPKA',
];

/**
* @example 'Agricultural Development Bank'
*/
public function commercialBank(): string
{
return static::randomElement(static::$commercialBanks);
}

/**
* @example 'Nepal Infrastructure Bank'
*/
public function developmentBank(): string
{
return static::randomElement(static::$developmentBanks);
}

/**
* @example 'Gurkhas Finance'
*/
public function financeCompany(): string
{
return static::randomElement(static::$financeCompanies);
}

/**
* @example 'Adarsha Laghubitta Bittiya Sanstha'
*/
public function microFinance(): string
{
$suffix = ' Laghubitta Bittiya Sanstha';

return static::randomElement(static::$microFinances) . $suffix;
}

/**
* @example 'Khalti'
*/
public function digitalWallet(): string
{
return static::randomElement(static::$digitalWallets);
}

/**
* @example 'ADBLNPKA'
*/
public function swiftCode(): string
{
return static::randomElement(static::$swiftCodes);
}

/**
* @example '00454689832792' or 'S49646367883667'
*/
public function bankAccountNumber(): string
{
$alphaPrefix = self::randomElement([true, false]);
$format = $alphaPrefix ? '[A-Z][1-9]{8,19}' : '[0]{2}[1-9]{7,18}';

return static::regexify($format);
}
}
Loading