Skip to content

SDK for integrating Breeze 1 Click Checkout into your React Native Application

License

Notifications You must be signed in to change notification settings

juspay/blaze-sdk-react-native

Repository files navigation

Blaze SDK React Native

Blaze SDK React Native is a SDK which helps you integrate Breeze 1CCO and its services seamlessly to your React Native app running on Android/iOS.

React Native SDK Integration

Follow the below steps to integrate Blaze SDK into your React Native application:

Step 1: Obtaining the Blaze SDK

In your react native project directory, run the following command:

npm install @juspay/blaze-sdk-react-native

Step 2: Initialize the SDK

2.2.1: Construct the Initiate Payload

Create a Json with correct parameters to initiate the SDK. This is the data that will be used to initialize the SDK.

// Create a JSONObject for the Initiate data
const initiatePayload = {
  merchantId: "<MERCHANT_ID>",
  environment: "<ENVIRONMENT>",
  shopUrl: "<SHOP_URL>"
};

// Place Initiate Payload into SDK Payload
const initSDKPayload = {
  requestId: "<UNIQUE_RANDOM_ID>",
  service: "in.breeze.onecco",
  payload: initiatePayload
};

Note: Obtain values for merchantId, environment and shopUrl from the Breeze team.

Refer to schemas for understanding what keys mean.

2.2.2: Construct the Callback Method

During the user journey the SDK will call the callback method with the result of the SDK operation. You need to implement this method in order to handle the result of the SDK operation.

function blazeCallbackHandler(event) {
  const eventName = event.payload?.eventName;

  switch (eventName) {
    // Handle various events according to your desired logic
  }
}

2.2.3: Call the initiate method on Blaze Instance

Finally, call the initiate method with the payload and the callback method. The first parameter is the context of the application.

// imports
import BlazeSDK from 'blaze-sdk-react-native';

BlazeSDK.initiate(initSDKPayload, blazeCallbackHandler);

Step 3: Start processing your requests

Once the SDK is initiated, you can start processing your requests using the initialized instance of the SDK. The SDK will call the callback method with the result of the SDK operation.

3.1: Construct the Process Payload

Create a Json payload with the required parameters to process the request. The process payload differs based on the request. Refer to schemas sections to understand what kind of data is required for different requests

// 3.1 Create SDK Process Payload
// Create a JSONObject for the Process data
const processPayload = {};
processPayload.action = "<ACTION>";
// and more parameters required as per the action

// Place Process Payload into SDK Payload
const processSDKPayload = {
  requestId: "<UNIQUE_RANDOM_ID>",
  service: "in.breeze.onecco",
  payload: processPayload
};

3.2: Call the process method

Call the process method on the Blaze instance with the process payload to start the user journey or a headless flow.

BlazeSDK.process(processSDKPayload)

Step 4: Handling Hardware Back Press

For making the hardware back button work as expected, you need to call the handleBackPress method on the Blaze instance. The method should be called in the hardwareBackPress event listener of your screen. This method returns a boolean value which indicates if you need to handle back press or not.

BackHandler.addEventListener('hardwareBackPress', () => {
  const handleBackPress = BlazeSDK.handleBackPress();
  if (handleBackPress) {
    // write your back press handling logic here
    return false;
  }
  // Skip Back press events if Blaze SDK is handling it
  return true;
});

About

SDK for integrating Breeze 1 Click Checkout into your React Native Application

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published