UNPKG

yookassa-sdk

Version:

Интерфейс для интеграции с YooKassa, позволяет выполнять различные операции, такие как создание платежей, возвратов, чеков и управление ими. Написан на TypeScript.

87 lines (79 loc) 5.7 kB
import { LocaleEnum } from '../general.types'; export type IConfirmation = | IConfirmationRedirect | IConfirmationEmbedded | IConfirmationQR | IConfirmationExternal | IConfirmationMobileApp; export enum ConfirmationTypesEnum { embedded = 'embedded', external = 'external', mobile_application = 'mobile_application', qr = 'qr', redirect = 'redirect', } export type ConfirmationTypes = | 'embedded' | 'external' | 'mobile_application' | 'qr' | 'redirect'; interface IGeneralConfirmation { /** Код сценария подтверждения. */ type: ConfirmationTypes; /** Язык интерфейса, писем и смс, которые будет видеть или получать пользователь. Формат соответствует ISO/IEC 15897. Возможные значения: ru_RU, en_US. Регистр важен. */ locale?: LocaleEnum; } /** * ***Сценарий подтверждения Embedded*** * * действия, необходимые для подтверждения платежа, будут зависеть от способа оплаты, который пользователь выберет в виджете ЮKassa. Подтверждение от пользователя получит ЮKassa — вам необходимо только встроить виджет к себе на страницу. */ export interface IConfirmationEmbedded extends IGeneralConfirmation { type: 'embedded'; /** Токен для инициализации [платежного виджета ЮKassa](https://yookassa.ru/developers/payment-acceptance/integration-scenarios/widget/basics) */ confirmation_token: string; } /** * ***Сценарий подтверждения `Redirect`*** * * пользователю необходимо что-то сделать на странице ЮKassa или ее партнера (например, ввести данные банковской карты или пройти аутентификацию по 3-D Secure). Вам нужно перенаправить пользователя на confirmation_url, полученный в платеже . При успешной оплате (и если что-то пойдет не так) ЮKassa вернет пользователя на return_url, который вы отправите в запросе на создание платежа */ export interface IConfirmationRedirect extends IGeneralConfirmation { /** Код сценария подтверждения. */ type: 'redirect'; /** URL, на который необходимо перенаправить пользователя для подтверждения оплаты. */ confirmation_url?: string; /** Запрос на проведение платежа с аутентификацией по 3-D Secure. Будет работать, если оплату банковской картой вы по умолчанию принимаете без подтверждения платежа пользователем. В остальных случаях аутентификацией по 3-D Secure будет управлять ЮKassa. Если хотите принимать платежи без дополнительного подтверждения пользователем, напишите вашему менеджеру ЮKassa. */ enforce?: boolean; /** URL, на который вернется пользователь после подтверждения или отмены платежа на веб-странице. Не более 2048 символов. */ return_url: string; } /** * ***Сценарий подтверждения `QR-код`*** * * для подтверждения платежа пользователю необходимо просканировать QR-код. От вас требуется сгенерировать QR-код, используя любой доступный инструмент, и отобразить его на странице оплаты. */ export interface IConfirmationQR extends IGeneralConfirmation { type: 'qr'; /** Данные для генерации QR-кода. */ confirmation_data: string; } /** * ***Сценарий подтверждения `Mobile application`*** * * для подтверждения платежа пользователю необходимо совершить действия в мобильном приложении (например, в приложении интернет-банка). Вам нужно перенаправить пользователя на confirmation_url, полученный в платеже */ export interface IConfirmationMobileApp { type: 'mobile_application'; /** Диплинк на мобильное приложение, в котором пользователь подтверждает платеж. */ confirmation_url: string; } /** * ***Сценарий подтверждения `External`*** * * для подтверждения платежа пользователю необходимо совершить действия во внешней системе (например, ответить на смс). От вас требуется только сообщить пользователю о дальнейших шагах. */ export interface IConfirmationExternal extends IGeneralConfirmation { type: 'external'; }