Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Bankovní API

Miroslav Bartl
verified
rating uzivatele
30. 10. 2022 18:09:08
Mám usecase, ve kterém mi spousta různých lidí zadává čísla svých bankovních účtů a já jim na ty účty posílám automatizovaně peníze, pouze v rámci bankovních účtů v ČR.
V tuto chvíli používám účet u Fio banky ale zatím jsem z toho jejich API dost zklamaný. Nemůžu zpětně zjistit jestli transakce proběhla, například pokud bankovní účet neexistuje (např. kvůli překlepu v čísle účtu).
Jediné možné ověření je, že se transakce neobjeví ve výpisu za dané časové období...ale to je takové dost stupidní a nespolehlivé, Fio navíc zjevně transakci ve výpisu zobrazuje ale až do doby, dokud nepřijde z druhé banky odpověď, že bankovní účet je neplatný (nebo bůhví, jak ty jejich validace fungují). 
Každopádně bych potřeboval z API vyčíst jasnou informaci, že transakce selhala (ať už z jakéhokoliv důvodu).
Řešil jste někdo podobný usecase u API jiné banky?
Obecně vzato, s jakou bankovní API máte nejlepší zkušenosti?
---------- Příspěvek doplněn 30.10.2022 v 19:34 ----------
OK kdyby to někdo řešil, právě mi někdo na facebookové skupině poradil, že:
- číslo bankovního účtu v ČR musí odpovídat kontrolnímu součtu, popsaným zde: sb061-11 1609..1728 (cnb.cz)Tajemství čísla účtu. Klíčem pro banky je 11 | Peníze.cz (penize.cz)
- podobné kontrolní součty existují i pro IBAN
Toto jsem upřímně nevěděl, myslel jsem si, že čísla účtů mohou být úplně random... a vlastně to řeší můj problém což je obrana proti překlepům.
30. 10. 2022 18:09:08
https://webtrh.cz/diskuse/bankovni-api-2/#reply1508758
TomasX
verified
rating uzivatele
(4 hodnocení)
30. 10. 2022 19:57:22
api u Fio ti vezme překlepové číslo?
To co chceš jde velice složité, ona to totiž neví ani sama banka. Příkazy k úhradě se souhrnně pošlou do ČNB, tam podle kódu bank peníze předá daným bankám a dana banka to zpracuje, pokud najde, že nějaký účet neexistuje, pošle ty peníze fakticky zpátky stejným procesem jako nový příkaz.
ČNB u českých bank zodpovídá a pravidla pro čísla účtů a odmítne zpracovat záznam, který obsahuje nevalidní číslo účtu do CZ banky, pokud to od banky projde, tak jednal dostane za uši a jednak se ty peníze vrátí rychle. U IBAN to je složitější, to popisovat teď nebudu.
A tady je problém, platební transakce jsou tzv. sessionless. Pokud nějaké peníze odešleš a pak se ti stejná částka vrátí, jsou to dvě různé události a banka bez dalších znalostí netuší, že to je kvůli neexistujícímu účtu. Tohle api ti teda asi neposkytne žádná banka, aspoň o tom nevím.
Trochu jinak jsou na tom okamžité platby, ty jsou mají context a u nich se ví jak to dopadlo. Tam banka může rovnou vrátit chybu o neexistujícím účtu.
30. 10. 2022 19:57:22
https://webtrh.cz/diskuse/bankovni-api-2/#reply1508757
Miroslav Bartl
verified
rating uzivatele
30. 10. 2022 20:13:25
API u FIO mi nevezme překlepové číslo, já jsem původně nevěděl, že číslo účtu musí splňovat nějaký kontrolní součet a tak jsem tam dával čísla jiných firemních účtů, které máme.
Díky za vysvětlení sessionless transakcí, o tom jsem také nevěděl. Plyne z toho pro mě to, že celý problém co řeším vyžaduje jiný úhel pohledu a jinou implementaci, než kterou jsem si doposud představoval.
30. 10. 2022 20:13:25
https://webtrh.cz/diskuse/bankovni-api-2/#reply1508756
Pro odpověď se přihlašte.
Přihlásit