PesaBridge
Maarifa yote
UhandisiJun 2026 · 11 dakika za kusoma

Kwa nini leja ya pochi yako lazima iwe ya kuingiza mara mbili

Salio zinazohifadhiwa katika jedwali moja hupotoka. Leja ya kiwango cha ulipaji haipotoki. Hii ndiyo kanuni isiyobadilika inayomwezesha mdhibiti kuamini hesabu zako.

T
The PesaBridge team · Engineering

Njia ya haraka zaidi ya kuzindua pochi ni namba moja katika safu moja: safu ya balance unayoiongeza pesa zinapoingia na kuipunguza zinapotoka. Inafanya kazi kwenye maonyesho. Inafanya kazi kwenye majaribio. Kisha, mahali fulani karibu na miamala elfu kumi ya kwanza halisi, mtu anaendesha ripoti, namba hazilingani, na hakuna anayeweza kusema pesa zilienda wapi. Thamani halisi inapohusika, hilo si hitilafu tu: ni mwisho wa uaminifu, na uaminifu ndio kitu pekee ambacho bidhaa ya kifedha inauza kweli.

Nidhamu inayozuia hili ina umri wa miaka mia sita. Uhasibu wa kuingiza mara mbili si urembo wa kihasibu uliobandikwa kwenye programu; ni muundo wa data unaofanya mfumo wa fedha uthibitishike. Ndiyo sababu kila leja ya kiwango cha ulipaji imejengwa juu yake, na ndiyo sababu leja ya pochi yako lazima ijengwe hivyo pia.

Kanuni isiyobadilika ambayo kila kitu kingine kinategemea

Katika leja ya kuingiza mara mbili, pesa haziundwi wala haziharibiwi: zinahama tu. Kila muamala huweka seti ya maingizo ambayo debiti na krediti zake zinajumlika kuwa sifuri kamili. Kuweka pesa kunadebiti akaunti ya float ya wakala na kukrediti pochi ya mteja kwa kiasi kilekile. Kutuma kunadebiti mtumaji, kunakrediti mpokeaji, na kunakrediti akaunti ya mapato kwa ada. Katika mfumo mzima, kila wakati:

Jumla ya debiti zote daima ni sawa na jumla ya krediti zote. Hesabu zinalingana kuwa sifuri. Daima.

Sifa hiyo moja inafanya kazi kubwa mno. Inamaanisha kwamba hakuna njia yoyote ya msimbo inayoweza kuunda au kuharibu thamani: salio linaweza kubadilika tu kama kioo cha salio jingine linalobadilika. Inamaanisha kwamba mkurugenzi wa fedha anaweza kusaini hesabu na mdhibiti anaweza kuziamini, kwa sababu mfumo ni sahihi kwa muundo wake, si kwa matumaini. Na inamaanisha kwamba usuluhishi unaacha kuwa uchunguzi wa kipelelezi na unakuwa sifa unayoweza kuithibitisha na kuijaribu.

Linganisha na mbinu ya salio moja. Huko, salio ni ukweli usio na chanzo. Likiwa si sahihi, huwezi kujua kama krediti ilitumika mara mbili, debiti ilipotea, au mashindano ya maombi yaliingiliana na maandishi mawili. Una namba, lakini huna historia. Leja ya kuingiza mara mbili, zaidi ya yote, ni mfumo unaohifadhi historia.

Akaunti, maingizo, na kwa nini pesa zinaundwa kama mwendo

Mabadiliko ya fikra ni kuacha kufikiria salio kama kitu unachohifadhi na kuanza kulifikiria kama kitu unachokipata kwa kukokotoa. Salio ni jumla ya maingizo yaliyowekwa kwenye akaunti. Pochi ni akaunti. Float za mawakala ni akaunti. Mapato ya ada, akaunti za muda, za ulipaji, fedha zisizodaiwa: zote ni akaunti. Kila mwendo wa thamani ni muamala wenye maingizo mawili au zaidi yanayojumlika kuwa sifuri.

Hili lina matokeo makubwa: leja ni ya kuongeza tu. Hubadilishi salio mahali pake; unaweka maingizo mapya. Historia haiandikwi upya kamwe. Hicho ndicho kinachofanya mfumo ukaguliwe: kila shilingi iliyowahi kuhama iliacha alama ya kudumu na iliyopangwa, na salio lolote katika wakati wowote uliopita linaweza kujengwa upya kwa kurudia maingizo hadi wakati huo.

