4.2.3 Using Secure Receipt Wallet Receipt Digitization Server for Node

1.1.1 Using Secure Receipt Wallet Receipt Digitization Server for Node

1.1.1.1 Overview

Secure Receipt Wallet acknowledges that there are a range of POS systems developed using languages or technology stacks like Java, PHP, Classic ASP or even older ones like C/C++. In order to make it possible for such POS systems to integrate with the Secure Receipt Wallet platform, we recommend the use of the “Secure Receipt Wallet Receipt Digitization Server for Node”, which in practice, abstracts the Node JavaScript SDKs behind locally-available web services that can be easily consumed from any programming language. In this integration model, still the typical registration and receipt delivery processes apply, however, we treat the Node server like a middleware that exposes the functionality of the SDK to other languages for use.

Note

Since each POS station gets its own identity in the Secure Receipt Wallet platform and for obvious security reasons, we highly recommend to run an independent node server for each POS station and avoid sharing the “Secure Receipt Wallet Receipt Digitization Server for Node” among multiple POS stations.

Figure 6 illustrates an overview of integration using the Secure Receipt Wallet Receipt Digitization Server for Node and Node JavaScript SDK.

Figure 6. An overview of integration using the Secure Receipt Wallet Receipt Digitization Server for Node and Node JavaScript SDK.

1.1.1.2 Merits

The merits of using the Secure Receipt Wallet Receipt Digitization Server for Node include the followings:

1. Universal compatibility: Providing seamless and similar end-to-end encryption SDKs and APIs for different languages is a challenge. Using a locally-exposed node-based server to abstract the underlying complexities is helpful in making the Secure Receipt Wallet platform available for almost any POS system, developed using any technology stack or language.

2. Open-Source Nature: Like many other JavaScript libraries, the NPM packages are all open source. How the end-to-end encryption works and how keys are persisted can all be viewed and verified from the code for peace of mind and assurance of implementation-to-design conformance.

1.1.1.3 Demerits

The demerits of using the Secure Receipt Wallet Receipt Digitization Server for Node includes the followings:

1. Possibility for Security Implications: If not deployed and used properly, the web services that the Secure Receipt Wallet Receipt Digitization Server for Node exposes can become a security vulnerability, especially when abused to be shared between multiple POS stations over a local network. Due to the open-source nature of the receipt digitization server and JavaScript, we are not able to enforce the locality of web service exposure and we have to only make recommendations around best practice which can be breached.

1.1.1.4 Integration Steps

1.1.1.4.1 Getting the POS Station Registered in Secure Receipt Wallet Issuer’s Portal

1.1.1.4.2 Generating and Delivering Smart Receipts

1.1.1.4.3 Demonstrating the results