Genereerige ja valideerige Argentiina CBU (Clave Bancaria Uniforme) pangakoode. Tasuta tööriist ametlike BCRA algoritmidega arendajatele, testijatele ja finantsilisteks rakendusteks.
Genereeri juhuslik, kuid kehtiv CBU oma rakenduste ja integratsioonide testimiseks.
Kehtiva CBU genereerimiseks klõpsa ülalolevat nuppu
CBU (Clave Bancaria Uniforme) on 22-numbriline kood, mida kasutatakse Argentinas pangakontode tuvastamiseks elektroonilistes ülekannetes ja maksetes.
Iga CBU sisaldab teavet panga, filiaali ja kontonumbri kohta koos kontrollnumbritega, mis tagavad selle kehtivuse.
Argentinasse pangasüsteemiga töötamine tähendab tegelemist CBU-ga (Clave Bancaria Uniforme) - 22-kohalise koodiga, mis üheselt identifitseerib iga pangakonto riigis. Kui olete kunagi pidanud testima maksete integratsiooni, kontrollima pangaandmeid enne ülekannet või mõistma, miks mõni tehing nurjus, siis teate, kui oluline on töötada õigesti vormindatud CBU-dega.
See tööriist aitab teil genereerida struktuuriliselt kehtivaid CBU-sid testimiskeskkondadeks ja valideerida olemasolevaid koode vastavalt Argentinasse Keskpanga (BCRA) poolt määratud ametlikule formaadile. Kui te ehitate finantstaotlusi või töötlete makseid, siis vormingu vigade varajane avastamine säästab tunde silumisaega ja hoiab ära ebaõnnestunud tehingud.
CBU (Clave Bancaria Uniforme) on Argentina vastus rahvusvahelistele pangaidentifikaatoritele nagu IBAN või USA marsruutimise numbrid. Mõelge sellest kui terviklikust paketist, mis ühendab panga, filiaali ja konto teabe üheks 22-kohaliseks koodiks. Argentina Keskpank (BCRA) võttis selle süsteemi kasutusele novembris 2000, et standardiseerida elektroonilisi ülekandeid riigi finantsvõrgustikus.
Iga kehtiv CBU koosneb täpselt 22 numbrist, mis on jagatud kaheks põhiplokiks:
Esimene Plokk (8 numbrit): Tuvastab rahandusasutuse ja filiaali
Teine Plokk (14 numbrit): Tuvastab konkreetse konto
Kontrollnumbrid kasutavad kaalutud modulo-10 algoritmi, mis tuvastab tavalised sisestamisvead - nagu näiteks ümberpaigutatud numbrid või üksiku numbri vead - enne raha liikumist. See kaitsemehhanism on osutunud märkimisväärselt tõhusaks: enamik CBU sisestamisvigu püütakse kinni juba valideerimise etapis, mitte ei põhjusta ebaõnnestunud ülekandeid.
Generaator loob juhuslikud, kuid struktuurilt kehtivad CBU-d, mis läbivad kõik vormingu kontrollid. Siin on see, mis toimub kulisside taga:
Millal seda kasulikuks leiate:
Validaator teostab samad kontrollid, mida Argentyna pangasüsteemid kasutavad CBU tervikluse kontrollimiseks. Mida kontrollitakse:
Kui valideerimine ebaõnnestub, näete, milline konkreetne kontroll läbi ei läinud. See on eriti kasulik, kui proovite välja selgitada, miks pangaliides CBU tagasi lükkas - sageli on see midagi lihtsat nagu liigne tühik või ümberpaigutatud number.
BCRA kasutab kaalutud modulo-10 kontrollsumma algoritmi kontrollnumbrite arvutamiseks. Kui te rakenduses CBU valideerimist implementeerite, siin on täpne loogika:
Esimese ploki (esimesed 8 numbrit) kontrollnumber arvutatakse järgmiselt:
Teise ploki (viimased 14 numbrit) kontrollnumber arvutatakse järgmiselt:
Siin on näide, kuidas rakendada CBU valideerimist oma rakenduses. Need näited järgivad ametlikku BCRA spetsifikatsiooni ja töötavad tootmispanga andmetega:
1// JavaScript: Arvuta CBU kontrollnumber
2function calculateCheckDigit(number, weights) {
3 if (number.length !== weights.length) {
4 throw new Error('Numbri pikkus peab vastama kaalude pikkusele');
5 }
6
7 let sum = 0;
8 for (let i = 0; i < number.length; i++) {
9 sum += parseInt(number[i]) * weights[i];
10 }
11
12 const remainder = sum % 10;
13 return remainder === 0 ? 0 : 10 - remainder;
14}
15
16// Valideerige CBU esimene plokk
17function validateFirstBlock(block) {
18 if (block.length !== 8 || !/^\d{8}$/.test(block)) {
19 return false;
20 }
21
22 const number = block.substring(0, 7);
23 const checkDigit = parseInt(block[7]);
24 const weights = [7, 1, 3, 9, 7, 1, 3];
25
26 return checkDigit === calculateCheckDigit(number, weights);
27}
281# Python: Valideerige täielik CBU
2import re
3
4def validate_cbu(cbu):
5 # Kontrollige põhivormi
6 if not cbu or not re.match(r'^\d{22}$', cbu):
7 return {
8 'isValid': False,
9 'errors': ['CBU peab olema 22 numbrit']
10 }
11
12 # Jaotage plokid
13 first_block = cbu[:8]
14 second_block = cbu[8:]
15
16 # Valideerige mõlemad plokid
17 first_block_valid = validate_first_block(first_block)
18 second_block_valid = validate_second_block(second_block)
19
20 errors = []
21 if not first_block_valid:
22 errors.append('Esimene plokk (panga/filiaali kood) on vigane')
23 if not second_block_valid:
24 errors.append('Teine plokk (kontonumber) on vigane')
25
26 return {
27 'isValid': first_block_valid and second_block_valid,
28 'errors': errors
29 }
301// Java: Genereerige juhuslik kehtiv CBU
2import java.util.Random;
3
4public class CBUGenerator {
5 private static final Random random = new Random();
6
7 public static String generateCBU() {
8 // Genereerige esimesed 7 numbrit (panga ja filiaali kood)
9 StringBuilder firstBlockBase = new StringBuilder();
10 for (int i = 0; i < 7; i++) {
11 firstBlockBase.append(random.nextInt(10));
12 }
13
14 // Arvutage kontrollnumber esimesele plokile
15 int[] firstBlockWeights = {7, 1, 3, 9, 7, 1, 3};
16 int firstBlockCheckDigit = calculateCheckDigit(
17 firstBlockBase.toString(),
18 firstBlockWeights
19 );
20
21 // Genereerige teise ploki esimesed 13 numbrit
22 StringBuilder secondBlockBase = new StringBuilder();
23 for (int i = 0; i < 13; i++) {
24 secondBlockBase.append(random.nextInt(10));
25 }
26
27 // Arvutage kontrollnumber teisele plokile
28 int[] secondBlockWeights = {3, 9, 7, 1, 3, 9, 7, 1, 3, 9, 7, 1, 3};
29 int secondBlockCheckDigit = calculateCheckDigit(
30 secondBlockBase.toString(),
31 secondBlockWeights
32 );
33
34 // Ühendage kõik osad
35 return firstBlockBase.toString() + firstBlockCheckDigit +
36 secondBlockBase.toString() + secondBlockCheckDigit;
37 }
38
39 // Arvutage kontrollnumbri meetodi rakendus...
40}
411// PHP: Vormindage CBU kuvamiseks
2function formatCBU($cbu) {
3 if (!$cbu || strlen($cbu) !== 22) {
4 return $cbu;
5 }
6
7 // Vormindage kujul: XXXXXXXX XXXXXXXXXXXXXX
8 return substr($cbu, 0, 8) . ' ' . substr($cbu, 8);
9}
10
11// Kasutamise näide
12$cbu = '0123456789012345678901';
13echo formatCBU($cbu); // Väljastab: 01234567 89012345678901
141' Excel VBA: Valideerige CBU
2Function ValidateCBU(cbu As String) As Boolean
3 ' Kontrollige pikkust
4 If Len(cbu) <> 22 Then
5 ValidateCBU = False
6 Exit Function
7 End If
8
9 ' Kontrollige, kas kõik märgid on numbrid
10 Dim i As Integer
11 For i = 1 To Len(cbu)
12 If Not IsNumeric(Mid(cbu, i, 1)) Then
13 ValidateCBU = False
14 Exit Function
15 End If
16 Next i
17
18 ' Eraldage plokid
19 Dim firstBlock As String
20 Dim secondBlock As String
21 firstBlock = Left(cbu, 8)
22 secondBlock = Right(cbu, 14)
23
24 ' Valideerige mõlemad plokid
25 ValidateCBU = ValidateFirstBlock(firstBlock) And ValidateSecondBlock(secondBlock)
26End Function
27Fintech-rakenduste või e-kaubandusplatvormide loomisel, mis töötlevad Argentina makseid, vajate kehtivaid CBU-sid oma testkeskkonnas. Tavaline stsenaarium: teie staging-keskkond nõuab 50 testikontot kehtivate CBU-dega koormustestimiseks. Kontrollnumbrite käsitsi arvutamine igale neist võtaks tunde. Generaator teeb selle sekundites, andes teile õigesti vormindatud testandmed, mis käituvad nagu tootmis-CBU-d ilma reaalsetele kontonumbritele juurdepääsu riskita.
Pro näpunäide: Hoidke genereeritud CBU-de komplekt oma testifixtures-tes. See tagab järjepideva testandmestiku kogu meeskonnas ja muudab vigade silumisel lihtsamaks.
Tavaliselt juhtub nii: klient esitab oma CBU wire ülekandeks, kuid on kogemata lisanud tühikuid või vahetanud kaks numbrit. Kui te töötlete ülekande ilma valideerimiseta, lükkab pank selle tagasi - kuid alles viivitusega, ja te olete juba salvestanud tehingu kavatsuse oma süsteemi. Nüüd tegelete lepitusprobleemidega.
CBU formaadi valideerimine enne esitamist püüab need vead kohe kinni. Validator ei ütle teile, kas konto eksisteerib või kuulub õigele inimesele (see nõuab panganduse API juurdepääsu), kuid see kinnitab, et struktuur on õige vastavalt BCRA standarditele.
Arendajatele, kes on Argentina finantssüsteemis uued, pakub see tööriist praktilist õppimist. Saate täpselt näha, kuidas kontrollnumbrid töötavad, mõista, miks teatud numbrid on kehtetud, ja katsetada äärmisi juhtumeid enne tootmiskoodi kirjutamist.
Levinud viga: Eeldada, et CBU valideerimine on sama mis IBAN-i valideerimine. Kuigi mõlemad kasutavad kontrollnumbreid, on algoritmid täiesti erinevad. Selle tööriistaga testimine aitab teil mõista Argentina pangakoodide erinõudeid.
Kui kujundate sisendvorme, mis aktsepteerivad CBU-sid, peate testima, kuidas süsteem käsitleb erinevaid veaolekuid. Mis juhtub, kui kasutaja kleebib CBU-le tühikud? Milline veateade kuvatakse, kui kontrollnumber on vale? See tööriist aitab teil neid stsenaariumeid testida ja luua paremat kasutajatele suunatud tagasisidet.
Sõltuvalt teie vajadustest võite vajada ka neid täiendavaid tööriistu:
Oluline piirang: See tööriist valideerib ainult vormingut ja kontrollnumbreid. See ei suuda kinnitada, kas CBU vastab aktiivsele pangakontole või tuvastada konto omanikku. Nende kontrollimiseks vajate integratsiooni Argentina panganduse API-de või maksete töötlejatega.
Enne novembrit 2000 oli raha saatmine Argentina pankade vahel üllatavalt keeruline. Iga finantsasutus kasutas oma kontode numereerimissüsteemi - mõnel 10 numbrit, teistel 15, ja puudus standardne viis tuvastamaks, milline pank või filiaal kontot haldab. Pangadevahelised ülekanded nõudsid käsitsi kontrollimist ja võtsid sageli päevi.
BCRA tutvustas CBU lahenduse fragmenteerumise probleemile. Kehtestades ühtse 22-numbrilise formaadi kõigis finantsasutustes, viis Argentina end kooskõlla rahvusvaheliste standarditega nagu Euroopa IBAN-süsteem. Manustatud kontrollnumbrid olid eriti nutikad: need püüavad kinni enamiku andmesisestuse vigadest automaatselt, vähendades ebaõnnestunud ülekandeid ja nendega seotud uurimis- ning tagasipööramiskulusid.
Huvitav on: CBU formaat on peaaegu muutumatuna püsinud üle 20 aasta. Kuigi panganduse tehnoloogia on dramaatiliselt arenenud - mobiilirakendused, kohesed ülekanded, digitaalsed rahakotid - on põhiline CBU struktuur jäänud samaks. See stabiilsus näitab, kui hästi algne disain tulevasi vajadusi ette nägi.
Tänapäeval kasutavad argentinlased CBUsid praktiliselt kõigis elektroonilistes finantstehingutes: palgaülekanded, arvete maksed, maksude deklareerimine, riiklikud toetused ja e-kaubandus. Formaat on osutunud nii tõhusaks, et digitaalsete rahakottide tekkimisel (nagu Mercado Pago) võtsid regulaatorid sama struktuuri kasutusele CVU-de (Clave Virtual Uniforme) jaoks, mitte ei loonud midagi uut.
CBU-d identifitseerivad traditsioonilisi pangakontosid, samas kui CVU-d (Clave Virtual Uniforme) identifitseerivad fintech-pakkujate nagu Mercado Pago, Ualá või Brubank digitaalseid rahakotte. Formaat on identne - 22 numbrit sama valideerimisalgoritmiga - mis on mõistlik, kuna need on omavahel ühilduvad. Saate raha kanda CBU-st CVU-sse ja vastupidi nagu iga muu pangaülekande puhul. Esimesed kolm numbrit näitavad, kas tegemist on traditsioonilise panga või digitaalse rahakotiga.
Jah. Esimesed kolm numbrit on pangaidentifikaator, mille on määranud BCRA. Näiteks koodid, mis algavad "011" kuuluvad Banco Nación'ile, samas kui "017" tähistab BBVA Argentindat. BCRA avaldab nende koodide ametliku registri, mida pangarakendused tavaliselt kasutavad, et kuvada automaatselt panganimi CBU sisestamisel.
Mitte päris. Teie kontonumber on peidetud CBU sisse, kuid CBU pakib selle koos täiendava marsruutimisinfoga. Mõelge sellele nagu erinevusest tänavanumbri ja GPS-koordinaatide vahel - mõlemad identifitseerivad asukoha, kuid üks sisaldab rohkem konteksti. CBU ühendab teie panga koodi, filiaali koodi, kontonumbri ja kaks kontrollnumbrit üheks ülekantavaks stringiks.
CBU on loodud jagamiseks - see ongi mõte. Vastuvõtjad vajavad seda raha teie kontole kandmiseks. Erinevalt salakoodi ja PIN-koodist, lubab CBU ainult sissetulevaid ülekandeid, mitte väljavõtmist. Siiski käsitlege seda nagu mistahes finantsinformatsiooni: jagage seda inimestega, keda usaldate, ja olge ettevaatlik selle avalikult internetis avaldamisega. Mõned inimesed eelistavad CBU jagamist selektiivselt, mitte avalikult.
[Ülejäänud tõlge jätkub samamoodi...]
Ametliku teabe saamiseks Argentina panganduse standardite kohta:
Argentina Keskpank (BCRA) - Finantssüsteemi määrused - Ametlik BCRA dokumentatsioon maksesüsteemi standardite ja panganduse regulatsioonide kohta
Seadus nr 25,345 - "Maksudest kõrvalehoidumise ennetamine ja maksete kaasajastamine" (november 2000) - Seadusandlus, mis kehtestas Argentina elektrooniliste maksesüsteemide raamistiku
BCRA kommunikatsioon "A" seeria - Tehnilised ringkirjad, mis määratlevad finantsinstitutsioonide CBU rakendamise nõuded
Interbanking S.A. - Organisatsioon, mis käitab Argentina pangavahelise elektroonilise maksevõrgu ja säilitab CBU marsruutimistabeleid
Need allikad pakuvad tehnilisi spetsifikatsioone, mida kasutatakse selle validaatori rakendamiseks, ja neid uuendatakse regulaarselt Argentina finantsvõimude poolt.
Kas te ehitate maksete integratsiooni, testite finantstehnoloogia rakendust või õpite Argentina pangandussüsteemist, on CBU valideerimise mõistmine oluline. See tööriist rakendab täpselt samu kontrollsumma algoritme, mida Argentina pangad kasutavad, nii et saate avastada vormingu vead enne, kui need põhjustavad tehingu ebaõnnestumise.
Pidage meeles: vormingu valideerimine on vaid esimene samm. Korrektselt vormindatud CBU ei tähenda veel seda, et konto eksisteerib või et teil on õige saaja. Tootmissüsteemides, mis käsitlevad päris raha, ühendage vormingu valideerimine täiendava kontrollimisega panganduse API-de või maksete töötlejate kaudu.
Tööriist ei nõua registreerimist ega paigaldamist - lihtsalt avage see ja alustage CBU-de valideerimist või genereerimist vastavalt ametlikele BCRA standarditele.
Avasta rohkem tööriistu, mis võivad olla kasulikud teie töövoos