SaaS Payment Platform with Prepaid Card Management on Oracle 12c
The Client
The client is a payment technology and transaction-processing company that provides businesses with electronic payment and financial-transaction processing solutions and services. It has an established portfolio of technology solutions ranging from virtual ATM and self-service payment to invoicing POS systems and mobile and e-payment solutions.
The client wanted to create a SaaS platform to manage API services for its merchants — complete with terminal implementation for secure transactions — and to expand its back-end database using Oracle 12c as an enterprise-level database solution, enabling high-density, schema-based consolidation and making data migration fast and simple. It also wanted to build a prepaid card system integrated with an Electronic Banking System (EBS) and a payment switch, so money can be loaded onto a card and used across the client's services. Requested features included payment services, an integrated loyalty program, government and corporate services, and a mobile payment API.
Oracle Technology Underpins the SaaS Platform
INNERLUXES focused on developing web-based API services, prepaid card management, and a mobile payment API to create the desired SaaS platform, implementing several service APIs. The client required a seamless, automated database to handle back-end data transactions, and Oracle Database 12c provided a multi-model system for data warehousing, online transaction processing, and mixed workloads. Oracle 12c delivered automatic data optimization — monitoring data usage and automatically moving data between storage and compression tiers — alongside a high-performance, enterprise-class database with pluggable databases and multitenant architecture, giving the client a standardized, consolidated, and automated database service for better resource sharing, flexibility, and cost savings.
APIs, Payment Technology, and Build
The development stack included Java (JDK 1.8), Hibernate 5.x (ORM), Spring Boot 1.5.x, JPA 2.1, Apache Tomcat 8, Hikari (database connection pooling), Maven modular projects, GitHub (code management), and Oracle 12c for back-end database functions — with all database interaction handled through the Hibernate ORM.
INNERLUXES implemented REST services using Spring Boot with Hibernate and JPA. For load balancing, a secure SSL and Apache server managed each user request and forwarded it to Tomcat; if a Tomcat server was unavailable, ORM operations fell over to another server to validate user credentials and URL access. On successful login the application issued a token key, and the Spring Security filter rejected any request with an invalid token, displaying a message to the user. Hazelcast, an open-source in-memory data grid, provided a distributed cache; transaction management and mailing were handled by the Spring Boot transaction and mailing APIs. INNERLUXES followed a Maven modular architecture, creating a separate project per layer for reusability and maintainability within the payments framework.
The Impact
- A SaaS platform delivering web-based API services, prepaid card management, and a mobile payment API.
- An enterprise-grade Oracle 12c back end with multitenant, pluggable-database architecture and automatic data optimization.
- Secure REST services with token-based authentication and Spring Security enforcement.
- SSL/Apache load balancing to Tomcat with failover, and Hazelcast distributed caching.
- A prepaid card system integrated with EBS and a payment switch, and top-up via cashiers or POS.
- Integration with ATM, POS, and mobile-wallet solutions, with per-customer card balance tracking.
Technologies and Tools
Oracle Database 12c, Java (JDK 1.8), Hibernate 5.x, Spring Boot 1.5.x, JPA 2.1, Apache Tomcat 8, Hikari, Hazelcast, Spring Security, Maven, GitHub; SSL, Apache; EBS and payment-switch integration.