0.2.3 • Published 6 years ago

react-native-bluesnap-encrypter v0.2.3

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

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

PropertyTypeDescription
clientEncryptionKeyPropTypes.string.isRequiredYour BlueSnap client encription key (located at your API Settings)
bluesnapVersionPropTypes.stringOptional BlueSnap JavaScript SDK version, defaults to 1.0.3
fraudSessionIdPropTypes.stringUnique 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 🤩