Sehemu ambazo watu husahau, na hulipia baadaye

Kanuni isiyobadilika ni ya lazima lakini haitoshi. Sifa tatu hugeuza leja iliyo sahihi kwenye karatasi kuwa leja inayostahimili mitandao halisi na washambulizi halisi.

Kutorudiwa (idempotency)

Mitandao hukatika. Mteja anatuma ombi, jibu linapotea njiani, na mteja, kwa usahihi, anajaribu tena. Bila kinga, ombi la pili linaweka muamala wa pili na mteja anatozwa mara mbili. Suluhisho ni ufunguo wa kutorudiwa: kila operesheni ya kimantiki inabeba tokeni ya kipekee, leja inarekodi tokeni ambazo tayari imezitumia, na ombi lililorudiwa lenye tokeni inayojulikana linarudisha matokeo ya awali badala ya kuweka tena.

Inaonekana rahisi lakini ina ujanja. Ukaguzi na uandishi lazima viwe kitendo kimoja kisichogawanyika: majaribio mawili yakifika wakati mmoja, moja tu lazima lishinde na jingine lione matokeo, bila nafasi yoyote ambapo yote mawili yanaendelea. Ukikosea hapa, umejenga matumizi mara mbili chini ya mzigo, hasa hitilafu isiyoonekana kwenye majaribio na inayoonekana siku ya uzinduzi.

Ubatilishaji, si ufutaji

Mambo huharibika: mgogoro, kosa, dai la udanganyifu. Silika ni kufuta muamala husika. Usifute kamwe. Muamala uliofutwa ni tundu katika njia ya ukaguzi, na mdhibiti huona tundu kama kuficha jambo. Badala yake weka ubatilishaji: muamala mpya ambao maingizo yake ni kioo cha ule wa awali, huku wa awali ukibaki mzima. Athari halisi kwenye salio ni sifuri; historia inaonyesha kosa na marekebisho yake, pamoja na sababu na mhudumu aliyehusika. Injini moja ya ubatilishaji inayoweza kurudisha huduma yoyote (P2P, Lipa Bili, Nunua Bidhaa, pesa taslimu kwa wakala, float, akiba) ndiyo tofauti kati ya mfumo unaokaguliwa na ubishi.

Ukaguzi wa awali

Salio, mipaka na hali ya KYC huthibitishwa kabla muamala haujawekwa, ndani ya operesheni ileile isiyogawanyika inayouweka: kamwe si baadaye, na kamwe si ndani ya programu ambako vinaweza kukwepwa. Kikomo ambacho mteja hawezi kuvuka si kitufe kilichozimwa; ni sharti linalotekelezwa mahali pesa zingehama. Programu ni urahisi tu; leja ndiyo mamlaka. Kanuni yoyote yenye uzito lazima iishi mahali pesa zinapoishi.

Maombi ya wakati mmoja: mahali miundo sahihi inapokufa

Maombi mawili yanagonga pochi moja kwa wakati uleule: kutuma na kutoa pesa, kila moja halali peke yake, lakini kwa pamoja yanazidi salio. Utekelezaji wa kijinga unasoma salio katika yote mawili, unaliona linatosha katika yote mawili, na unaweka yote mawili, hivyo akaunti inaingia kwenye deni. Haya ndiyo mashindano ya kifedha ya kawaida, na hayaonekani mpaka uwe chini ya maombi halisi ya wakati mmoja.

Kinga ni kuifanya akaunti kuwa kipimo cha kupanga foleni: kuweka kwenye akaunti kunachukua kufuli au kunatumia uandishi wa masharti usiogawanyika, ili maombi mawili yapangwe, la pili lione athari ya la kwanza, na moja tu lifaulu. Sehemu ngumu ni kufanya hivi bila kupanga foleni leja nzima: kufunga kwa kila akaunti, si kwa jumla, ili mfumo ubaki wa haraka huku ukibaki sahihi. Hili ndilo aina ya tatizo linalotenganisha wahandisi waliowahi kujenga leja na wale wanaokaribia kujifunza kwa nini ni ngumu.

