ifsc 2.0.4 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -1
- data/CONTRIBUTING.md +2 -0
- data/README.md +40 -2
- data/ifsc.gemspec +2 -2
- data/src/IFSC.json +1 -1
- data/src/banknames.json +127 -117
- data/src/banks.json +3926 -3888
- data/src/custom-sublets.json +6 -1
- data/src/ruby/bank.rb +16 -4
- data/src/ruby/bank.rb.tpl +28 -0
- data/src/ruby/ifsc.rb +8 -1
- data/src/sublet.json +10 -9
- data/tests/ruby/bank_spec.rb +2 -5
- data/tests/ruby/ifsc_spec.rb +8 -10
- metadata +7 -6
data/src/custom-sublets.json
CHANGED
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
"APBL0013023": "DCKX",
|
|
31
31
|
"FDRL0SAWANT": "Sawantwadi Urban Co-operative Bank",
|
|
32
32
|
"FDRL0SPCB01": "Sreenivasa Padmavathi Co-operative Bank",
|
|
33
|
+
"HDFC0CHB1": "HCBL",
|
|
34
|
+
"ICIC00TJUCB": "Jamkhandi Urban Co-operative Bank",
|
|
33
35
|
"JAKA0GRAMEN": "XJKG",
|
|
34
36
|
"JAKA0JKBCCB": "Baramulla Central Co-operative Bank",
|
|
35
37
|
"KJSB0KUB2": "Konark Urban Co-operative Bank",
|
|
@@ -117,6 +119,9 @@
|
|
|
117
119
|
"YESB0VCA": "VCAX",
|
|
118
120
|
"YESB0VNB": "VCNB",
|
|
119
121
|
"YESB0WNS": "Wardha Nagri Bank",
|
|
122
|
+
"ICIC00ICBLP": "IXXX",
|
|
123
|
+
"ICIC00ICOBL": "IXXX",
|
|
120
124
|
"YESB0YDC": "YADX",
|
|
121
|
-
"YESB0ZSB": "ZISX"
|
|
125
|
+
"YESB0ZSB": "ZISX",
|
|
126
|
+
"SMCB0000001": "SMCB"
|
|
122
127
|
}
|
data/src/ruby/bank.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
2
|
+
# The bank.rb file is generated from `bank.rb.tpl` using constants
|
|
3
|
+
# from banknames.json. Run `make generate-constants` to
|
|
4
|
+
# update this file
|
|
3
5
|
module Razorpay
|
|
4
6
|
module IFSC
|
|
5
7
|
module Bank
|
|
@@ -78,6 +80,7 @@ module Razorpay
|
|
|
78
80
|
APMC = :APMC
|
|
79
81
|
APMX = :APMX
|
|
80
82
|
APNX = :APNX
|
|
83
|
+
APRR = :APRR
|
|
81
84
|
APRX = :APRX
|
|
82
85
|
APSX = :APSX
|
|
83
86
|
ARBL = :ARBL
|
|
@@ -108,6 +111,7 @@ module Razorpay
|
|
|
108
111
|
BACX = :BACX
|
|
109
112
|
BADX = :BADX
|
|
110
113
|
BAGX = :BAGX
|
|
114
|
+
BALB = :BALB
|
|
111
115
|
BALX = :BALX
|
|
112
116
|
BANX = :BANX
|
|
113
117
|
BARA = :BARA
|
|
@@ -118,6 +122,7 @@ module Razorpay
|
|
|
118
122
|
BAUX = :BAUX
|
|
119
123
|
BAVX = :BAVX
|
|
120
124
|
BAWX = :BAWX
|
|
125
|
+
BBDX = :BBDX
|
|
121
126
|
BBKM = :BBKM
|
|
122
127
|
BBLX = :BBLX
|
|
123
128
|
BBRX = :BBRX
|
|
@@ -295,6 +300,7 @@ module Razorpay
|
|
|
295
300
|
DCPX = :DCPX
|
|
296
301
|
DCSX = :DCSX
|
|
297
302
|
DCTX = :DCTX
|
|
303
|
+
DCUB = :DCUB
|
|
298
304
|
DCUX = :DCUX
|
|
299
305
|
DDBX = :DDBX
|
|
300
306
|
DDCX = :DDCX
|
|
@@ -331,6 +337,7 @@ module Razorpay
|
|
|
331
337
|
DOBX = :DOBX
|
|
332
338
|
DOHB = :DOHB
|
|
333
339
|
DRGX = :DRGX
|
|
340
|
+
DSAX = :DSAX
|
|
334
341
|
DSBX = :DSBX
|
|
335
342
|
DSCB = :DSCB
|
|
336
343
|
DSHX = :DSHX
|
|
@@ -442,6 +449,7 @@ module Razorpay
|
|
|
442
449
|
HUCB = :HUCB
|
|
443
450
|
HUCH = :HUCH
|
|
444
451
|
HUCX = :HUCX
|
|
452
|
+
HUSB = :HUSB
|
|
445
453
|
HUTX = :HUTX
|
|
446
454
|
HVBK = :HVBK
|
|
447
455
|
IBBK = :IBBK
|
|
@@ -475,9 +483,11 @@ module Razorpay
|
|
|
475
483
|
ITDX = :ITDX
|
|
476
484
|
IUCB = :IUCB
|
|
477
485
|
IUCX = :IUCX
|
|
486
|
+
IXXX = :IXXX
|
|
478
487
|
JACX = :JACX
|
|
479
488
|
JAKA = :JAKA
|
|
480
489
|
JALX = :JALX
|
|
490
|
+
JAMX = :JAMX
|
|
481
491
|
JANA = :JANA
|
|
482
492
|
JANX = :JANX
|
|
483
493
|
JASB = :JASB
|
|
@@ -872,6 +882,7 @@ module Razorpay
|
|
|
872
882
|
NOSC = :NOSC
|
|
873
883
|
NPCX = :NPCX
|
|
874
884
|
NPKX = :NPKX
|
|
885
|
+
NPPX = :NPPX
|
|
875
886
|
NRDX = :NRDX
|
|
876
887
|
NRMX = :NRMX
|
|
877
888
|
NSBB = :NSBB
|
|
@@ -931,6 +942,7 @@ module Razorpay
|
|
|
931
942
|
PGCX = :PGCX
|
|
932
943
|
PGRX = :PGRX
|
|
933
944
|
PGTX = :PGTX
|
|
945
|
+
PHIX = :PHIX
|
|
934
946
|
PITX = :PITX
|
|
935
947
|
PJSB = :PJSB
|
|
936
948
|
PKBX = :PKBX
|
|
@@ -955,6 +967,7 @@ module Razorpay
|
|
|
955
967
|
PRSX = :PRSX
|
|
956
968
|
PRTH = :PRTH
|
|
957
969
|
PRUX = :PRUX
|
|
970
|
+
PSBL = :PSBL
|
|
958
971
|
PSBX = :PSBX
|
|
959
972
|
PSCX = :PSCX
|
|
960
973
|
PSIB = :PSIB
|
|
@@ -1155,6 +1168,7 @@ module Razorpay
|
|
|
1155
1168
|
SMCX = :SMCX
|
|
1156
1169
|
SMEX = :SMEX
|
|
1157
1170
|
SMMX = :SMMX
|
|
1171
|
+
SMNB = :SMNB
|
|
1158
1172
|
SMNX = :SMNX
|
|
1159
1173
|
SMPX = :SMPX
|
|
1160
1174
|
SMSX = :SMSX
|
|
@@ -1229,6 +1243,7 @@ module Razorpay
|
|
|
1229
1243
|
SVSX = :SVSX
|
|
1230
1244
|
SWMX = :SWMX
|
|
1231
1245
|
SWSX = :SWSX
|
|
1246
|
+
SXXX = :SXXX
|
|
1232
1247
|
SYNB = :SYNB
|
|
1233
1248
|
TACX = :TACX
|
|
1234
1249
|
TADX = :TADX
|
|
@@ -1490,9 +1505,6 @@ module Razorpay
|
|
|
1490
1505
|
ZSLX = :ZSLX
|
|
1491
1506
|
ZSMX = :ZSMX
|
|
1492
1507
|
|
|
1493
|
-
SXXX = :SXXX
|
|
1494
|
-
JAMX = :JAMX
|
|
1495
|
-
|
|
1496
1508
|
class << self
|
|
1497
1509
|
def get_details(code)
|
|
1498
1510
|
h = data[code]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# The bank.rb file is generated from `bank.rb.tpl` using constants
|
|
3
|
+
# from banknames.json. Run `make generate-constants` to
|
|
4
|
+
# update this file
|
|
5
|
+
module Razorpay
|
|
6
|
+
module IFSC
|
|
7
|
+
module Bank{{ range .Value }}
|
|
8
|
+
{{ . }} = :{{ . }}{{ end }}
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
def get_details(code)
|
|
12
|
+
h = data[code]
|
|
13
|
+
h[:bank_code] = (h[:micr][3..5] if h.key? :micr)
|
|
14
|
+
h
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def parse_json_file(file)
|
|
18
|
+
file = "../#{file}.json"
|
|
19
|
+
JSON.parse(File.read(File.join(__dir__, file)), symbolize_names: true)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def data
|
|
23
|
+
@data ||= parse_json_file 'banks'
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
data/src/ruby/ifsc.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Razorpay
|
|
|
11
11
|
class IFSC
|
|
12
12
|
API = 'https://ifsc.razorpay.com/'.freeze
|
|
13
13
|
|
|
14
|
-
attr_reader :bank, :ifsc, :branch, :address, :contact, :city, :district, :state
|
|
14
|
+
attr_reader :bank, :ifsc, :branch, :address, :contact, :city, :district, :state, :centre, :micr, :imps, :rtgs, :upi, :neft, :swift
|
|
15
15
|
|
|
16
16
|
def initialize(ifsc)
|
|
17
17
|
@ifsc = ifsc
|
|
@@ -30,6 +30,13 @@ module Razorpay
|
|
|
30
30
|
@district = api_data['DISTRICT']
|
|
31
31
|
@state = api_data['STATE']
|
|
32
32
|
@bankcode = api_data['BANKCODE']
|
|
33
|
+
@centre = api_data['CENTRE']
|
|
34
|
+
@imps = api_data['IMPS']
|
|
35
|
+
@neft = api_data['NEFT']
|
|
36
|
+
@rtgs = api_data['RTGS']
|
|
37
|
+
@upi = api_data['UPI']
|
|
38
|
+
@micr = api_data['MICR']
|
|
39
|
+
@swift = api_data['SWIFT']
|
|
33
40
|
@valid = true
|
|
34
41
|
self
|
|
35
42
|
end
|
data/src/sublet.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"AKJB0000001": "AJKB",
|
|
3
|
-
"ANDB0007999": "CGGX",
|
|
4
3
|
"APBL0001001": "TSDX",
|
|
5
4
|
"APBL0002001": "TVDX",
|
|
6
5
|
"APBL0003001": "DICX",
|
|
@@ -155,6 +154,7 @@
|
|
|
155
154
|
"HDFC0CAUCBL": "ANUX",
|
|
156
155
|
"HDFC0CBACOB": "BACX",
|
|
157
156
|
"HDFC0CBCBBK": "BCBX",
|
|
157
|
+
"HDFC0CBCBLH": "BALB",
|
|
158
158
|
"HDFC0CBCBMN": "BTCX",
|
|
159
159
|
"HDFC0CBCCBL": "BURX",
|
|
160
160
|
"HDFC0CBDSCB": "BSCX",
|
|
@@ -256,7 +256,6 @@
|
|
|
256
256
|
"HDFC0CMFUCB": "MFUX",
|
|
257
257
|
"HDFC0CMNSAA": "SMNX",
|
|
258
258
|
"HDFC0CMNSBM": "MMMX",
|
|
259
|
-
"HDFC0CMODEL": "MDEX",
|
|
260
259
|
"HDFC0CMPLTB": "TMAX",
|
|
261
260
|
"HDFC0CMPSSB": "MVIX",
|
|
262
261
|
"HDFC0CMUCB1": "TMUX",
|
|
@@ -270,6 +269,7 @@
|
|
|
270
269
|
"HDFC0CNGUBL": "NGNX",
|
|
271
270
|
"HDFC0CNHUCB": "TNHX",
|
|
272
271
|
"HDFC0CNJMVB": "NJMX",
|
|
272
|
+
"HDFC0CNPCCB": "NPPX",
|
|
273
273
|
"HDFC0CNSBLD": "NGSX",
|
|
274
274
|
"HDFC0CNSBLN": "NABX",
|
|
275
275
|
"HDFC0CNSBLR": "NSRX",
|
|
@@ -329,7 +329,6 @@
|
|
|
329
329
|
"HDFC0CSINDC": "SDCX",
|
|
330
330
|
"HDFC0CSLCBL": "SLCX",
|
|
331
331
|
"HDFC0CSMMB1": "SMMX",
|
|
332
|
-
"HDFC0CSMPBA": "SMPX",
|
|
333
332
|
"HDFC0CSMSSB": "SEWX",
|
|
334
333
|
"HDFC0CSMUCB": "SMUX",
|
|
335
334
|
"HDFC0CSNCBL": "SNAX",
|
|
@@ -367,10 +366,9 @@
|
|
|
367
366
|
"HDFC0CTJCBL": "JANX",
|
|
368
367
|
"HDFC0CTJPCB": "JMPX",
|
|
369
368
|
"HDFC0CTKNSB": "KUKX",
|
|
370
|
-
"HDFC0CTLCBL": "LACX",
|
|
371
369
|
"HDFC0CTMCBL": "MVCX",
|
|
372
370
|
"HDFC0CTMCNB": "MNBX",
|
|
373
|
-
"
|
|
371
|
+
"HDFC0CTPHCB": "PHIX",
|
|
374
372
|
"HDFC0CTR384": "TUBX",
|
|
375
373
|
"HDFC0CTRUMC": "RUMX",
|
|
376
374
|
"HDFC0CTSCBL": "SNGX",
|
|
@@ -381,7 +379,6 @@
|
|
|
381
379
|
"HDFC0CTUCB1": "UTBX",
|
|
382
380
|
"HDFC0CTUCBL": "FGCB",
|
|
383
381
|
"HDFC0CTUCOB": "TAPX",
|
|
384
|
-
"HDFC0CTVCBL": "VIJX",
|
|
385
382
|
"HDFC0CTZNBK": "CCBX",
|
|
386
383
|
"HDFC0CUCBLM": "TUCL",
|
|
387
384
|
"HDFC0CUCBNR": "TUNX",
|
|
@@ -489,6 +486,7 @@
|
|
|
489
486
|
"IBKL01606BP": "TBPX",
|
|
490
487
|
"IBKL01642C1": "CTBX",
|
|
491
488
|
"IBKL01642RP": "RAKX",
|
|
489
|
+
"IBKL01642SD": "SRHX",
|
|
492
490
|
"IBKL01720GU": "TGCG",
|
|
493
491
|
"IBKL0186LEC": "LECX",
|
|
494
492
|
"IBKL01870N1": "NULX",
|
|
@@ -608,6 +606,7 @@
|
|
|
608
606
|
"ICIC00CNSBL": "CNSX",
|
|
609
607
|
"ICIC00COMCB": "CMCX",
|
|
610
608
|
"ICIC00DCBLS": "DSHX",
|
|
609
|
+
"ICIC00DCBSU": "DSAX",
|
|
611
610
|
"ICIC00DCCBG": "ZSBG",
|
|
612
611
|
"ICIC00DKDCB": "DKCL",
|
|
613
612
|
"ICIC00DUCBL": "DEUX",
|
|
@@ -754,7 +753,8 @@
|
|
|
754
753
|
"KSCB0017001": "KYDX",
|
|
755
754
|
"KSCB0018001": "TDBX",
|
|
756
755
|
"KSCB0701001": "DVDX",
|
|
757
|
-
"
|
|
756
|
+
"MAHG0004000": "MGBX",
|
|
757
|
+
"MDBK0000001": "MDEX",
|
|
758
758
|
"NVNM0000001": "NAVX",
|
|
759
759
|
"ORCB0ANG001": "AUBX",
|
|
760
760
|
"ORCB0ASK001": "TSKX",
|
|
@@ -886,6 +886,7 @@
|
|
|
886
886
|
"TNSC0015000": "TNIX",
|
|
887
887
|
"TNSC0160101": "PCSX",
|
|
888
888
|
"TSSB0000001": "SSBL",
|
|
889
|
+
"UBIN0CG7999": "CGGX",
|
|
889
890
|
"UBIN0DCBEDC": "EDSX",
|
|
890
891
|
"UCBA0RRBPBG": "PASX",
|
|
891
892
|
"UJVN0000001": "USFB",
|
|
@@ -1011,13 +1012,14 @@
|
|
|
1011
1012
|
"UTIB0STMNBI": "MUNX",
|
|
1012
1013
|
"UTIB0STTN01": "TTCX",
|
|
1013
1014
|
"UTIB0SUBBLR": "BUCL",
|
|
1014
|
-
"UTIB0SUICB1": "UICX",
|
|
1015
1015
|
"UTIB0SVNS01": "VANX",
|
|
1016
1016
|
"UTIB0SWJP01": "WZUX",
|
|
1017
1017
|
"UTIB0YCCB01": "YNCX",
|
|
1018
1018
|
"UUCB0000001": "UUCX",
|
|
1019
1019
|
"VASJ0000001": "VJSX",
|
|
1020
|
+
"VCOB0000001": "VIJX",
|
|
1020
1021
|
"WBSC0BDCB01": "BADX",
|
|
1022
|
+
"WBSC0BIRB02": "BBDX",
|
|
1021
1023
|
"WBSC0BUCB01": "BNCX",
|
|
1022
1024
|
"WBSC0DDCB01": "DDDX",
|
|
1023
1025
|
"WBSC0DJCB01": "DDCX",
|
|
@@ -1122,7 +1124,6 @@
|
|
|
1122
1124
|
"YESB0SATYA0": "SATX",
|
|
1123
1125
|
"YESB0SCB003": "SKCX",
|
|
1124
1126
|
"YESB0SCUB01": "SHMX",
|
|
1125
|
-
"YESB0SDB002": "SRHX",
|
|
1126
1127
|
"YESB0SDC001": "SOLX",
|
|
1127
1128
|
"YESB0SHBK01": "SSHX",
|
|
1128
1129
|
"YESB0SIND01": "SNDX",
|
data/tests/ruby/bank_spec.rb
CHANGED
|
@@ -20,11 +20,8 @@ describe Razorpay::IFSC::Bank do
|
|
|
20
20
|
nach_debit: true)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
it 'should match all constants defined in
|
|
24
|
-
|
|
25
|
-
bank_constants = constants_file.select { |e| e.match(/const/) }.map { |e| e[/\s+const (\w{4})/, 1] }
|
|
26
|
-
|
|
27
|
-
bank_constants.each do |c|
|
|
23
|
+
it 'should match all constants defined in banknames.json' do
|
|
24
|
+
JSON.parse(File.read('src/banknames.json')).keys.each do |c|
|
|
28
25
|
expect(described_class::const_get(c)).to eq c.to_sym
|
|
29
26
|
end
|
|
30
27
|
end
|
data/tests/ruby/ifsc_spec.rb
CHANGED
|
@@ -5,16 +5,7 @@ require 'bank'
|
|
|
5
5
|
|
|
6
6
|
describe Razorpay::IFSC::IFSC do
|
|
7
7
|
let(:mocked_response) do
|
|
8
|
-
|
|
9
|
-
'BANK' => 'Kotak Mahindra Bank',
|
|
10
|
-
'IFSC' => 'KKBK0000261',
|
|
11
|
-
'BRANCH' => 'GURGAON',
|
|
12
|
-
'ADDRESS' => 'JMD REGENT SQUARE,MEHRAULI GURGAON ROAD,OPPOSITE BRISTOL HOTEL,',
|
|
13
|
-
'CONTACT' => '4131000',
|
|
14
|
-
'CITY' => 'GURGAON',
|
|
15
|
-
'DISTRICT' => 'GURGAON',
|
|
16
|
-
'STATE' => 'HARYAN'
|
|
17
|
-
}
|
|
8
|
+
JSON.parse(File.read 'tests/fixture/HDFC0CAGSBK.json')
|
|
18
9
|
end
|
|
19
10
|
let(:dummy_code) { 'foo' }
|
|
20
11
|
let(:code_double) { double('code double') }
|
|
@@ -36,6 +27,13 @@ describe Razorpay::IFSC::IFSC do
|
|
|
36
27
|
expect(fetched_code.city).to eq mocked_response['CITY']
|
|
37
28
|
expect(fetched_code.district).to eq mocked_response['DISTRICT']
|
|
38
29
|
expect(fetched_code.state).to eq mocked_response['STATE']
|
|
30
|
+
expect(fetched_code.centre).to eq mocked_response['CENTRE']
|
|
31
|
+
expect(fetched_code.micr).to eq mocked_response['MICR']
|
|
32
|
+
expect(fetched_code.upi).to eq mocked_response['UPI']
|
|
33
|
+
expect(fetched_code.imps).to eq mocked_response['IMPS']
|
|
34
|
+
expect(fetched_code.neft).to eq mocked_response['NEFT']
|
|
35
|
+
expect(fetched_code.rtgs).to eq mocked_response['RTGS']
|
|
36
|
+
expect(fetched_code.swift).to eq mocked_response['SWIFT']
|
|
39
37
|
end
|
|
40
38
|
|
|
41
39
|
it 'should set @valid to true and skip local validation' do
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ifsc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Abhay Rana
|
|
8
8
|
- Nihal Gonsalves
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2022-03-21 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: httparty
|
|
@@ -71,6 +71,7 @@ files:
|
|
|
71
71
|
- src/banks.json
|
|
72
72
|
- src/custom-sublets.json
|
|
73
73
|
- src/ruby/bank.rb
|
|
74
|
+
- src/ruby/bank.rb.tpl
|
|
74
75
|
- src/ruby/ifsc.rb
|
|
75
76
|
- src/sublet.json
|
|
76
77
|
- tests/ruby/bank_spec.rb
|
|
@@ -81,7 +82,7 @@ homepage: https://ifsc.razorpay.com
|
|
|
81
82
|
licenses:
|
|
82
83
|
- MIT
|
|
83
84
|
metadata: {}
|
|
84
|
-
post_install_message:
|
|
85
|
+
post_install_message:
|
|
85
86
|
rdoc_options: []
|
|
86
87
|
require_paths:
|
|
87
88
|
- src/ruby
|
|
@@ -96,8 +97,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
96
97
|
- !ruby/object:Gem::Version
|
|
97
98
|
version: '0'
|
|
98
99
|
requirements: []
|
|
99
|
-
rubygems_version: 3.
|
|
100
|
-
signing_key:
|
|
100
|
+
rubygems_version: 3.2.22
|
|
101
|
+
signing_key:
|
|
101
102
|
specification_version: 4
|
|
102
103
|
summary: IFSC code database to help you validate IFSC codes
|
|
103
104
|
test_files:
|