Pricing & Payment Component

Empower users to design custom plans and effortlessly handle payments via Stripe with this versatile component.

Component Visuals

To unlock early access to the component Get Access

Demo

In this video, you'll learn:

  1. How to set up the QuestProvider with your API credentials.

  2. Configuration of the Paymentcomponent with required props.

  3. Customization options for the Paymentcomponent.

  4. Integration of the component into your React application.


Installation

To install the Quest react-sdk into your project, follow these steps:

  • Open your terminal/command prompt.

  • Navigate to your project's root directory using the cd command if you're not already there.

  • Run the following command to install the quest-sdk package using npm:

npm install @questlabs/react-sdk

This command will download and install the package and its dependencies into your project.

Make sure your project has npm and Node.js installed, and that you have the necessary permissions to install packages in your project directory.


Props of Payment Component

The Payment component accepts the following props

Prop NameTypeRequiredDetails

stripePublishableKey

string

required

sripe publishable key

paymentBanefits

array

required

array of plan details

userId

string

required

The unique identifier of the user.

questId

string

required

The unique identifier for the tutorial or quest

token

string

required

An authentication token or API key necessary for accessing tutorial or quest data.

description

array

required

description of plans

buttonBgColor

string

optional

The background color of the login button

inputBgColor

string

optional

The background color of the input boxes

btnTextColor

string

optional

The text color of the login button.

fontColor

string

optional

The text color of other UI elements in the component.

bgColor

string

optional

The background color of the entire component.

mainLayout

number

optional

defines number of columns of the main layout

width

string

optional

set the width of the component

uniqueUserId

string

optional

one uniqueUserId for all the user

uniqueEmailId

string

optional

one uniqueEmailId for all the user

forEntityId

string

optional

yout EntityId


Usage

To integrate the Payment component into your React application, follow these steps

  • Import the CSS: In your JavaScript or TypeScript file where you're using the Payment, import the CSS styles for the component. This ensures that the component's styling is applied correctly.

import '@questlabs/react-sdk/dist/style.css'
  • Import the Payment Component: Import the Payment component from the @questlabs/react-sdk package.

  • Import the QuestProvider Component: Import the QuestProvider component from the @questlabs/react-sdk package.

import { QuestProvider }, Payment from '@questlabs/react-sdk';
  • Pass the Required Props: Pass the required props to the QuestProvider. The required props are apiKey, apiSecret, and entityId. and required props for the Payment component are userId, stripePublishableKey, token, description, paymentBanefits.

<QuestProvider
  apiKey="your-api-key"
  entityId="your-entity-id"
>
   <Payment
     tier={tiers[selectedIndex]}
     desc={desc[selectedIndex]}
     paymentBanefits={paymentBanefits[selectedIndex]}
     bgColor={bgColor}
     fontColor={fontColor}
     buttonBgColor={buttonBgColor}
     btnTextColor={btnTextColor}
     inputBgColor={inputBgColor}
     pymentGatewayLayout={pymentGatewayLayout}
     userId={userId}
     token={token}
     forEntityId={forEntityId}
    />
</QuestProvider>

Replace "your-api-key", "your-api-secret", and "your-entity-id" with your actual Quest API credentials

Replace "your-token", "userid", "plan-description", "your-stripe-publishable-key", "paymentBanefits" with your actual configuration details.


Example Usage

Here's an example of how to use the Payment component within your React application

import { QuestProvider, Payment } from '@questlabs/react-sdk';
import '@questlabs/react-sdk/dist/style.css';

function App() {
  return (
    <div>
      <QuestProvider
        apiKey="k-xxxxxdc-ac8f-x1-xxx8b-a175xxxxx"
        entityId="e-xxxx-b75b-xxxx-be9a-ee11f0f0xxxx"
      >
        <Payment
          token="eyJhbGciOiJIUxxxxxxx-xxxxxx-xxxxxxx"
          userId="u-4ccxxxxxx-xxxxx-xxxxxxxxxx-xxx"
          btnTextColor='xxxxx'
          buttonBgColor='xxxxxx'
          inputBgColor='xxxxx'
          fontColor='xxxx'
          bgColor="xxxxx"
          mainLayout={x}
          pymentGatewayLayout={x}
          description={[
            'Basic xxxxxx-xxxxxxost-xxxxx exploration.',
            'Polished xxxxxx xxxxxx xxxxxxx.',
            'Cutting-edge, xxxxxxxxxxa xxxxxxxxxxxx.',
          ]}
          paymentBanefits={xxxxx}
          stripePublishableKey="xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx-xxxxxxxxxx"
        />
      </QuestProvider>
    </div>
  );
}

export default App;

The above example uses all the props.



Last updated