Usuluhishi unakuwa sifa, si zoezi la dharura

Katika mfumo wa salio moja, usuluhishi ni uchunguzi wa kila usiku: kutoa kila kitu, kulinganisha na njia za malipo, kuwinda tofauti, na kutumaini kuipata kabla ya asubuhi. Katika mfumo wa kuingiza mara mbili, usuluhishi kwa kiasi kikubwa ni ukweli unaojithibitisha: akaunti za ndani zinajumlika kuwa sifuri kwa muundo wake, na kazi iliyobaki ni kulinganisha ulipaji wa nje (kile benki, mtoa huduma wa pesa za simu na mchakataji wa kadi walichohamisha kweli) na akaunti za muda na za ulipaji ambazo leja tayari inazifuatilia. Tofauti zinajitokeza kama maingizo mahususi yasiyolingana yenye swali wazi, si kama namba iliyopotea isiyo na historia.

Mfano halisi: kutuma mara moja, kumewekwa

Fikiria mteja anayemtumia rafiki 1,000, kwa ada ya 25. Katika leja ya kuingiza mara mbili, kutuma huko kumoja ni muamala mmoja wenye maingizo matatu. Viwango ni vya mfano.

AkauntiDebitiKrediti
Pochi ya mtumaji1,025
Pochi ya mpokeaji1,000
Mapato ya ada25
Jumla1,0251,025

Debiti ni sawa na krediti, kwa hiyo muamala unajumlika kuwa sifuri. Kila swali unaloweza kuuliza kuuhusu lina jibu katika maingizo: mtumaji alilipa kiasi gani, mpokeaji alipokea kiasi gani, mtoa huduma alipata kiasi gani, na lini. Ikiwa kutuma huko kutabatilishwa baadaye, muamala wa kioo unaweka mistari ileile mitatu kinyume, na yote miwili inabaki katika historia.

Pesa taslimu kwa wakala, zimewekwa

Miamala ya mawakala inaonyesha kwa nini muundo huu unakua. Mteja anapoweka 2,000 taslimu kwa wakala, float ya kielektroniki ya wakala inahamia kwa mteja, na wakala anapata kamisheni. Kwa kamisheni ya mfano ya 20:

AkauntiDebitiKrediti
Float ya wakala2,000
Pochi ya mteja2,000
Gharama ya kamisheni20
Kamisheni inayodaiwa na wakala20
Jumla2,0202,020

Pesa taslimu zenyewe haziigusi leja kamwe, kwa sababu zilibadilisha mikono kimwili kaunta. Kile leja inachorekodi ni thamani ya kielektroniki inayohama kutoka kwa wakala kwenda kwa mteja, na wajibu wa kumlipa wakala kwa huduma. Kamisheni zinapolipwa, muamala mwingine uliosawazishwa unafuta deni hilo. Hakuna kinachokadiriwa, hakuna kinachohesabiwa baadaye kwenye lahajedwali.

Kubuni orodha ya akaunti

Akaunti unazounda huamua maswali ambayo leja inaweza kujibu. Jukwaa la pochi kwa kawaida linahitaji:

  • Pochi za wateja, mawakala, wafanyabiashara na makampuni, akaunti moja kila moja;
  • Akaunti za mapato ya ada zilizogawanywa kwa bidhaa, ili uone kila huduma inaingiza kiasi gani;
  • Gharama ya kamisheni na kamisheni zinazodaiwa kwa mawakala na washirika;
  • Akaunti za ulipaji kwa kila mshirika wa nje: kila benki, swichi, mtoza bili na njia ya malipo;
  • Akaunti za muda kwa pesa ambazo mwisho wake bado haujathibitishwa, kama uhamisho unaosubiri jibu la mshirika;
  • Kioo cha ulinzi wa fedha kinachofuatilia kinachopaswa kuwa kwenye akaunti ya amana, ili ulinganisho wa kila siku na taarifa ya benki uwe ukaguzi mmoja.

Jaribio lenye manufaa: ikiwa idara ya fedha inauliza swali na jibu linahitaji lahajedwali, huenda unakosa akaunti.

Kuijaribu leja ipasavyo

