A Cross platform React Native module to encrypt BlueSnap sensitive form data. As described in BlueSnap API docs
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.
- Zero configurations - only your BlueSnap's client encryption key is required
- Promise based - use Promise or async/await
npm i --save react-native-bluesnap-encrypter
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>
);
}
}
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 |
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"
}
- Open a GitHub issue, or
- Send a pull request 🤩