Documentation for the ParityDeals React UI SDK - A comprehensive pricing table and paywall solution
ParityDealsProvider
Prop | Type | Description |
---|---|---|
accessToken | string | Your ParityDeals client access token |
offeringId | string | The unique identifier for your offering |
Prop | Type | Default | Description |
---|---|---|---|
customerId | string | undefined | Customer identifier for personalized pricing |
environment | sandbox|production | ’production’ | The environment to use. If you want to use the sandbox, you must provide this. |
checkoutSuccessUrl | string | window.location.href | URL to redirect after successful checkout |
apiConfig | ParityDealsAPIConfig | {} | Advanced API configuration options |
PDPricingTable
Prop | Type | Default | Description |
---|---|---|---|
customStyles | PricingTableStyle | {} | Custom styling configuration |
customActionButton | CustomActionButton | undefined | Custom button component |
customCheckIcon | React.ReactNode | undefined | Custom check icon |
customUnCheckIcon | React.ReactNode | undefined | Custom uncheck icon |
customTooltipIcon | React.ReactNode | undefined | Custom tooltip icon |
onCustomPriceClick | (details: PlanClickDetails) => void | undefined | Callback for custom price plans |
renderActionButtonAfter | features | price | price | Render the action button after the features or the price |
insertElements.* | InsertElements | {} | Insert custom elements anywhere in the pricing table |
insertElements.beforePlanName | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the plan name |
insertElements.afterPlanName | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the plan name |
insertElements.beforePlanDescription | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the plan description |
insertElements.afterPlanDescription | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the plan description |
insertElements.beforePrice | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the price |
insertElements.afterPrice | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the price |
insertElements.beforeFeatures | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the features |
insertElements.afterFeatures | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the features |
insertElements.beforeActionButton | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the action button |
insertElements.afterActionButton | (plan: OfferingPlan, activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the action button |
insertElements.beforeSwitch | (activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements before the switch |
insertElements.afterSwitch | (activePeriod: ChargePeriodEnum) => JSX.Element | undefined | Insert custom elements after the switch |
PDPlan
Prop | Type | Required | Description |
---|---|---|---|
plans | OfferingPlan[] | Yes | Array of plans to display |
pricingTable | PricingTable | Yes | Pricing table configuration |
billingPeriods | BillingPeriod[] | Yes | Available billing periods |
countryCode | string | Yes | Country code for localization |
currencyCode | string | Yes | Currency code (e.g., “USD”) |
currencySymbol | string | Yes | Currency symbol (e.g., ”$“) |
currencyConversionRate | number | Yes | Currency conversion rate |
pricingLocale | string | Yes | Locale for price formatting |
onPlanClick | (details: PlanClickDetails) => void | Yes | Plan selection callback |
customStyles | PricingTableStyle | No | Custom styling |
customActionButton | CustomActionButton | No | Custom button component |
actionButtonLoadingPlanIdentifier | string | No | Loading state for specific plan |
noStyles | boolean | No | Disable default styling |
PDPlanItem
Prop | Type | Required | Description |
---|---|---|---|
plan | OfferingPlan | Yes | Plan data to display |
pricingTable | PricingTable | Yes | Pricing table configuration |
period | ChargePeriodEnum | Yes | Current billing period |
countryCode | string | Yes | Country code |
currencyCode | string | Yes | Currency code |
currencySymbol | string | Yes | Currency symbol |
currencyConversionRate | number | Yes | Conversion rate |
pricingLocale | string | Yes | Locale for formatting |
onPdPlanItemClick | (details: PlanClickDetails) => void | Yes | Click handler |
customActionButton | CustomActionButton | No | Custom button |
actionButtonText | string | No | Button text |
actionButtonLoading | boolean | No | Loading state |
actionButtonDisabled | boolean | No | Disabled state |
isActive | boolean | No | Active plan indicator |
successText | string | No | Success message |
noStyles | boolean | No | Disable styling |
PDPrice
Prop | Type | Required | Description |
---|---|---|---|
price | number | Yes | Price amount |
countryCode | string | Yes | Country code |
currencyCode | string | Yes | Currency code |
currencySymbol | string | Yes | Currency symbol |
currencyConversionRate | number | Yes | Conversion rate |
pricingLocale | string | Yes | Locale for formatting |
period | ChargePeriodEnum | Yes | Billing period |
showDecimal | boolean | Yes | Show decimal places |
showCurrencySymbol | boolean | Yes | Show currency symbol |
showCurrencyCode | boolean | Yes | Show currency code |
minimumFractionDigits | number | Yes | Minimum decimal places |
maximumFractionDigits | number | Yes | Maximum decimal places |
PDFeatures
Prop | Type | Required | Description |
---|---|---|---|
features | OfferingFeature[] | Yes | Array of features |
period | ChargePeriodEnum | Yes | Current billing period |
customCheckIcon | React.ReactNode | No | Custom check icon |
customUnCheckIcon | React.ReactNode | No | Custom uncheck icon |
customTooltipIcon | React.ReactNode | No | Custom tooltip icon |
descriptionTooltipEnabled | boolean | No | Enable tooltips |
onUsageChange | (featureId: string, quantity: number) => void | No | Usage change handler |
noStyles
prop:
pd-
to avoid naming conflicts.
onCustomPriceClick
callback:
https://api.paritydeals.com/api/v1/monetization/public-offering
https://api.paritydeals.com/api/v1/checkout/
https://api.paritydeals.com/api/v1/subscriptions
apiConfig
:
accessToken
and offeringId
are correctenvironment
option to sandbox
in the ParityDealsProvider
.