mBank HTTP API parser pro výpis transakcí – PHP skript
PHP knihovna umí následující:
- Přihlásit do mBank (mPeníze)
- Vypsat všechny účty a jejich zůstatky
- Vypsat transakce na účtě v CSV formátu
- Vypsat transakce na účtě ve zformátovaném tvaru
- PDF export
mbank_api.php (staženo 285x UIP)
Ukázka použití
<?php
include 'mbank_api.php';
$mb = new mBank("vase_prihlasovaci_cislo", "vase_heslo");
$ucty = $mb->ucty(); // vrátí seznam účtů
$ucet = '670100-2203246384';
$ucet_mtransfer = '670100-2203246399';
// zůstatek na zadaném účtu
echo 'Zůstatek: '.$ucty[$ucet]['zustatek'];
// seznam transakcí za posledních 31 dní
$data = $mb->transakce($ucet);
// seznam transakcí za posledních 10 dní
$data = $mb->transakce($ucet, -10);
// seznam transakcí od 20.10.2010
$data = $mb->transakce($ucet, '2010-10-20');
// seznam transakcí od 20.10. do 1.11.
$data = $mb->transakce($ucet, '2010-10-20', '2010-11-01');
// seznam transakcí z obou účtů seřazený podle data zaúčtování
$data = $mb->transakce(
array($ucet, $ucet_mtransfer), null, null, 'zauctovani');
Upozornění
Některým lidem tento skript nefunguje - zahlásí, že máte chybné přihlašovací údaje.
Je to z důvodu, že funkce "strpos", pravděpodobně kvůli nastavení PHP / Apache, nenajde ve výstupu z mBank hledané řetězce mající diakritická znaménka.
Chybu se mi nepodařilo reprodukovat.
Edit: Dostal jsem email s řešením problému
Cena
Za trochu lásky šel bych světa kraj...
~ Jaroslav Vrchlický
Poslední zpětné linky
- mBank HTTP API parser – PHP skript
- api vypis z uctu - Hledat Googlem
- mbanka api - Hledat Googlem
- ABO format - Seznam
Changelog
17. 01. 2012 - Oprava chyby: kazilo dlouhé variabilní symboly!! + přidány PDF transakce
08. 12. 2011 - Drobné úpravy v popisu transakce
25. 07. 2011 - Změnil se tvar exportního CSV
24. 03. 2011 - Oprava v CSV parseru (někdy neukazovalo poslední transakci)
03. 01. 2011 - Funkce transakce() nyní umožňuje výpis z více účtů zároveň
02. 01. 2011 - Datum zaúčtování v timestamp formátu
12. 12. 2010 - Drobné chyby
10. 12. 2010 - Nyní funguje i při SAFE_MODE
09. 12. 2010 - Přidáno ke stažení

Ahoj,
skirpt je super a funguje skvele. Dekuji!!! treba ho nekdy vyuziju ;)
Ahoj,
používám tvoje mbank api.php a moc mi pomohlo, ale nevyhovovalo mi úplně, proto jsem si ho trošku doplnil. Doplněné posílám zpátky, protože to může být pro někoho použitelné.
Ve stručnosti v čem jsou změny:
1) Potřeboval jsem výpisy v ABO formátu - už jsem na ABO formát měl předtím udělaný importní proces na serveru do mysql databáze - doplnil jsem možnost stažení ABO. To si vyžádalo funkci abo_transakce. Funkce ukládá soubor pod původním názvem (zasílaným v hlavičce) do adresáře definovaném v parametru $cesta. Pro získání a uložení původního jména je doplněn proměnná do hlavičky třídy ($response_meta_info) a dále pomocné funkce readHeader, extractCustomHeader a getHeaders
2) Doplnil jsem parametr $cookiefile na který se pak odkazuju. Tím, že provozuju php na routeru, kde je samotný script v paměti flash, tak se mi nehodilo, aby byl cookiefile ukládaný (a přepisovaný) v paměti flash. Místo toho jsem si ho pomocí proměnné nasměroval do /tmp adresáře, který je na ramdisku (čili přepisy nevadí).
Pro doplnění pár dalších poznámek k tomu, jak to mám celé nastavené:
- Script se spouští v pravidelných intervalech přes cron, pokaždé stahuje posledních 14 dní
- Stažený soubor ve formátu ABO se přes scp pomocí přihlášení přes certifikát nakopíruje na server do definovaného adresáře
- Pokud přenos souboru neproběhne, nevadí, proběhne snad příště ;-) - soubory se nemažou a skript se snaží příště poslat všechny neodeslané soubory
- Po úspěšném přenosu na server se soubor smaže a zavolá se na serveru definované php, které z "přenosového" adresáře naimportuje do db všechny platby a zpracuje je.
A proč ABO formát? Mají ho na webu dobře zdokumentovaný, je to víc "enterprise", takže doufám, že se nebudou tak moc vrtat ve formátu souboru. ;-) A je pravda, že od doby co jsem rozchodil import ABO (tak duben 2010), tak se formát souboru nezměnil. :-)
www.teplaky.net/mbank_tmp/mbank_api_abo.txt - celý skript umožňující výpisy v ABO formátu