react-native-bluesnap-encrypter

0.2.3 • Public • Published

react-native-bluesnap-encrypter 🔐

A Cross platform React Native module to encrypt BlueSnap sensitive form data. As described in BlueSnap API docs

Why

BlueSnap SDKs provides a soluion for Web, iOS and Android plaforms. This module wraps BlueSnap's Web JavaScript SDK so you can perform data encryption from your react native application.

Features

  • Zero configurations - only your BlueSnap's client encryption key is required
  • Promise based - use Promise or async/await

Install

npm i --save react-native-bluesnap-encrypter

Quick Start

import React, { Component } from "react";
import { View, Button } from "react-native";
import BlueSnapEncrypter from "react-native-bluesnap-encrypter";
 
class MyComponent extends Component {
    constructor(props, context) {
        super(props, context);
 
        this.encrypter = null;
    }
 
    onEncrypt = async () => {
 
        const encrypted = await this.encrypter.encrypt({
            creditCardNumber: "1234123412341234",
            cvvNumber: "123"
        });
 
        console.log(encrypted);
        /*
            {
                "ccLast4Digits": "1234",
                "encryptedCreditCard": "ENCYPTED",
                "encryptedCvv": "ENCYPTED"
            }
        */
    }
 
    render() {
        return (
            <View>
                <Button
                    title="Encrypt Credit Card"
                    onPress={this.onEncrypt}
                />
 
                <BlueSnapEncrypter
                    clientEncryptionKey="YOUR_CLIENT_ENCRYPTION_KEY"
                    bluesnapVersion="1.0.3"
                    fraudSessionId="XXXX"
                    ref={(encrypter) => this.encrypter = encrypter}
                />
            </View>
        );
    }
}

Props

Property Type Description
clientEncryptionKey PropTypes.string.isRequired Your BlueSnap client encription key (located at your API Settings)
bluesnapVersion PropTypes.string Optional BlueSnap JavaScript SDK version, defaults to 1.0.3
fraudSessionId PropTypes.string Unique ID of the shopper whose device fingerprint information was collected on the checkout page

Methods

encrypt

Encrypts credit card data with your client encryption key.

const encrypted = await this.encrypter.encrypt({
    creditCardNumber: "1234123412341234",
    cvvNumber: "123"
});

Returns a Promise wich resolves to:

{
    "ccLast4Digits": "1234",
    "encryptedCreditCard": "ENCYPTED",
    "encryptedCvv": "ENCYPTED"
}

Missing Something? Something is not working?

  • Open a GitHub issue, or
  • Send a pull request 🤩

Package Sidebar

Install

npm i react-native-bluesnap-encrypter

Weekly Downloads

0

Version

0.2.3

License

MIT

Unpacked Size

10.7 kB

Total Files

5

Last publish

Collaborators

  • uditalias