Pricing & Payment Component
Empower users to design custom plans and effortlessly handle payments via Stripe with this versatile component.
Component Visuals





Demo
In this video, you'll learn:
How to set up the
QuestProviderwith your API credentials.Configuration of the
Paymentcomponent with required props.Customization options for the
Paymentcomponent.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
cdcommand if you're not already there.Run the following command to install the
quest-sdkpackage using npm:
npm install @questlabs/react-sdkThis command will download and install the package and its dependencies into your project.
Props of Payment Component
The Payment component accepts the following props
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
Paymentcomponent from the@questlabs/react-sdkpackage.Import the QuestProvider Component: Import the
QuestProvidercomponent from the@questlabs/react-sdkpackage.
import { QuestProvider, Payment } from '@questlabs/react-sdk';Pass the Required Props: Pass the required props to the
QuestProvider. The required props areapiKey,apiSecret, andentityId. and required props for thePaymentcomponent areuserId, 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>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={"your apiKey"}
entityId={"your entityId"}
>
<Payment
token={"your token"}
userId={"your userId"}
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;Last updated