When dealing with rating, Oracle Billing and Revenue Management (Oracle BRM), we quickly realize that in order 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 is a number of different payment processing providers to choose from, where they differ between supported countries, supported payment options, supported services, etc. Each provider also has different 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 different payment providers in Oracle BRM, but you can read more about the Payment Gateway itself in one of our upcoming articles.
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”. In this article we will take a look at Oracle BRM 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, which 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, like Braintree, Paypal, Cybersource, Stripe, Wirecard, Authorize.Net, etc.? 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 that holds all necessary information about payment processor’s configuration (it is possible to configure multiple payment processors).
Policy opcode PCM_OP_PYMT_POL_PRE_COLLECT was customized to retrieve all necessary information about the active payment processor from the custom data object and use retrieved information 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 main 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 a payment is processed by the payment processor, 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, so that there is no need to store any of your sensitive payment credentials (like credit card numbers, cvvs, etc.) in Oracle BRM. The proof-of-concept implementation described in this article shows further how Oracle BRM customization capabilities allow us to achieve our business needs and develop features that are not included out of the box. Developing and using such solutions can often help us meet our business 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!