UNPKG

yoomoney-sdk

Version:

⭐ Typed YooMoney Wallet SDK for NodeJS. Supported API's: Auth, Wallet & Notifications

154 lines (153 loc) 6.92 kB
import { Agent, QueryStringifiable } from './fetch'; import { AnyRecord } from './shared.types'; import type * as t from "./api.types"; /** * Ошибка, которую выбрасывает API при ошибочном ответе от сервера */ export declare class YMApiError extends Error { response: AnyRecord; code: string; /** * Объект ответа * @param {AnyRecord} response */ constructor(response: AnyRecord); } /** * Ошибка, если API возвращает пустую строку ответе * Скорее всего это связано с отсутствием прав токена * * @see https://github.com/AlexXanderGrib/yoomoney-sdk/issues/4 */ export declare class YMApiVoidResponseError extends Error { constructor(); } /** * Имплементирует [основное API YooMoney](https://yoomoney.ru/docs/wallet) * * @see {@link https://yoomoney.ru/docs/wallet|Описание} * @class API */ export declare class API { token: string; endpoint: string; agent?: Agent | undefined; /** * Creates an instance of API. * @param {string} token Токен авторизации пользователя * @param {string=} [endpoint="https://yoomoney.ru/api"] По умолчанию `https://yoomoney.ru/api` * @param {Agent=} [agent] */ constructor(token: string, endpoint?: string, agent?: Agent | undefined); /** * Позволяет совершить вызов произвольного метода API * * @template T * @param {string} method Название метода * @param {QueryStringifiable} parameters Параметры метода * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @return {Promise<T>} */ call<T = any>(method: string, parameters: QueryStringifiable): Promise<T>; /** * Получение информации о состоянии счета пользователя. * * Требуемые права токена: `account-info`. * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @return {t.AccountInfoResponse} */ accountInfo(): Promise<t.AccountInfoResponse>; /** * Метод позволяет просматривать историю операций (полностью или частично) в постраничном режиме. Записи истории выдаются в обратном хронологическом порядке: от последних к более ранним. * * Требуемые права токена: `operation-history`. * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.OperationHistoryParameters=} [parameters={}] Параметры вызова * @return {Promise<t.OperationHistoryResponse>} */ operationHistory(parameters?: t.OperationHistoryParameters): Promise<t.OperationHistoryResponse>; /** * Позволяет получить детальную информацию об операции из истории. * * Требуемые права токена: `operation-details`. * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.OperationDetailsParameters} parameters Параметры вызова * @return {Promise<t.Operation>} */ operationDetails(parameters: t.OperationDetailsParameters): Promise<t.Operation>; /** * Создание платежа, проверка параметров и возможности приема * платежа магазином или перевода средств на счет пользователя * ЮMoney. * * Требуемые права токена: * - для платежа в магазин: `payment.to-pattern` * («шаблон платежа») или `payment-shop`. * * - для перевода средств на счета других пользователей: * `payment.to-account` («идентификатор получателя», * «тип идентификатора») или `payment-p2p`. * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.RequestPaymentParameters} parameters Параметры вызова * @return {Promise<t.RequestPaymentResponse>} */ requestPayment(parameters: t.RequestPaymentParameters): Promise<t.RequestPaymentResponse>; /** * Подтверждение платежа, ранее созданного методом * [request-payment](https://yoomoney.ru/docs/wallet/process-payments/request-payment). * Указание метода проведения платежа. * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.ProcessPaymentParameters} parameters Параметры вызова * @return {Promise<t.ProcessPaymentResponse>} */ processPayment(parameters: t.ProcessPaymentParameters): Promise<t.ProcessPaymentResponse>; /** * Прием входящих переводов, защищенных кодом протекции, и * переводов до востребования. * * Количество попыток приема входящего перевода с кодом протекции * ограничено. При исчерпании количества попыток, перевод * автоматически отвергается (перевод возвращается отправителю). * * Требуемые права токена: `incoming-transfers` * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.IncomingTransferAcceptParameters} parameters Параметры вызова * @return {Promise<t.IncomingTransferAcceptResponse>} */ incomingTransferAccept(parameters: t.IncomingTransferAcceptParameters): Promise<t.IncomingTransferAcceptResponse>; /** * Отмена входящих переводов, защищенных кодом протекции, и * переводов до востребования. При отмене перевода он возвращается * отправителю. * * Требуемые права токена: `incoming-transfers` * * @throws {YMApiError} * @throws {YMApiVoidResponseError} * * @param {t.IncomingTransferRejectParameters} parameters Параметры вызова * @return {Promise<t.IncomingTransferRejectResponse>} */ incomingTransferReject(parameters: t.IncomingTransferRejectParameters): Promise<t.IncomingTransferRejectResponse>; }