Majaribio ya kawaida ya vipande vya msimbo hayatoshi kwa mfumo ambao haupaswi kukosea kamwe. Majaribio yenye uzito hukagua sifa badala ya mifano:

  • Kila muamala unajumlika kuwa sifuri, ukizalishwa katika maelfu ya aina za miamala na viwango vya nasibu.
  • Kurudia ni sawa na hali: kujenga upya kila salio kutoka kwenye maingizo kunatoa hasa salio zilizohifadhiwa.
  • Majaribio ya kurudia hayazalishi nakala: kutuma ombi lilelile mara nyingi, hata kwa wakati mmoja, kunaweka mara moja tu.
  • Mashindano hayaingizi deni kamwe: kurusha debiti zinazoshindana kwenye akaunti moja hakuishushi chini ya kikomo chake.
  • Ubatilishaji unarejesha: kubatilisha muamala wowote kunarudisha kila salio lililoathiriwa kwenye thamani yake ya awali.

Majaribio haya ni sehemu ya mchakato wa kutoa matoleo, na yanapaswa pia kuendeshwa kwenye data ya uzalishaji kwa hali ya kusoma tu, ili kanuni isiyobadilika ikaguliwe mfululizo kwenye hesabu halisi, si kwenye data ya majaribio pekee.

Kuhama kutoka mfumo wa salio moja

Timu nyingi hugundua kanuni hizi baada ya uzinduzi. Kuhama kunawezekana bila kusimamisha huduma:

  1. Kufungia muundo wa salio zilizopo na kuchukua picha yake katika muda wa kukata.
  2. Kuunda katika leja mpya miamala ya salio la kufungua inayoweka kila salio la picha dhidi ya akaunti ya mtaji au ya uhamisho.
  3. Kuendesha mifumo yote miwili sambamba kwa muda, kuweka kila muamala mpya katika yote miwili na kulinganisha salio kila siku.
  4. Kuchunguza kila tofauti mpaka uendeshaji sambamba uwe safi kwa siku kadhaa mfululizo.
  5. Kuhamisha usomaji kwenda leja mpya, kisha kuondoa safu ya zamani ya salio.

Uendeshaji sambamba kwa kawaida hufichua makosa ya kihistoria katika mfumo wa zamani. Tenga muda wa kuyatatua kwa uaminifu badala ya kulazimisha leja mpya ilingane na namba isiyo sahihi.

Faida yake

Jenga leja kwa njia hii na mfululizo wa mambo magumu unakuwa rahisi. Taarifa za akaunti ni hoja ya kuuliza juu ya maingizo. Ukaguzi ni kurudia. Migogoro ina kumbukumbu za maandishi. Njia mpya (kutuma kwa USSD, kutuma kwa programu, kutoza kupitia API) ni milango tofauti tu ya kuingia kwenye kiini kilekile kilichohakikishwa, kumaanisha kwamba haziwezi kupotoka kutoka kwa kila mmoja. Kanuni zinaishi mahali pamoja, zinatekelezwa mara moja, kwa kila mtu.

Ijenge kwa njia ya haraka na unarithi kinyume chake: namba usiyoweza kuieleza, usuluhishi usioweza kuuamini, na siku ya uzinduzi ambapo unagundua kwamba kitu cha bei nafuu zaidi kujenga pia kilikuwa ghali zaidi kumiliki.

Zaidi ya sarafu moja

Pochi zinazoshughulikia fedha za kutoka nje au malipo ya kikanda hukutana na kipimo cha pili: sarafu. Kanuni inabaki ileile, lakini inatumika kwa kila sarafu. Kila akaunti inashikilia sarafu moja, na kila muamala lazima ujumlike kuwa sifuri katika kila sarafu unayoigusa. Ubadilishaji kwa hiyo ni miguu miwili iliyosawazishwa inayounganishwa na akaunti ya kubadilisha fedha: shilingi za mteja zinahamia kwenye nafasi ya shilingi ya mtoa huduma, na dola zinahama kutoka nafasi ya dola ya mtoa huduma kwenda kwa mpokeaji. Akaunti za kubadilisha fedha zinaonyesha hatari ya sarafu ya mtoa huduma wakati wowote, ambacho ndicho hasa idara ya hazina inahitaji kudhibiti hatari. Kuchanganya sarafu katika akaunti moja, au kubadilisha papo hapo bila kurekodi miguu yote miwili, ndiyo njia ambayo leja za sarafu nyingi hupoteza pesa kimya kimya.

