yookassa-sdk
Version:
Интерфейс для интеграции с YooKassa, позволяет выполнять различные операции, такие как создание платежей, возвратов, чеков и управление ими. Написан на TypeScript.
87 lines (79 loc) • 5.7 kB
text/typescript
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';
}