Přejít k hlavnímu obsahu

Budou vám platit! Známe jednoduché řešení napojení na účetní systém

Strýček Skrblík to s plaváním v penězích už trochu přeháněl, z proplacených faktur a přicházejících peněz se ale raduje každý. Jenže co když váš účetní systém a platební brána spolu moc dobře nekomunikují, tak jako POHODA a GOPAY? Na tento problém jsem nedávno narazil na našem portálu www.servisnaklik.cz.

Šlo o poměrně zajímavý problém. Potřebovali jsme zavést platební bránu a propojit jí s účetním systémem POHODA. Oba systémy mají svou vlastní dokumentaci, kterou bylo nejprve nutno podrobně prostudovat. Dále bylo nutné vymyslet, jak by takové propojení mohlo fungovat.

Zadání znělo následovně:

Vymyslet, jakým způsobem by se daly exportovat faktury z desktopové aplikace POHODA na FTP www.servisnaklik.cz. Následně na serveru ukládat uložená data a ty poté využít k propojení s platební bránou GOPAY.

Náčrtek tohoto procesu vypadal takto:

[[{"fid":"555","view_mode":"obrazek_v_textu","fields":{"format":"obrazek_v_textu","field_file_image_alt_text[und][0][value]":"schema komunikace","field_file_image_title_text[und][0][value]":"Sch\u00e9ma komunikace","field_popisek_bli_informace[und][0][value]":"","field_autor_zdroj[und][0][value]":"","field_popisek_bli_informace[und][0][format]":"plain_text","field_autor_zdroj[und][0][format]":"plain_text"},"type":"media","attributes":{"class":"colorbox media-element file-obrazek-v-textu"}}]]

Nejprvě proběhne export faktury uložené v XML souboru do složky v interní síti. Následně se spustí námi vytvořený skript, který v určitém intervalu odesílá XML soubor na FTP Servisu na klik. Po zadání čísla faktury zákazníkem se vyhledá číslo faktury v XML souboru a veškeré údaje k objednávce se uloží do proměnné. 
 
Při volání GOPAY api se pošlou údaje z proměnné na platební bránu a vytvoří se objednávka. Z GOPAY se následně odesílají stavy jednotlivých objednávek na náš server, kde je zpracovává PHP kód. Při stavu zaplaceno se ID objednávky zapíše do databáze a uživatelům se zobrazí hláška o úspěšné platbě. Při ostatních stavech se uživatelům zobrazí důvod neúspěchu dokončení objednávky.
 

Export faktur z účetního systému POHODA

Po zevrubném studování dokumentace  jsem zjistil, že POHODA v námi zakoupené verzi neumožňuje automatický export zálohových faktur. Musel jsem tedy hledat alternativní řešení pomocí ručního exportu do XML dokumentu.
[[{"fid":"556","view_mode":"obrazek_v_textu","fields":{"format":"obrazek_v_textu","field_file_image_alt_text[und][0][value]":"faktura","field_file_image_title_text[und][0][value]":"Faktura","field_popisek_bli_informace[und][0][value]":"","field_autor_zdroj[und][0][value]":"","field_popisek_bli_informace[und][0][format]":"plain_text","field_autor_zdroj[und][0][format]":"plain_text"},"type":"media","attributes":{"class":"colorbox media-element file-obrazek-v-textu"}}]]
 
Vyřešením tohoto problému ale mé strasti nekončily. Bylo nutné vymyslet, jakým způsobem tento dokument dostat na server Servisu na klik. Toho jsme docílili pomocí skriptu, který odesílá vygenerovaný dokument v určitém časovém intervalu na FTP. Tím byla první část úkolu dokončena.
 

PHP soubor pro zpracování přijatých dat

Následně jsem musel přijatý XML dokument využít pro komunikaci s platební bránou. Toho jsem docílil pomocí funkce Xpath, která prohledá daný soubor na základě čísla faktury zadaného zákazníkem a uloží z něj nalezené informace do příslušných proměnných. Tyto proměnné (jméno zákazníka, cena produktu, název produktu atd.) se pak používají v samotné komunikaci s platební bránou.
 

[[{"fid":"557","view_mode":"obrazek_v_textu","fields":{"format":"obrazek_v_textu","field_file_image_alt_text[und][0][value]":"Kontrola zaplacen\u00ed","field_file_image_title_text[und][0][value]":"Kontrola zaplacen\u00ed","field_popisek_bli_informace[und][0][value]":"","field_autor_zdroj[und][0][value]":"","field_popisek_bli_informace[und][0][format]":"plain_text","field_autor_zdroj[und][0][format]":"plain_text"},"type":"media","attributes":{"class":"colorbox media-element file-obrazek-v-textu"}}]]

Integrace platební brány GOPAY

Při vlastní integraci platební brány je nutné dbát na správné propojení s poskytnutým API, které můžete prostudovat například na této stránce na GoPay.com. Dokumentace obsahuje návody a příklady použití v různých programovacích jazycích. 
 
Programátorovi je také umožněno vytvořit si testovací prostředí, ve kterém může vyladit vzniklé problémy. Dále lze zvolit si metodu komunikace s API. V nejnovější verzi se komunikuje pomocí REST api. Já jsem pro implementaci použil PHP třídu, která využívá starší verzi API s komunikační metodou SOAP, protože na serveru byla již část integrace předinstalována od předchozího správce. Po otestování funkce platební brány GOPAY posílá ostrý klíč a brána je uvedena do provozu.
 
Tím byla integrace dokončena a celý proces fakturace plateb nyní probíhá snadněji a rychleji jak pro nás, tak hlavně pro naše zákazníky. Z ne úplně jednoduchého procesu se díky přizpůsobení aplikace na míru stala bezproblémová záležitost.
Vylepšete svůj outsourcing it
Napište nám