Nima fintech mahsulot hisoblanadi va nima yo‘q
Ekranda pul ko‘ringan hamma narsani fintech deb atashadi — va bu bahoni ikki tomonga ham buzadi. Amaliy chegara bitta belgidan o‘tadi: tizimingiz hisob holati uchun javob beradimi? Agar u faqat bankdan olingan ma’lumotni ko‘rsatsa, bu interfeys va u oddiy veb-ilova qancha tursa, shuncha turadi. Agar u mijozda qancha pul borligini va u bilan nima bo‘lganini o‘zi hal qilsa — bu fintech, barcha talablari bilan.
Tizim qanday qatlamlardan iborat
Fintech mahsulotning arxitekturasi deyarli har doim bir xil, va bu yaxshi xabar: bahs tuzilma haqida emas, tafsilotlar haqida boradi. Qatlam beshta, va ko‘ndalang talablar — audit, monitoring, PCI qamrovi — ularning birortasiga alohida tegishli emas.
Yadro — bu amallar jurnali, «balans» jadvali emas. Balans har doim hisoblanadigan qiymat: o‘tkazilgan amallar yig‘indisi. Balans kimdir yangilaydigan ustunga aylanishi bilanoq, sizda ikkita haqiqat manbai va «nega mijozda 1000, amallar bo‘yicha esa 980» degan savol paydo bo‘ladi, unga javob berib bo‘lmaydi.
Agar balansni amallardan qayta hisoblab bo‘lmasa, demak siz u qayerdan kelganini bilmaysiz.
Regulyator nima talab qiladi va bundan nimasi dasturchiga tegishli
Talablar ko‘p, lekin kodgacha uchta guruh yetib keladi va ularni chalkashtirish qimmatga tushadi.
- PCI DSS — karta ma’lumotlari haqida. Asosiy fikr: standartni bajarishdan ko‘ra chetlab o‘tish arzon. Agar karta raqami hech qachon serveringizga tushmasa, kiritish shakli provayderga tegishli bo‘lsa va sizga token qaytarsa — tekshiruv qamrovingiz bir necha barobar qisqaradi. Bu qaror bir marta va mahsulotning butun umriga qabul qilinadi.
- KYC/AML — mijoz kimligi va pul qayerdan kelgani haqida. Dasturchi uchun bu «pasport yuklash shakli» emas, foydalanuvchi holatlari to‘plami (tasdiqlanmagan, tekshiruvda, tasdiqlangan, rad etilgan, muzlatilgan) va har birida nima qilish mumkinligi qoidalari. Holatlar interfeysdan oldin loyihalanadi.
- Audit izi — ma’lumotni kim va qachon o‘zgartirgani haqida. Talab zerikarli eshitiladi, lekin hammasidan qimmat turadi: jurnal o‘zgarmas bo‘lishi kerak, «amalni o‘chirish» esa imkonsiz buyruq bo‘lishi shart. Storno eskisini tahrirlash bilan emas, yangi yozuv bilan qilinadi.
Keyin qo‘shib bo‘lmaydigan uchta narsa
- 01
Idempotentlik
Tarmoq javobni kafolatlamaydi: mijoz so‘rovni takrorlaydi va himoyasiz siz ikki marta yechasiz. Bu jadvallar va kod darajasida qanday ishlashi — alohida tahlilda, takroriy to‘lovlar haqida.
- 02
O‘zgarmas jurnal
Amallar faqat qo‘shiladi. Tuzatish — storno va yangi yozuv,
updateemas. Aks holda siz na da’voga javob bera olasiz, na auditdan o‘ta olasiz. - 03
Provayder bilan solishtirish
Jurnalingizni bank ko‘chirmasi bilan har kuni taqqoslash. Farqlar har doim bo‘ladi; savol faqat shundaki, siz ular haqida bir kunda o‘zingiz bilasizmi yoki bir oydan keyin mijozdan eshitasizmi.
Ma’lumotlar, migratsiya va o‘sish
Fintech tizimni «yakshanba kechasi» to‘xtatib bo‘lmaydi — pulning dam olish kuni yo‘q, mijozlarning esa vaqt mintaqalari bor. Shuning uchun ma’lumotlar sxemasining har qanday o‘zgarishi ortga qaytish nuqtasi bilan bosqichma-bosqich rejalashtiriladi: batafsil tahlil — jonli bazani yuklama ostida qanday ko‘chirish haqida.
Uchinchisi undan ham oldin va odatda jimgina hal qilinadi: nima saqlangan hisoblanadi. Replikalar va masterni avtomatik almashtirish foydalanuvchanlik beradi, ammo oʻz-oʻzidan mijozga tasdiqlangan yozuv tugun qulashidan omon chiqishiga kafolat bermaydi — bu alohida xossa va u alohida tekshiriladi: master qulaganda maʼlumotlar bilan nima boʻladi. Izolyatsiya darajasi esa yondosh savolni hal qiladi — parallel tranzaksiyalar bir-birida nimani koʻrishga haqli: izolyatsiya darajalari va anomaliyalar.
Oldindan hal qilish kerak bo‘lgan ikkinchi narsa: bitta baza qayerda tugaydi. Amallar jurnali chiziqli va abadiy o‘sadi, shuning uchun u boshidanoq vaqt bo‘yicha bo‘linadi — yuz million satrli jadvalga bo‘linish qo‘shish mumkin, lekin bu alohida loyiha.
Jamoa, muddat va byudjet
Quyida halol mo‘ljallar — bosh sahifadagi kalkulyatordagi bilan bir xil. Fintech oddiy dasturlashdan «murakkab kod» tufayli emas, oddiy loyihada umuman bo‘lmaydigan ish hajmi tufayli qimmat: komplayens, solishtirish, audit, pul stsenariylarini sinash.
Yadro uchun jamoa tarkibi: komplayens bilan gaplasha oladigan mahsulot analitigi; ikki-uchta bekend-dasturchi; frontend; pul stsenariylarini yoza oladigan QA; infratuzilma va monitoring uchun DevOps. Dizayner o‘ylanganidan kechroq qo‘shiladi: amal holatlari tasvirlanmaguncha ekran chizish erta.
Boshlashdan oldingi tekshiruv ro‘yxati
- Hisob holati uchun kim javob beradi — siz yoki hamkor bank?
- Karta ma’lumotlari serveringizga tushadimi? Agar ha bo‘lsa — nega token bilan cheklanib bo‘lmaydi?
- Mijoz qanday holatlarda bo‘lishi mumkin va har birida nima qila oladi?
- Amalni storno qilish qanday ko‘rinadi? (Agar javob «yozuvni o‘chiramiz» bo‘lsa — audit bo‘limiga qayting.)
- Kim bilan va qanchalik tez-tez solishtirasiz, farqni birinchi bo‘lib kim ko‘radi?
- Provayder 30 soniyada javob bermasa nima bo‘ladi?
- To‘lovdan keyin kod, ma’lumotlar va kalitlar kimga tegishli?
Oxirgi band texnik emas, lekin qolgan hammasini belgilaydi. Shartnomada nima bo‘lishi va yaxshi pudratchini qanday ajratish kerakligi — pudratchini qanday tanlash maqolasida.
Ko‘p so‘raladigan savollar
Fintech mahsulotni ishga tushirish uchun litsenziya kerakmi?
Bu kimning pulini ushlab turishingizga bog‘liq. Agar mijoz mablag‘lari hamkor bank hisoblarida yotsa va siz interfeys hamda hisobni ta’minlasangiz, litsenziya ko‘pincha hamkorga kerak, sizga emas. Pul o‘z hisobingizga tushib, siz uni o‘z nomingizdan tasarruf qila boshlaganingizda suhbat boshqacha bo‘ladi. Bu dasturchiga emas, o‘z yurisdiksiyangizdagi yuristga savol — lekin javob arxitekturani o‘zgartiradi, shuning uchun uni startdan oldin berish kerak.
MVP ni uch oyda qilish mumkinmi?
Mumkin, agar MVP tayyor protsessing ustida to‘lov qabul qilish va buyurtmalar hisobi bo‘lsa: 9–14 hafta real. O‘z amallar jurnali, limitlar va solishtirish uch oyda qilinmaydi — kod ko‘pligi uchun emas, pul stsenariylarini sinash kerakligi uchun, sinash esa bu yerda dasturlash bilan bir xil vaqt oladi.
Qaysi arzon: o‘z protsessingimizmi yoki tayyor provayder?
Uch yillik ufqda deyarli har doim provayder — siz foiz to‘laysiz, lekin litsenziya, banklar bilan integratsiya, solishtirish va 24/7 qo‘llab-quvvatlash uchun to‘lamaysiz. O‘z protsessingi hajmda o‘zini oqlaydi, provayder foizi o‘z jamoangiz qiymatidan oshib keta boshlaganda. Hisobni aynan shunday qilish kerak, «bu shunchaki API» deb emas.
Pulga bog‘liq narsalarni qanday sinaysiz?
Alohida stsenariylar to‘plami bilan, u yerda interfeys emas, invariantlar tekshiriladi: amallar yig‘indisi balansga teng, so‘rov takrori ikkinchi amal yaratmaydi, bekor qilingan amal iz qoldiradi, tungi solishtirish to‘g‘ri chiqadi. Bunday testlar koddan oldin yoziladi — ular spetsifikatsiyaning o‘zi.
Siz bunday tizimlar qilganmisiz?
Ha — to‘lov yadrolari, bank dashbordlari, hamyonlar. Buyurtmachilar nomini chop etmaymiz: shartnomalar NDA bilan yopiq, loyihalarning bir qismi white-label modeli bo‘yicha boradi, ya’ni mahsulot mijoz brendi ostida chiqadi. O‘zaro NDA asosidagi qo‘ng‘iroqda shartnomalarni, tizimlarning o‘zini ishda ko‘rsatamiz va tavsiya uchun kontaktlar beramiz.
Manbalar
Maqoladagi da’volarni tekshirish mumkin: quyida qayta hikoya emas, birlamchi manbalar.
- 01PCI Security Standards Council — PCI DSS — standartning rasmiy matni va tekshiruv qamrovi talablari
- 02Stripe API — Idempotent requests — idempotentlikning sanoat darajasidagi amalga oshirilishi
- 03Double-entry bookkeeping — besh yuz yillik tamoyil va hisobda pulni yo‘qotmaslikning eng yaxshi usuli
Maqolalarni loyihalarda ishlayotgan muhandislar yozadi — lekin ism bilan imzolanmaydi. Sabab saytda mijoz logotiplari yo‘qligi bilan bir xil: deyarli barcha loyihalar NDA yoki white-label ostida boradi, va to‘lov yadrosi haqidagi maqola muallifi mijozni logotipdan kam bo‘lmagan darajada ko‘rsatadi. Ism o‘rniga matn uchun qoidalar bilan javob beramiz — bundan mustasno: o‘z ochiq kodimiz haqidagi maqolalar muallif ismi bilan imzolanadi.
Qanday yozamiz va nimani tekshiramiz