synora-react-payment-modal-library
Version:
A comprehensive, production-ready React payment modal component library with multi-currency support, dark/light themes, and multiple payment methods.
105 lines (85 loc) • 2.53 kB
TypeScript
import { default as default_2 } from 'react';
export declare enum AccountType {
SAVINGS = "SAVINGS",
CURRENT = "CURRENT",
FIXED_DEPOSIT = "FIXED_DEPOSIT"
}
export declare interface ATMPaymentData {
cardType: CardType;
last_4_digit: string;
holder: string;
bank: string;
amount: number;
giftVoucher?: number;
loyaltyPoints?: number;
finalAmount?: number;
}
export declare interface BankTransferPaymentData {
acc_holder_name: string;
acc_no: string;
bank: string;
amount: number;
giftVoucher?: number;
loyaltyPoints?: number;
finalAmount?: number;
}
export declare enum CardType {
VISA = "VISA",
MASTERCARD = "MASTERCARD",
AMEX = "AMEX",
DISCOVER = "DISCOVER"
}
export declare interface CashPaymentData {
amountTendered: number;
amount: number;
amountChange: number;
giftVoucher?: number;
loyaltyPoints?: number;
finalAmount?: number;
}
export declare interface ChequePaymentData {
acc_type: AccountType;
cheq_no: string;
bank: string;
refNo: string;
remarks: string;
amount: number;
}
export declare interface CurrencyConfig {
code: string;
locale: string;
symbol: string;
name: string;
}
export declare const formatCurrency: (value: number, currencyCode?: string) => string;
export declare const getAllCurrencies: () => CurrencyConfig[];
export declare const getCurrencyName: (currencyCode?: string) => string;
export declare const getCurrencySymbol: (currencyCode?: string) => string;
export declare const MonetaryCalc: (value: number, currencyCode?: string) => string;
export declare type PaymentData = CashPaymentData | ATMPaymentData | ChequePaymentData | BankTransferPaymentData;
export declare interface PaymentDetails {
paymentType: PaymentType;
paymentData: PaymentData;
}
export declare const PaymentModal: default_2.FC<PaymentModalProps>;
export declare interface PaymentModalProps {
banks: string[];
onPaymentComplete: (paymentDetails: PaymentDetails) => void;
visible?: boolean;
onCancel?: () => void;
title?: string;
theme?: Theme | 'light' | 'dark';
amountToPay?: number;
currency?: string;
}
export declare enum PaymentType {
CASH = "CASH",
ATM = "ATM",
BANK_TRANSFER = "BANK_TRANSFER",
CHEQUE = "CHEQUE"
}
export declare enum Theme {
LIGHT = "light",
DARK = "dark"
}
export { }