Taarifa, kufunga mwezi na ukaguzi

Kwa sababu salio zinapatikana kutoka kwenye maingizo, taarifa ni maingizo ya akaunti katika kipindi fulani tu, yenye salio la kufungua na la kufunga ambayo lazima yakubaliane na maingizo yaliyo katikati yake. Kufunga mwezi kunakuwa ukaguzi badala ya mradi: mizania ya majaribio inajumlika kuwa sifuri, ulinzi wa fedha unalingana na benki, akaunti za muda zimeelezwa, na jumla ya ada na kamisheni zinakubaliana na ripoti za bidhaa. Wakaguzi wanaweza kuchagua salio lolote na kulifuatilia hadi miamala binafsi, kila mmoja ukiwa na muda, njia, kumbukumbu na, mtu alipohusika, mhudumu. Ufuatiliaji huo ndio unaofanya ukaguzi wa kwanza uwe jambo la kawaida badala ya kutisha.

Akaunti za muda, zikishughulikiwa vizuri

Akaunti ya muda ni mahali pesa zinaposubiri wakati mwisho wake bado haujulikani: uhamisho kwenda mtandao mwingine unaosubiri uthibitisho, amana ambayo kumbukumbu yake hailingani na mteja yeyote, malipo ya mshirika yaliyofika bila maelezo. Ni muhimu kwa sababu inaweka hesabu sawa wakati swali bado liko wazi. Inakuwa hatari inapogeuka mahali ambapo pesa zinasahaulika. Utaratibu mzuri ni rahisi: kila kipengele kwenye akaunti ya muda kinabeba kumbukumbu yake na sababu ya kuwa pale, kila kipengele kina mmiliki na umri, salio linapitiwa kila siku, na chochote kilichozidi siku chache kinapandishwa ngazi. Salio la akaunti ya muda linaloongezeka tu ni ishara kwamba kitu fulani juu kimeharibika.

Maswali yanayoulizwa mara kwa mara

Je, kuingiza mara mbili ni polepole kuliko kusasisha salio?

Kuweka maingizo mawili au matatu badala ya sasisho moja kunaongeza gharama ndogo, na salio zinaweza kudumishwa pamoja na maingizo kwa usomaji wa haraka. Kazi halisi ya kasi iko katika kufunga kwa kila akaunti badala ya kwa jumla, jambo ambalo leja iliyobuniwa vizuri hufanya.

Je, bado tunahitaji wahasibu ikiwa leja ni ya kuingiza mara mbili?

Ndiyo. Leja inahakikisha uthabiti wa ndani; bado ni watu wanaoamua jinsi bidhaa zinavyohesabiwa, wanaochunguza tofauti za nje na wanaoripoti kwa wadhibiti. Kinachobadilika ni kwamba wanatumia muda wao kwa busara badala ya kutafuta namba zilizopotea.

Je, ingizo la leja linaweza kuhaririwa kamwe?

Hapana. Marekebisho ni miamala mipya, kwa kawaida ubatilishaji, yenye sababu na mhudumu vilivyorekodiwa. Leja inayoweza kuhaririwa haiwezi kukaguliwa.

PesaBridge inatekeleza kanuni hii isiyobadilika katika kiini. Programu, USSD na API ya wasanidi programu hazitekelezi upya mwendo wa pesa: zinawasilisha kanuni ambazo leja tayari inazihakikisha, kwa hiyo kila njia ni sahihi kwa sababu kiini ni sahihi.

Maswali kuhusu leja na ulinganisho

Kwa nini leja lazima iwe ya double-entry?

Kila mwendo huandikwa mara mbili, kama debiti na krediti, hivyo hesabu husawazika daima. Tofauti yoyote huonyesha ingizo mahususi, si kubahatisha.

Ulinganisho wa kila siku hulinganisha nini?

Leja ya pochi dhidi ya akaunti ya benki au ya amana na taarifa ya kila mtoa huduma wa malipo, mstari kwa mstari, na kila tofauti huorodheshwa kwa ukaguzi.

