import { ExternalPaymentModels } from './ExternalPaymentModels'; import TransactionState = ExternalPaymentModels.TransactionState; import ActionButtonProp = ExternalPaymentModels.ActionButtonProp; import { AnalyticsInfo } from '../analytics/AnalyticsInfo'; export declare namespace ExternalPaymentsNamespace { namespace Constant { const discoveryModeValue = "PEER_TO_MERCHANT"; const title = "Pay"; const transactionType = "SENT_PAYMENT"; const timeoutTitle = "Payment Expired"; const timeoutMessage = "Sorry! Your payment request timed out. Please try again."; const timeoutActionButtonTitle = "OK"; const dismissTitle = "Are you sure?"; const dismissMessage = "Going back will cancel the payment. Are you sure you want to proceed?"; const dismissPositiveButtonTitle = "I'm sure"; const dismissNegativeButtonTitle = "Dismiss"; const PAYMENT_TIMEOUT = "PAYMENT_TIMEOUT"; const PAYMENT_DISMISS = "PAYMENT_DISMISS"; const kMerchantId = "merchantId"; const kSellingPrice = "sellingPrice"; const kPayableAmount = "payableAmount"; const kServiceType = "serviceType"; const kServiceTypeValue = "WEBAPP"; const kReservationId = "reservationId"; const kServiceRequestId = "serviceRequestId"; const kServiceCategory = "serviceCategory"; const kServiceCategoryValue = "WEB"; const kServiceContext = "serviceContext"; const kQuantity = "quantity"; const kValidFor = "validFor"; const kMerchantTransactionId = "merchantTransactionId"; const kServiceTypeVersion = "serviceTypeVersion"; const kKey = "key"; const kValue = "value"; } enum CONTACT_TYPE { CONTACT_TYPE_VPA = 1, CONTACT_TYPE_PHONE = 2, CONTACT_TYPE_MERCHANT = 3, CONTACT_TYPE_USER_DATA = 4, CONTACT_TYPE_EXTERNAL_UPI_MERCHANT = 5, CONTACT_TYPE_RETAIL_MERCHANT = 6, CONTACT_TYPE_BANK_ACCOUNT = 7, CONTACT_TYPE_WALLET = 8, CONTACT_TYPE_MY_ACCOUNT = 9, } enum PAYMENT_MODE { MODE_SEND_MONEY = 1, MODE_SPLIT_MONEY = 2, REQUEST_MONEY = 3, MODE_RECHARGE_MOBILE = 4, MODE_WALLET_TOP_UP = 5, MODE_BLE_PAYMENT = 6, } enum TRANSACTION_TYPE { SENT_PAYMENT = "SENT_PAYMENT", RECEIVED_PAYMENT = "RECEIVED_PAYMENT", USER_TO_USER_SENT_REQUEST = "USER_TO_USER_SENT_REQUEST", USER_TO_USER_RECEIVED_REQUEST = "USER_TO_USER_RECEIVED_REQUEST", ENSEMBLE_SENT_PAYMENT = "ENSEMBLE_SENT_PAYMENT", MISSED_PAYMENT = "MISSED_PAYMENT", PHONE_RECHARGE = "PHONE_RECHARGE", BILL_PAYMENT = "BILL_PAYMENT", TICKETING = "TICKETING", COMMUTE = "COMMUTE", UNKNOWN = "UNKNOWN", } enum TRANSFER_MODE { MERCHANT_REVERSAL = "MERCHANT_REVERSAL", MERCHANT_CASHBACK = "MERCHANT_CASHBACK", } class Contact { type: CONTACT_TYPE; data?: string; lookupId?: string; displayId?: string; displayImageUrl?: string; name?: string; constructor(contactType: CONTACT_TYPE, name?: string, displayImageUrl?: string, lookUpId?: string); } class InternalPaymentUiConfig { textColor?: string; primaryColor?: string; primaryColorDark?: string; accentColor?: string; textColorAccent?: string; shouldShowDialogOnCancellation?: boolean; initialAmount: number; isAmountEditable: boolean; isInitialContactEditable: boolean; initialContactList: Contact[]; isNoteEditable: boolean; showRateMeDialog: boolean; confirmationScreenDuration: number; minAmount?: number; maxAmount?: number; amountDenominations?: number[]; amountType?: string; title: string; paymentTimeout?: PaymentTimeOutModel; paymentDismiss?: DismissBehaviourModel; confirmationActionButtonProperties: Partial<{ [key in TransactionState]: ActionButtonProp; }>; shouldConfirmationCloseOnFailure: boolean; constructor(title: string, initialAmount: number, initialContactList: Contact[], confirmationScreenDuration: number, confirmationActionButtonProperties?: Partial<{ [key in TransactionState]: ActionButtonProp; }>, shouldConfirmationCloseOnFailure?: boolean); } class PayRequest { allowedInstruments: number; requestId?: string; refUrl?: string; merchantRefId?: string; retailParams?: string; checksum?: string; encodedType?: string; merchantPspTxnId?: string; merchantTxnId?: string; supportedInstruments: number; constructor(allowedInstruments: number); } class MicroPayRequest extends PayRequest { merchantId: string; serviceProviderId?: string; serviceRequestId?: string; discoveryContext?: string; fulFillContext?: string; fallbackURL?: string; paymentOptionsContext?: string; serviceVersion: string; constructor(merchantId: string, allowedInstruments: number, version: string, fallbackURL?: string, paymentOptionsContext?: string, serviceRequestId?: string); } class PaymentTimeOutModel { time: number; showDialog: boolean; title: string; message: string; actionButtonName: string; errorCode: string; constructor(time: number, showDialog: boolean, title: string, message: string, actionButtonName: string, errorCode: string); } class DismissBehaviourModel { showDialog: boolean; title: string; message: string; positiveButton: string; negativeButton: string; errorCode: string; constructor(showDialog: boolean, title: string, message: string, positiveButton: string, negativeButton: string, errorCode: string); } class TopUpConsentContext { showDialog: boolean; title: string; message: string; constructor(showDialog: boolean, title: string, message: string); } class AddToWalletUiContext { walletPageTitle: string; suggestedAmount: Array; showCloseWalletOption: boolean; hideWalletWithdrawal: boolean; minAmount: number; showRateMeDialog: boolean; isAmountEditable: boolean; confirmationScreenDuration: number; showTopupConsent: boolean; topUpConsentContext?: TopUpConsentContext; paymentDismiss?: DismissBehaviourModel; paymentOptionsContext?: string; constructor(walletPageTitle: string, suggestedAmount: Array, showCloseWalletOption: boolean, hideWalletWithdrawal: boolean, minAmount: number, showRateMeDialog: boolean, isAmountEditable: boolean, confirmationScreenDuration: number, showTopupConsent: boolean, topUpConsentContext?: TopUpConsentContext, paymentDismiss?: DismissBehaviourModel, paymentOptionsContext?: string); } class MandateConfig { type: string; merchantId: string; serviceProviderIds: string; serviceType: string; serviceCategory: string; entityType: string; constructor(type: string, merchantId: string, serviceProviderIds: string, serviceType: string, serviceCategory: string, entityType: string); } class MandateVisibleProperties { amount: boolean; frequency: boolean; autoPayDay: boolean; payeeWidget: boolean; toolbar: boolean; constructor(amount: boolean, frequency: boolean, autoPayDay: boolean, payeeWidget: boolean, toolbar: boolean); } class MandateUiConfig { visibilityProperty: MandateVisibleProperties; analyticsInfo: AnalyticsInfo; successMessage: string; actionButtonText: string; title: string; merchantName: string; merchantMandateDescription: string; merchantBannerImageId: string; merchantBannerImageSection: string; merchantImageId: string; merchantImageSection: string; mandateInfoLink: string; confirmationScreenDuration: string; dismissButtonDisplayTimeout: string; contactId: string; constructor(visibilityProperty: MandateVisibleProperties, analyticsInfo: AnalyticsInfo, successMessage: string, actionButtonText: string, title: string, merchantName: string, merchantMandateDescription: string, merchantBannerImageId: string, merchantBannerImageSection: string, merchantImageId: string, merchantImageSection: string, mandateInfoLink: string, confirmationScreenDuration: string, dismissButtonDisplayTimeout: string, contactId: string); } class PaymentOptionsContext { type: string; metaData: PaymentOptionsContextMetadata; constructor(metaData: PaymentOptionsContextMetadata); } class PaymentOptionsContextMetadata { merchantId: string; serviceCategory: string; serviceProviderId: string; serviceType: string; constructor(merchantId: string, serviceCategory: string, serviceProviderId: string, serviceType: string); } }