Custom Payment Engine for a Global Medical Technology Company
Unifying multi-country payment providers to cut costs and scale seamlessly.
Client
The customer is a global medical technology company, a medical equipment manufacturer and a provider of solutions for clinicians and healthcare administrators.
Client Need
The company operated several stores, each with unique payment methods and requirements. This fragmentation led to inefficiencies, integration difficulties, and increased operational costs.
To simplify operations and reduce costs, the customer sought a solution that would standardize the payment process across all platforms, simplifying management while being flexible enough to support future growth.
Solution
With our experience in SAP Commerce Cloud, custom ecommerce development, and complex payment integration projects, Expert Soft’s team of 6 specialists collaborated with the client’s team to develop a solution. Together, we created a unified payment engine that integrates seamlessly with various stores, supports country-specific payment methods, and standardizes the entire payment flow.
The engine acts as a centralized hub, routing all payment requests from the stores and processing them through a single system. When an end-user makes a purchase, they are redirected to the payment engine, which manages the transaction. Upon successful payment, the engine sends a confirmation back to the originating store, allowing it to handle order fulfillment and other processes. This setup not only simplifies operations but also ensures compatibility with local payment methods, e.g. Brazil’s Boleto or Korea’s virtual bank accounts.
Payment engine core features
Challenges
Tackling complex payment integrations is a common task that is almost always in the scope of work in any enterprise ecommerce project. This practical expertise helped our team solve challenges that occurred during payment engine development.
Integration challenges
One of the most significant hurdles was integrating the engine with multiple international payment providers, each with its requirements. While providers typically offer documentation and extensions designed to cover all necessary functions, in reality, these tools often fell short, or their code was not always extendable.
For example, we needed to divide an order total into three parts within a specific provider. The provider’s extension was supposed to make this process straightforward, requiring only minor modifications. However, the solution didn’t work as expected. To resolve this, our team created custom workarounds, rewriting parts of the code to ensure the integration functioned correctly.
Korean payment provider integration
To expand into the Korean market, the client needed to integrate with a local payment provider, enabling the use of virtual bank accounts, a common payment method in Korea. We initially developed a Proof of Concept (POC) to test the payment flow on an internal page, and once validated, we implemented the full functionality.
One cart challenge
This challenge occurred due to the limitations of the SAP Commerce Cloud platform, which allows only one cart or one order per session. However, the client needed to process payments for invoices belonging to different organizations, each requiring payment to separate merchants.
Our team solved this by developing a “parent cart” feature — a virtual container that aggregates multiple merchants’ carts. This solution ensures that only the parent cart is added to the session, meeting the platform’s requirements while correctly routing payments to the appropriate merchants.
Migration between payment providers
Migrating from one payment provider (Cybersource) to another (Checkout.com) presented another challenge: transferring Payment Info securely and efficiently.
PCI DSS compliance prohibits storing sensitive information like full card numbers or CVV codes, so the payment engine relies on tokens provided by the processors. We encountered issues determining which token belonged to which card. To resolve this, our team developed custom scripts to migrate these tokens, ensuring seamless mapping between the systems and maintaining accurate payment data.
Back-office customization
To further improve operational efficiency, the client’s back-office system required several customizations. Our team added functionalities, such as report export buttons, order cancellation options, and multi-level nested search capabilities.
These enhancements made managing payments, subscriptions, and refunds more intuitive, significantly reducing the manual workload for the back-office team.
Code improvements
The original reporting module in the payment engine was inefficient, with large, unwieldy classes that made maintenance difficult. Some classes contained over 2,000 lines of code, mixing multiple report types.
Our engineers refactored the code, breaking it down into manageable, modular components, making the system more scalable and easier to expand in the future.
SAP Commerce Cloud version migration
Migrating the client’s platform from 18.11 to 22.11 posed additional challenges. Despite SAP’s documentation, there were several gaps between theory and real-world application. Our team conducted extensive research, resolved discrepancies, and ensured that the entire system, including the payment engine, functioned smoothly post-migration.
Successfully overcoming all these challenges highlights the expertise and thoroughness of our team. We know how to ask the right questions and get the information we need from the business, even when it’s not immediately available. Our solutions are not only practical and easy to integrate but also scalable for future growth.
Technologies
SAP Commerce Cloud (Hybris), Java, Groovy, JSPs, JavaScript, Docker, and integrations mainly via APIs, utilizing REST and JSON.