SimplePay integráció

Egy aktuális felhő alapú fejlesztésünk során szükségessé vált a SimplePay által biztosított bankkártya-fizetési szolgáltatás integrálása alkalmazásunkba.

Mivel üzleti szempontból egy havidíjas előfizetéses konstrukcióról van szó, ezért a megvalósítás során különösen fontos volt, hogy az integráció ne frontend oldalon valósuljon meg, hanem a microservice architektúrában felépített szerver (backend) oldalon. Ezen architektúra további sajátosságát az adja, hogy a folyamatok vezérlését a Camunda BPM workflow engine biztosítja.

Ismétlődő bankkártyás fizetési szolgáltatás integrálása egyszerűen

Funkcionális tartalom

Az üzleti követelmények az alábbiak voltak:

  • Az alkalmazás végfelhasználója számára lehetőséget kell biztosítani ahhoz, hogy regisztrálhassa bankkártyáját a havidíjas konstrukcióban működő szolgáltatás havi díjának megfizetéséhez. Ehhez a kártya-regisztrációhoz a SimplePay által biztosított szolgáltatásokat kellet felhasználni, biztosítva azt, hogy a bankkártya-adatok sem a szolgáltatónál, sem a SimplePay-nél nem kerülnek eltárolásra.
  • Ismétlődő jelleggel - a teljes ügyfélállományt figyelembe véve napi rendszerességgel, de az egyes ügyfél-szempontjából havi periódikussággal - biztosítani kell a regisztrált bankkártyával történő fizetés lebonyolítását a SimplePay rendszerén keresztül valamint arról is gondoskodni kell, hogy a fizetés sikerességéről visszakapott információk a megrendelésekhez hozzákapcsolásra kerüljenek.
  • Mivel a fizetési funkciók egy microservice-es architektúrában felépített alkalmazásba illeszkednek, ezért adódott, hogy a fizetési funkciók lebonyolítását biztosító alkalmazás is egy különálló, microservice követelményeknek megfelelő alkalmazás legyen.

Az alkalmazás kapcsolódási pontjait a külvilággal az alábbi ábra szemlélteti:

Alkalmazás kapcsolódási pontjai a külvilággal

Kártya-regisztrációs folyamat során

  • A vállalkozás és kapcsolattartója adatai a Company alkalmazásból származnak
  • A bankkártya-regisztrációs szolgáltatást a SimplePay biztosítja

Periódikus bankkártya-fizetési folyamat során

  • A fizetendő megrendelések az Order alkalmazásból származnak
  • A vállalkozás és kapcsolattartója adatai a Company alkalmazásból származnak
  • A bankkártya-fizetés végrehajtását a SimplePay biztosítja
  • A fizetési folyamat elindítja a számla-kiállítási folyamatot is, melyet egy külön szolgáltató biztosít.

Mivel a megrendelések nyilvántartására szolgáló microservice (Order ms.) nem tartalmaz információt arról, hogy az adott megrendelés korábban már megfizetésre került-e vagy sem, ezért a sikeres ill. sikertelen fizetési információkat a fizetési alkalmazásban (Payment microservice) tartjuk nyilván. Ezáltal biztosítjuk azt, hogy egy megrendelés ne kerülhessen duplán megfizetésre. Az ismétlődő SimplePay-es fizetéshez szükséges ügyfél- és megrendelés-adat validációkat szintén beépítettük a fizetési tranzakciók folyamatába.

Technikai megvalósítás

A használt microservice architektúrából adódóan az egyes microservice-ek RESTful webservice-eken keresztül kommunikálnak egymással. Az authorizációs eljárások az OAuth2 -es szabványnak megfelelően valósítottuk meg.

A “bankkártya-regisztráció” ill. az “ismétlődő fizetések” folyamatok vezérléséhez a Camunda BPM workflow engine-t használjuk, melynek létezik supportált változata az általunk preferált Spring fejlesztési környezethez is (a Spring Boot verzióval dolgozunk). Ezen megoldás felhasználásával adott a workflow engine által biztosított transzparencia valamint alapból rendelkezésre állnak folyamatszintű (realtime) kiértékelési adatok a folyamatokhoz kapcsolódóan. A Cockpit webes felületen keresztül a fizetési folyamatok gazdája valós időben látja a felhőben futó alkalmazás bankkártya-regisztrációs folyamatának adatait valamint a napi rendszerességgel indított bankkártya-fizetési tranzakciók kiértékelését is.

Workflow modellek

A bankkártya-regisztrációs folyamat vezérlését az alábbi BPMN folyamatmodell mutatja be:

Bankkártya-regisztrációs folyamat

Az ismétlődő kártya-fizetési tranzakciókat az alábbi 2 folyamatmodell vezérli, melyek hierarchikus felépítésűek. A fölérendelt folyamatmodell “Process order” folyamatlépése indítja el a megrendeléshez szükséges fizetési folyamat feldolgozását. A folyamatpéldányok napi rendszerességgel indulnak el az előre meghatározott időpontban.

Ismétlődő bankkártyás fizetés - fölérendelt folyamat Ismétlődő bankkártyás fizetés

Segítünk SimplePay integrációs feladatának megoldásában

A fent bemutatott megoldás jól szemlélteti azt, hogy a folyamatok workflow engine-nel történő automatizálása hogyan teremthet transzparenciát a vállalaton belül futó tevékenységekről és hogyan növelheti a működés hatékonyságát. A folyamatmodellek által biztosított, hogy a szakterületi munkatársak pontosan látját, milyen lépések történnek akár a háttérben futó folyamatok esetében is - az informatikai rendszerek nem “black box-ként” működnek. A folyamatgazdák pedig akár realtime adatokhoz is hozzáférhetnek a rendelkezésre álló Cockpit felület által biztosított kiértékelési lehetőségeken keresztül.

Ha Ön is szükségét látja annak, hogy vállalkozása ügyfelei számára rendszeres, ismétlődő bankkártyás fizetési módot kínáljon fel, örömmel állunk rendelkezésére a megvalósításban. Szakértőink gyakorlati tapasztalattal rendelkeznek a folyamat-integráció üzleti és technikai megvalósítása terén is.

Vendel Sághy, CEO. Der Betriebsökonom Vendel Sághy ist seit mehr als 20 Jahren im Geschäftsfeld Banken / Finanzinstituten tätig. Über 10 Jahren arbeitet er in internationalen IT-Projekten, sein Schwerpunkt liegt in Business Analyse und Requirement Engineering. Er ist ein Fanatiker von BPM.