/** * @fileoverview Перечисления (Enums) для CloudPayments SDK * @description Содержит все enum'ы, используемые в CloudPayments SDK для React Native * @author Leonid Molchanov * @since 1.0.0 */ /** * Поддерживаемые способы оплаты в CloudPayments SDK * * @description Перечисление доступных методов оплаты, которые можно использовать * для проведения платежей через CloudPayments. Каждый способ требует * предварительного подключения в личном кабинете CloudPayments. * * @example Использование способов оплаты * ```typescript * import { EPaymentMethodType } from '@lmapp/react-native-cloudpayments'; * * // Проверка статуса для разных способов оплаты * const tpayStatus = await PaymentService.getIntentWaitStatus( * paymentData, * EPaymentMethodType.TPAY * ); * * const sbpStatus = await PaymentService.getIntentWaitStatus( * paymentData, * EPaymentMethodType.SBP * ); * ``` * * @see {@link https://merchant.cloudpayments.ru/} Личный кабинет CloudPayments * @see {@link https://developers.cloudpayments.ru/#sposoby-oplaty} Документация по способам оплаты * @since 1.0.0 */ export declare enum EPaymentMethodType { /** * Tinkoff Pay - быстрая оплата через приложение Тинькофф Банка * @description Позволяет клиентам оплачивать покупки через мобильное * приложение Тинькофф Банка без ввода данных карты. Требует установленного * приложения Тинькофф Банка на устройстве пользователя. */ TPAY = "tpay", /** * Tinkoff Pay (альтернативное название) * @description Альтернативный идентификатор для Tinkoff Pay. * Используется для обратной совместимости. */ TINKOFFPAY = "tinkoffpay", /** * Система быстрых платежей (СБП) * @description Мгновенные переводы между банками России по номеру телефона * через QR-код или ссылку. Работает 24/7 без комиссии для физических лиц. * Поддерживается большинством российских банков. */ SBP = "sbp", /** * Sberbank Pay - оплата через приложение Сбербанка * @description Быстрая оплата через мобильное приложение Сбербанк Онлайн * без ввода данных карты. Требует установленного приложения Сбербанк Онлайн. */ SBERPAY = "sberpay" } /** * Способы оплаты для настройки платежной формы * * @description Перечисление способов оплаты, которые можно использовать * для настройки порядка отображения и режима одного способа оплаты * в стандартной платежной форме CloudPayments. * * @example Использование для paymentMethodSequence * ```typescript * import { EPaymentMethod } from '@lmapp/react-native-cloudpayments'; * * const paymentData = { * amount: '1000.00', * currency: 'RUB', * paymentMethodSequence: [ * EPaymentMethod.CARD, * EPaymentMethod.TPAY, * EPaymentMethod.SBP * ] * }; * ``` * * @example Использование для singlePaymentMode * ```typescript * const paymentData = { * amount: '1000.00', * currency: 'RUB', * singlePaymentMode: EPaymentMethod.CARD // Прямой запуск оплаты картой * }; * ``` * * @since 2.1.0 */ export declare enum EPaymentMethod { /** * Банковская карта * @description Оплата банковской картой с вводом данных карты */ CARD = "card", /** * Tinkoff Pay * @description Быстрая оплата через приложение Тинькофф Банка */ TPAY = "tpay", /** * Sberbank Pay * @description Оплата через приложение Сбербанк Онлайн */ SBERPAY = "sberpay", /** * Система быстрых платежей (СБП) * @description Мгновенные переводы по номеру телефона */ SBP = "sbp", /** * Долями * @description Оплата частями через сервис Долями */ DOLYAME = "dolyame" } /** * Коды ошибок, которые может возвращать платежная форма CloudPayments * * @description Перечисление всех возможных ошибок, которые могут возникнуть * при работе с CloudPayments SDK. Используйте эти коды для обработки * различных сценариев ошибок в вашем приложении. * * @example Обработка ошибок платежа * ```typescript * import { PaymentService, EPaymentFormErrorCode } from '@lmapp/react-native-cloudpayments'; * * try { * const result = await PaymentService.presentPaymentForm(paymentData); * } catch (error) { * switch (error.code) { * case EPaymentFormErrorCode.CONFIGURATION_ERROR: * console.log('Ошибка конфигурации SDK'); * // Проверьте правильность инициализации * break; * case EPaymentFormErrorCode.MERCHANT_CONFIG_ERROR: * console.log('Неверный Public ID или мерчант заблокирован'); * break; * case EPaymentFormErrorCode.PAYMENT_FAILED: * console.log('Платеж отклонен банком'); * break; * default: * console.log('Неизвестная ошибка:', error.message); * } * } * ``` * * @since 1.0.0 */ export declare enum EPaymentFormErrorCode { /** * Ошибка конфигурации платежной формы * @description Неверно указаны параметры инициализации SDK или отсутствуют * обязательные поля в PaymentData. Проверьте корректность всех параметров. */ CONFIGURATION_ERROR = "CONFIGURATION_ERROR", /** * Ошибка создания платежного намерения (Intent) * @description Не удалось создать Intent на стороне CloudPayments. * Проверьте корректность данных платежа и доступность сервиса. */ CREATE_INTENT_ERROR = "CREATE_INTENT_ERROR", /** * Ошибка генерации ссылки для Tinkoff Pay * @description Не удалось сформировать ссылку для перехода в приложение * Тинькофф Банка. Убедитесь, что TPay подключен в личном кабинете. */ TPAY_LINK_ERROR = "TPAY_LINK_ERROR", /** * Ошибка генерации ссылки для СБП * @description Не удалось создать QR-код или ссылку для оплаты через * Систему быстрых платежей. Проверьте подключение СБП в настройках. */ SBP_LINK_ERROR = "SBP_LINK_ERROR", /** * Ошибка генерации ссылки для Sberbank Pay * @description Не удалось сформировать ссылку для перехода в приложение * Сбербанк Онлайн. Проверьте настройки SberPay. */ SBERPAY_LINK_ERROR = "SBERPAY_LINK_ERROR", /** * Ошибка конфигурации мерчанта * @description Неверный Public ID или мерчант заблокирован. * Проверьте настройки в личном кабинете CloudPayments. */ MERCHANT_CONFIG_ERROR = "MERCHANT_CONFIG_ERROR", /** * Неподдерживаемый тип платежа * @description Указанный способ оплаты не подключен или недоступен * для данного мерчанта. Обратитесь к менеджеру CloudPayments. */ INVALID_PAYMENT_TYPE = "INVALID_PAYMENT_TYPE", /** * Ошибка ожидания статуса Intent * @description Превышено время ожидания подтверждения платежа * или произошла ошибка при проверке статуса транзакции. */ INTENT_WAIT_STATUS_ERROR = "INTENT_WAIT_STATUS_ERROR", /** * Ошибка получения публичного ключа * @description Не удалось получить публичный ключ для шифрования * данных карты. Проверьте подключение к интернету и доступность API. */ GET_PUBLIC_KEY_ERROR = "GET_PUBLIC_KEY_ERROR", /** * Ошибка обновления Intent * @description Не удалось обновить данные платежного намерения. * Возможно, Intent уже обработан или истек срок его действия. */ PATCH_INTENT_ERROR = "PATCH_INTENT_ERROR", /** * Ошибка API оплаты * @description Общая ошибка при выполнении запроса к API CloudPayments. * Проверьте параметры запроса и статус сервиса. */ API_PAY_ERROR = "API_PAY_ERROR", /** * Intent ID не найден * @description Указанный идентификатор платежного намерения не существует * или был удален. Создайте новый Intent. */ INTENT_ID_NOT_FOUND = "INTENT_ID_NOT_FOUND", /** * Ошибка получения информации о банке * @description Не удалось определить банк-эмитент по номеру карты. * Проверьте корректность номера карты. */ BANK_INFO_ERROR = "BANK_INFO_ERROR", /** * Платеж отклонен * @description Платеж был отклонен банком или платежной системой. * Возможные причины: недостаток средств, заблокированная карта, * превышение лимитов, неверные данные карты. */ PAYMENT_FAILED = "PAYMENT_FAILED", /** * Сервис не инициализирован * @description SDK не был инициализирован. Вызовите init() с вашим * Public ID перед использованием других методов. */ SERVICE_UNINITIALIZED = "SERVICE_UNINITIALIZED", /** * Отсутствует View Controller (только iOS) * @description Не удалось найти активный контроллер для отображения * платежной формы. Убедитесь, что вызов происходит из активного экрана. * @platform ios */ NO_VIEW_CONTROLLER = "NO_VIEW_CONTROLLER" } /** * События CloudPayments SDK * * @description Перечисление событий, поддерживаемых нативным модулем CloudPayments. * Нативный модуль эмитит только 4 основных события, внутри которых передается * дополнительная информация через поле 'action'. * * @example Подписка на события платежной формы * ```typescript * import { eventEmitter, EPaymentFormEventName } from '@lmapp/react-native-cloudpayments'; * * // Подписка на события платежной формы * eventEmitter.addListener( * EPaymentFormEventName.PAYMENT_FORM, * (data) => { * switch (data.action) { * case 'willDisplay': * console.log('Форма готовится к отображению'); * break; * case 'didDisplay': * console.log('Форма отображена'); * break; * case 'transaction': * if (data.statusCode) { * console.log('Платеж успешен:', data.transactionId); * } else { * console.log('Ошибка платежа:', data.message); * } * break; * } * } * ); * ``` * * @since 1.0.0 */ export declare enum EPaymentFormEventName { /** * События платежной формы * @description Основное событие для всех действий с платежной формой. * Содержит поле 'action' с конкретным типом события. */ PAYMENT_FORM = "PaymentForm", /** * События платежей * @description Событие для операций с платежами (создание, обработка). */ PAYMENT = "Payment", /** * События карт * @description Событие для операций с картами (валидация, получение информации). */ CARD = "Card", /** * События 3DS * @description Событие для операций 3D Secure аутентификации. */ THREE_DS = "3DS" } /** * Действия платежной формы для внутреннего использования * * @description Перечисление действий, которые может выполнять платежная форма. * Используется для внутренней логики SDK и обработки событий. * * @internal * @since 1.0.0 */ export declare enum EPaymentFormAction { /** Форма готовится к отображению */ WILL_DISPLAY = "willDisplay", /** Форма отображена */ DID_DISPLAY = "didDisplay", /** Форма готовится к скрытию */ WILL_HIDE = "willHide", /** Форма скрыта */ DID_HIDE = "didHide", /** Выполняется транзакция */ TRANSACTION = "transaction" } /** * Поведение поля email в платежной форме * * @description Определяет, как отображается и используется поле email * в стандартной платежной форме CloudPayments. * * @example Использование emailBehavior * ```typescript * import { EEmailBehavior } from '@lmapp/react-native-cloudpayments'; * * const paymentData = { * amount: '1000.00', * currency: 'RUB', * emailBehavior: EEmailBehavior.REQUIRED // Обязательное поле * }; * ``` * * @since 2.1.0 */ export declare enum EEmailBehavior { /** * Опциональное поле * @description Пользователь может включить/отключить поле email. * Это значение по умолчанию. */ OPTIONAL = "optional", /** * Обязательное поле * @description Поле email обязательно для заполнения. * Рекомендуется при работе с чеками по 54-ФЗ. */ REQUIRED = "required", /** * Скрытое поле * @description Поле email не отображается в форме. * Используется, если email передается отдельно или не требуется. */ HIDDEN = "hidden" } //# sourceMappingURL=enums.d.ts.map