Skip to content

A Cross platform React Native module to encrypt BlueSnap sensitive form data.

Notifications You must be signed in to change notification settings

uditalias/react-native-bluesnap-encrypter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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 🤩

About

A Cross platform React Native module to encrypt BlueSnap sensitive form data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published