Extending Fraud Protection to React Native
To provide fraud protection on consumer purchases made through a mobile application, software developers constructed a bridge between React Native core code, and the anti-fraud vendor’s SDKs written in native iOS and Android.
Developing new software can be similar to constructing a puzzle. Open-source provides the pieces, and developers create the picture; choosing combinations of code that will create opportunities and limitations affecting the end product. But where do those puzzle pieces come from? The moments when there was nothing in existence that fit, and software development had to get creative.
This article is about one of those moments and the result: a custom third party module built to integrate web based fraud protection within a mobile application.
In Case You Haven’t Heard
No Stranger to a Challenge
Operating in the world of custom software consulting, we’re familiar with being handed a challenge -- it’s usually at that point when a company brings in outside help. This particular challenge came in the form of a well established e-commerce client that was looking to expand their customer base through a mobile application. The service provided by this client is complex: multiple websites, customizable products, high sales volume.
The problem with using RN to build the mobile app, was that the client’s established website was operating Riskified for fraud protection on sales. While Riskified provides SDKs for native iOS and native Android, there exists no third party modules to support the integration of Riskified with RN.
So the only options are: (a) the client will use two different fraud protection services for web and mobile sales, or (b) build a module from scratch.
This is the difference between project based software development, and consulting work. It’s one thing to have free rein over every detail of a greenfield project, and entirely different to be given an expectation that is narrowed by a set of parameters. Often, it is the experience of the developers that determines the outcome of a project: will the clients expectations be met, will the app have high functionality, will it be easy to use, easy to maintain, and integrate with other tech?
Necessity of Fraud Protection
Fraud and Identity protection services mitigate the unauthorized use of payment information. With 14.2 million credit card numbers exposed in the market, it’s no surprise that credit card theft is the most common form of identity theft. In 2017, the FTC totaled $905 million in losses from consumer reports of fraud.
An app that allows consumer transactions must provide fraud protection (not by law) to ensure that both consumers and retailers are protected from potential losses.
The Science Part of Computer Science - Constructing a Custom Module
That's a Wrap
The greatest challenge experienced during this specific project was understanding the flow of information through both the bridge and the core functionality of the vendor’s SDK. To gain the necessary understanding, without previous exposure, could have added months to the development of the app but in this case, the team’s extensive previous experience with native platforms eliminated any delay in production. And by creating a custom solution, the client is able to use a single anti-fraud vendor to cover consumer transactions on both the web and their RN mobile app; additionally, whether the users are aware of it or not, mobile transactions are being protected at a level that is generally only achieved when making purchases from a website.
The resulting app provides a seamless and positive experience, evidenced through the user metrics. The app maintains 60% greater engagement compared to the client’s website, and six months after release, the app had reached 125,000 users with a 4.9 star rating from 1,200 reviews.