Among our other work, we are dealing with rating in Oracle Billing and Revenue Management (Oracle BRM). Through our work, we quickly realized that to offer a truly versatile solution, some form of fund collection has to exist. Clients should have the ability, if desired, to pay for services from the platform they are using directly. There are several different payment processing providers to choose from, where they differ between supported countries, payment options, services, etc. Each provider also has various means of integration, which can become an issue when trying to support multiple payment provider options. Here at Tridens, we developed a standalone solution – the Tridens Payment Gateway – which serves as a unified communication software for integrating with different payment providers. In this article, we will focus on using it to integrate various payment providers in Oracle BRM.
Table of contents
Processing Payments in Oracle BRM
You can find some general information about Oracle Billing and Revenue Management (Oracle BRM) in our previous article, “Oracle BRM Integration with Tax Providers.” Furthermore, in this article, we will take a look at Oracle BRM’s support for payments and a possible solution to extend its capabilities. Oracle Billing and Revenue Management supports Paymentech as its online payment processor. Chase Paymentech is the payment processing and merchant acquiring business of JPMorgan Chase, which is the largest bank in the United States. To use Paymentech with Oracle BRM, you must install the Paymentech Manager software. This software integrates the Paymentech Manager software with Oracle BRM.
Oracle BRM supports direct debit of funds by using Paymentech and all of the credit cards supported by Paymentech. It also supports debit cards that do not require a personal identification number (PIN) to perform transactions. Oracle BRM also supports Single Euro Payments Area (SEPA) Direct Debit and SEPA Credit Transfer.
Our Solution to Integrate Payment Processors with Oracle BRM
But what if you want to use some other online payment processing provider with Oracle BRM? A provider such as Braintree, Paypal, Cybersource, Stripe, Wirecard, Authorize.Net, etc.? Perhaps you are interested not only in credit card payments, but other methods such as ApplePay, GooglePay, SEPA payments, and others. Therefore, we developed a solution that allows you to do exactly that with any payment provider and easy integration with new payment providers. The diagram below shows the architecture of our solution.
As is visible from the diagram, we introduced a new custom BRM data object. The object holds all necessary information about the payment processor’s configuration. Nevertheless, still offering a possibility to configure multiple payment processors.
Our customization of the policy opcode PCM_OP_PYMT_POL_PRE_COLLECT allows us to retrieve all necessary information about the active payment processor from the custom data object. Furthermore, we use the retrieved details to modify the PayInfo BRM object to include information about the online payment processor.
We developed a custom Tridens Payment Data Manager (DM). CM was configured to use the new custom DM for processing payments. The primary function of a new DM is to exchange data with Tridens Payment Gateway (Tridens PGW). It has to extract all required information from the PayInfo object and create a request to the payment gateway in its unified format. Tridens Payment Gateway then converts payment request to a format used by specific payment processors. When the payment processor processes a payment, Tridens Payment Gateway converts data returned by the payment processor, in a unified format. Our custom DM receives the returned data, checks the payment status, and populates internal BRM payment data structures so that CM can process them accordingly. After processing, CM stores payment details into payment events.
One of the main priorities when designing and developing our solution was security. We achieve that by omitting the need to store any of your sensitive payment credentials. Meaning, we do not store credit card numbers and other personal data in Oracle BRM. The proof-of-concept implementation described in this article further shows how versatile Oracle BRM customization is. Customization capabilities allow us to achieve our business needs and develop features not included out of the box. Developing and using such solutions can often help us improve our business. It allows us to meet our client’s needs, reduce costs, and open new ways to design our solution architecture.
If you need more information about using online payment processing providers with Oracle BRM, feel free to contact us!