@blocklet/payment-react
Version:
Reusable react components for payment kit v2
49 lines (48 loc) • 1.57 kB
TypeScript
import type { TLineItemExpanded, TPaymentCurrency } from '@blocklet/payment-types';
import React from 'react';
interface DiscountInfo {
promotion_code?: string;
coupon?: string;
discount_amount?: string;
promotion_code_details?: {
code?: string;
};
coupon_details?: {
percent_off?: number;
amount_off?: string;
currency_id?: string;
currency_options?: Record<string, {
amount_off?: string;
}>;
};
verification_data?: {
code?: string;
};
}
type Props = {
item: TLineItemExpanded;
items: TLineItemExpanded[];
trialInDays: number;
trialEnd?: number;
currency: TPaymentCurrency;
onUpsell: Function;
onDownsell: Function;
mode?: 'normal' | 'cross-sell';
children?: React.ReactNode;
adjustableQuantity?: {
enabled: boolean;
minimum?: number;
maximum?: number;
};
onQuantityChange?: (itemId: string, quantity: number) => void;
completed?: boolean;
showFeatures?: boolean;
exchangeRate?: string | null;
isStripePayment?: boolean;
isPriceLocked?: boolean;
isRateLoading?: boolean;
discounts?: DiscountInfo[];
calculatedDiscountAmount?: string | null;
};
export default function ProductItem({ item, items, trialInDays, trialEnd, currency, mode, children, onUpsell, onDownsell, completed, adjustableQuantity, onQuantityChange, showFeatures, exchangeRate, isStripePayment, isPriceLocked, isRateLoading, discounts, calculatedDiscountAmount, }: Props): JSX.Element;
export {};