yoomoney-sdk
Version:
⭐ Typed YooMoney Wallet SDK for NodeJS. Supported API's: Auth, Wallet & Notifications
203 lines (202 loc) • 7.21 kB
TypeScript
import { URL } from 'url';
import { AutoComplete } from './autocomplete';
export declare const PaymentType: {
readonly FromCard: "AC";
readonly FromWallet: "PC";
/** @deprecated **Вариант игнорируется ЮMoney**. Используйте {@link PaymentType.FromCard} (`"AC"`) */
readonly FromMobileBalance: "MC";
};
export type PaymentType = (typeof PaymentType)[keyof typeof PaymentType];
export declare const QuickPayForm: {
readonly Button: "button";
};
export type QuickPayForm = (typeof QuickPayForm)[keyof typeof QuickPayForm];
export type FormConfig = {
/**
* Номер кошелька ЮMoney, на который нужно зачислять деньги отправителей.
*/
receiver: string;
/**
* Возможные значения:
*
* `button` — единственное валидной значение;
*
* Остальные сохранены для обратной совместимости
*
*
*/
quickPayForm?: AutoComplete<QuickPayForm>;
/**
* Назначение платежа. (До 150 символов)
*
* @deprecated **Поле игнорируется ЮMoney**
*/
targets?: string;
/**
* Способ оплаты. Возможные значения:
*
* `PC` — оплата из кошелька ЮMoney;
*
* `AC` — с банковской карты;
*
*/
paymentType?: AutoComplete<PaymentType>;
/**
* Сумма перевода (спишется с отправителя).
*/
sum: number;
/**
* Название перевода в истории отправителя (для переводов из кошелька или с привязанной карты). Отображается в кошельке отправителя.
*
* Удобнее всего формировать его из названий магазина и товара. Например: `Мой магазин: валенки белые`
*
* @deprecated **Поле игнорируется ЮMoney**
*/
formComment?: string;
/**
* Название перевода на странице подтверждения. Рекомендуем делать его таким же, как `formComment`.
*
* @deprecated **Поле игнорируется ЮMoney**
*
*/
shortDest?: string;
/** Метка, которую сайт или приложение присваивает конкретному переводу. Например, в качестве метки можно указывать код или идентификатор заказа. (До 64 символов) */
label?: string;
/**
* Поле, в котором можно передать комментарий отправителя перевода. (До 200 символов)
*
* @deprecated **Поле игнорируется ЮMoney**
*
*/
comment?: string;
/** URL-адрес для редиректа после совершения перевода. */
successURL?: string;
/**
* Нужны ФИО отправителя.
*
* @deprecated **Поле игнорируется ЮMoney**
*
* */
needFio?: boolean;
/**
* Нужна электронная почты отправителя.
*
* @deprecated **Поле игнорируется ЮMoney**
*
**/
needEmail?: boolean;
/**
* Нужен телефон отправителя.
*
* @deprecated **Поле игнорируется ЮMoney**
*
* */
needPhone?: boolean;
/**
* Нужен адрес отправителя.
*
* @deprecated **Поле игнорируется ЮMoney**
*
* */
needAddress?: boolean;
};
/**
* Генерирует HTML формы для переводов
* @class PaymentFormBuilder
*/
export declare class PaymentFormBuilder {
readonly config: FormConfig;
readonly url: string;
/**
*
* Creates an instance of PaymentFormBuilder.
* @param {FormConfig} [config={
* receiver: "",
* sum: 10,
* }] Изначальные настройки формы
*/
constructor(config?: FormConfig, url?: string);
/**
* Генерирует стандартные сеттеры
*
* @param {string} field
* @return {Function}
* @private
*/
private _makeSetter;
/**
* Задаёт сумму платежа
*
* @alias {@link setSum}
* @param {string | number} amount Сумма
* @return {this}
*/
setAmount(amount: number | string): this;
/**
* Задаёт сумму платежа
*
* @alias {@link setAmount}
* @param {string | number} amount Сумма
* @return {this}
*/
setSum(amount: number | string): this;
/**
* Задаёт получателя платежа
*
* @param {string | number} receiver Получатель
* @return {this}
*/
setReceiver(receiver: number | string): this;
/**
* Задаёт URL перенаправления после успешного платежа
*
* @param {string | URL} url URL
* @return {this}
*/
setSuccessURL(url: string | URL): this;
readonly setQuickPayForm: (value: AutoComplete<"button"> | undefined) => this;
readonly setPaymentType: (value: AutoComplete<PaymentType> | undefined) => this;
readonly setLabel: (value: string | undefined) => this;
/** @deprecated **Поле игнорируется ЮMoney** */
readonly setTargets: (value: string | undefined) => this;
/** @deprecated **Поле игнорируется ЮMoney** */
readonly setFormComment: (value: string | undefined) => this;
/** @deprecated **Поле игнорируется ЮMoney** */
readonly setShortDest: (value: string | undefined) => this;
/** @deprecated **Поле игнорируется ЮMoney** */
readonly setComment: (value: string | undefined) => this;
/**
* @deprecated **Поле игнорируется ЮMoney**
*
* @param {boolean} [doRequire=true]
* @return {this}
*/
requireFio(doRequire?: boolean): this;
/**
* @deprecated **Поле игнорируется ЮMoney**
*
* @param {boolean} [doRequire=true]
* @return {this}
*/
requireAddress(doRequire?: boolean): this;
/**
* @deprecated **Поле игнорируется ЮMoney**
*
* @param {boolean} [doRequire=true]
* @return {this}
*/
requireEmail(doRequire?: boolean): this;
/**
* @deprecated **Поле игнорируется ЮMoney**
*
* @param {boolean} [doRequire=true]
* @return {this}
*/
requirePhone(doRequire?: boolean): this;
/**
* Генерирует HTML на основе заданных параметров
* @param {boolean} [fullPage=false]
* @return {string}
*/
buildHtml(fullPage?: boolean): string;
}