Je, ingizo linaweza kubadilishwa?

Hapana. Ingizo halihaririwi kamwe: kosa hurekebishwa kwa ingizo la kurudisha, na maingizo yote mawili hubaki yanaonekana.

Katika msingi

Leja ya kiwango cha kusafisha, ya uandikishaji-mara-mbili.

Kila kitu kingine katika PesaBridge husoma kutoka leja moja iliyosawazishwa. Sio tabaka la ripoti lililoongezwa kwenye programu ya malipo — ni bidhaa yenyewe.

Kila kipimo cha thamani huishi kama uandikishaji. Amana hupunguza float ya wakala na kuongeza pochi ya mteja kwa kiasi kilesawa. Kutuma hupunguza pochi moja na kuongeza nyingine, pamoja na ada kwenye akaunti ya mapato. Jumla ya madeni yote daima ni sawa na jumla ya mikopo yote — hakuna njia ya msimbo inayoweza kuunda au kuharibu thamani. Kanuni hiyo moja ndiyo inayomruhusu CFO kusaini vitabu na mdhibiti kuviamini.

Miamala haina mgongano: kila mmoja hubeba ufunguo, hivyo ombi lililorudiwa au lililorudufishwa hukaa mara moja, si mara mbili — tofauti kati ya hitilafu ndogo na mteja kutozwa mara mbili. Wakati kitu lazima kitendulwe, injini moja ya kutendua huandika uandikishaji wa kioo katika idara yoyote — P2P, Lipa Bili, Nunua Bidhaa, taslimu ya wakala, B2C, float, akiba — na huacha ile ya awali salama kwa rekodi ya ukaguzi.

Salio, mipaka na hali ya KYC huangaliwa kabla ya muamala kuandikwa, si baadaye. Mteja hawezi kuhamisha pesa asiyokuwa nayo, kuzidi kikomo cha kila siku, au kufanya muamala juu ya kiwango chake cha KYC. Leja hutekeleza kanuni; programu huziwasilisha tu.

Kanuni isiyobadilika
Σ debits  =  Σ credits
──────────────────────
deposit  agent.float  −250
         alice.wallet +250
send     alice.wallet −100
         bob.wallet   +100
fee      alice.wallet  −0
         revenue       +0
──────────────────────
net = 0.00   (always)

Usalama na utii

Uaminifu ndiyo bidhaa.

Huduma za kifedha huishi au hufa kwa usahihi na udhibiti. PesaBridge huweka vyote katika msingi.

Uandikishaji-mara-mbili kwa muundo

Kila mwendo huandika madeni na mikopo iliyosawazishwa — vitabu hupatana hadi sifuri, daima.

PIN, KYC na mipaka

Viwango vya KYC vinavyoweza kusanidiwa, mipaka ya kila-muamala na kila siku, majaribio ya PIN na kufunga pochi.

Isiyogongana na inayotenduka

Funguo za kutokugongana huzuia malipo ya mara mbili; injini moja ya kutendua hutendua idara yoyote.

Webhook zilizosainiwa

Sahihi za HMAC-SHA256 na majaribio ili mifumo ya washirika iamini kila mwito wa kurudi.

Rekodi kamili ya ukaguzi

Uandikishaji wa leja usiobadilika na historia ya miamala kwa wadhibiti na migogoro.

Utii kwa kila nchi

Aina za kitambulisho, kanuni za KYC na ushuru hubadilika na soko, kutoka usanidi.

Pochi za thamani-iliyohifadhiwa Mtandao wa mawakala Malipo ya wafanyabiashara USSD API ya wasanidi Ombi-la-kulipa Viwango vya KYC Marejesho Usambazaji wa float Malipo Webhook zilizosainiwa Chapa yako Pochi za thamani-iliyohifadhiwa Mtandao wa mawakala Malipo ya wafanyabiashara USSD API ya wasanidi Ombi-la-kulipa Viwango vya KYC Marejesho Usambazaji wa float Malipo Webhook zilizosainiwa Chapa yako

Uko tayari kuzindua pochi yako?

Panga onyesho na tutaanzisha chapa, nchi na njia zako — na kukuongoza kupitia programu, msimamizi na API.

Ungependa kuzungumza? Piga +254 746 883809