Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

qiwi-sdk

Package Overview
Dependencies
Maintainers
2
Versions
95
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qiwi-sdk - npm Package Compare versions

Comparing version 1.6.7 to 1.7.0

dist/identity.d.ts

4

dist/services/p2p.js

@@ -20,3 +20,3 @@ "use strict";

const http_1 = require("../http");
const indentity_1 = require("../indentity");
const identity_1 = require("../identity");
const p2p_types_1 = require("./p2p.types");

@@ -78,3 +78,3 @@ /**

Authorization: `Bearer ${this.secretKey}`,
"User-Agent": indentity_1.USER_AGENT
"User-Agent": identity_1.USER_AGENT
};

@@ -81,0 +81,0 @@ this.API_URL = "https://api.qiwi.com/partner/bill/v1/bills";

@@ -6,2 +6,3 @@ /// <reference types="node" />

import { AnyResponse } from "./shared.types";
declare type StringOrNumber = string | number;
/**

@@ -54,34 +55,35 @@ * Ошибка, которую выбрасывает персональное API в случае неправильного кода ответа от QIWI

* Данный запрос позволяет отправить данные для идентификации вашего QIWI кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
* @param {types.IdentificationBase} data
*/
setIdentification(wallet: string | number, data: types.IdentificationBase): Promise<types.IdentificationResponse>;
setIdentification(wallet: StringOrNumber, data: types.IdentificationBase): Promise<types.IdentificationResponse>;
/**
* Данный запрос позволяет выгрузить маскированные данные и статус идентификации своего QIWI кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
*/
getIdentification(wallet: string | number): Promise<types.IdentificationResponse>;
getIdentification(wallet: StringOrNumber): Promise<types.IdentificationResponse>;
/**
* Запрос возвращает текущие уровни лимитов по операциям в вашем QIWI кошельке. Лимиты действуют как ограничения на сумму определенных операций.
* @param {string | number} wallet
* @template L
* @param {StringOrNumber} wallet
* @param {L} limits
*/
getLimits<L extends types.LimitType[] = types.LimitType[]>(wallet: string | number, limits: L): Promise<types.LimitsResponse<L[number]>>;
getLimits<L extends types.LimitType[] = types.LimitType[]>(wallet: StringOrNumber, limits: L): Promise<types.LimitsResponse<L[number]>>;
/**
* Запрос проверяет, есть ли ограничение на исходящие платежи с QIWI Кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
*/
getRestrictions(wallet: string | number): Promise<types.Restrictions>;
getRestrictions(wallet: StringOrNumber): Promise<types.Restrictions>;
/**
* Запрос выгружает список платежей и пополнений вашего кошелька. Можно использовать фильтр по количеству, ID и дате (интервалу дат) транзакций.
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {types.GetPaymentHistoryParams} parameters Тело запроса
*/
getPaymentHistory(wallet: string | number, parameters: types.GetPaymentHistoryParams): Promise<types.GetTransactionsHistoryResponse>;
getPaymentHistory(wallet: StringOrNumber, parameters: types.GetPaymentHistoryParams): Promise<types.GetTransactionsHistoryResponse>;
/**
* Данный запрос используется для получения сводной статистики по суммам платежей за заданный период.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
* @param {types.GetPaymentHistoryTotalParams} parameters
*/
getPaymentHistoryTotal(wallet: string | number, parameters: types.GetPaymentHistoryTotalParams): Promise<types.GetPaymentHistoryTotalResponse>;
getPaymentHistoryTotal(wallet: StringOrNumber, parameters: types.GetPaymentHistoryTotalParams): Promise<types.GetPaymentHistoryTotalResponse>;
/**

@@ -95,7 +97,7 @@ * Запрос используется для получения информации по определенной транзакции из вашей истории платежей.

*
* @param {number|string} transactionId номер транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].txnId в ответе)
* @param {StringOrNumber} transactionId номер транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].txnId в ответе)
* @param {types.TransactionType} type тип транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].type в ответе)
* @param {types.ChequeFormat} format тип файла, в который сохраняется квитанция. Допустимые значения: `JPEG`, `PDF`
*/
getTransactionCheque(transactionId: number | string, type: types.TransactionType, format?: types.ChequeFormat): Promise<Buffer>;
getTransactionCheque(transactionId: StringOrNumber, type: types.TransactionType, format?: types.ChequeFormat): Promise<Buffer>;
/**

@@ -110,24 +112,24 @@ *

* Успешный ответ содержит JSON-массив счетов вашего QIWI Кошелька для фондирования платежей и текущие балансы счетов
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
*/
getAccounts(wallet: string | number): Promise<types.GetAccountsResponse["accounts"]>;
getAccounts(wallet: StringOrNumber): Promise<types.GetAccountsResponse["accounts"]>;
/**
* Успешный JSON-ответ содержит данные о счетах, которые можно создать
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
*/
getAccountOffers(wallet: string | number): Promise<types.GetAccountOffersResponse>;
getAccountOffers(wallet: StringOrNumber): Promise<types.GetAccountOffersResponse>;
/**
* Создаёт новый счёт по параметру `alias`
* Успешный ответ возвращает пустую строку
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {string} alias Псевдоним нового счета (см. {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#funding_offer|запрос доступных счетов})
*/
createAccount(wallet: string | number, alias: string): Promise<"">;
createAccount(wallet: StringOrNumber, alias: string): Promise<"">;
/**
* Устанавливает счёт по умолчанию
* Успешный ответ возвращает пустую строку
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {string} alias Псевдоним счета (см. {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#funding_offer|запрос доступных счетов})
*/
setDefaultAccount(wallet: string | number, alias: string): Promise<"">;
setDefaultAccount(wallet: StringOrNumber, alias: string): Promise<"">;
/**

@@ -180,2 +182,45 @@ *

createP2PKeyPair(name: string, server?: string): Promise<[PublicKey: string, SecretKey: string]>;
/**
* Создаёт токен с увеличенным сроком действия (10 лет)
*
* @see {@link https://developer.qiwi.com/ru/qiwi-wallet-personal-advanced/?http#intro|Документация}
*/
createOauthToken(): Promise<types.PrettyTokenResponse<Personal>>;
/**
* Возвращает список карт
*
* @return {Promise<types.CardResponse>}
*/
getCards(): Promise<types.CardResponse[]>;
/**
* Блокирует карту
*
* @param {StringOrNumber} wallet
* @param {StringOrNumber} cardId
* @return {*}
*/
blockCard(wallet: StringOrNumber, cardId: StringOrNumber): Promise<any>;
/**
* Разблокирует карту
*
* @param {StringOrNumber} wallet
* @param {StringOrNumber} cardId
* @return {Promise<types.CardUnblockResponse>}
*/
unblockCard(wallet: StringOrNumber, cardId: StringOrNumber): Promise<types.CardUnblockResponse>;
/**
* Получает реквизиты карты
*
* @param {StringOrNumber} cardId
* @return {Promise<types.CardRequisitesResponse>}
*/
getCardRequisites(cardId: StringOrNumber): Promise<types.CardRequisitesResponse>;
/**
*
* @param {StringOrNumber} cardId
* @param {StringOrNumber} alias
* @return {types.CardRenameResponse}
*/
renameCard(cardId: StringOrNumber, alias: string): Promise<types.CardRenameResponse>;
}
export {};

@@ -38,4 +38,6 @@ "use strict";

const http_1 = require("../http");
const indentity_1 = require("../indentity");
const identity_1 = require("../identity");
const values = __importStar(require("./personal.types"));
const query_string_1 = require("query-string");
const uuid_1 = require("uuid");
/**

@@ -85,3 +87,3 @@ * Ошибка, которую выбрасывает персональное API в случае неправильного кода ответа от QIWI

Authorization: `Bearer ${this.API_TOKEN}`,
"User-Agent": indentity_1.USER_AGENT
"User-Agent": identity_1.USER_AGENT
};

@@ -99,3 +101,3 @@ this.API_URL = "https://edge.qiwi.com";

* Данный запрос позволяет отправить данные для идентификации вашего QIWI кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
* @param {types.IdentificationBase} data

@@ -108,3 +110,3 @@ */

* Данный запрос позволяет выгрузить маскированные данные и статус идентификации своего QIWI кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
*/

@@ -116,3 +118,4 @@ async getIdentification(wallet) {

* Запрос возвращает текущие уровни лимитов по операциям в вашем QIWI кошельке. Лимиты действуют как ограничения на сумму определенных операций.
* @param {string | number} wallet
* @template L
* @param {StringOrNumber} wallet
* @param {L} limits

@@ -126,3 +129,3 @@ */

* Запрос проверяет, есть ли ограничение на исходящие платежи с QIWI Кошелька.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
*/

@@ -134,3 +137,3 @@ async getRestrictions(wallet) {

* Запрос выгружает список платежей и пополнений вашего кошелька. Можно использовать фильтр по количеству, ID и дате (интервалу дат) транзакций.
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {types.GetPaymentHistoryParams} parameters Тело запроса

@@ -144,3 +147,3 @@ */

* Данный запрос используется для получения сводной статистики по суммам платежей за заданный период.
* @param {string | number} wallet
* @param {StringOrNumber} wallet
* @param {types.GetPaymentHistoryTotalParams} parameters

@@ -162,3 +165,3 @@ */

*
* @param {number|string} transactionId номер транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].txnId в ответе)
* @param {StringOrNumber} transactionId номер транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].txnId в ответе)
* @param {types.TransactionType} type тип транзакции из {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/#history_data|истории платежей} (параметр data[].type в ответе)

@@ -181,3 +184,3 @@ * @param {types.ChequeFormat} format тип файла, в который сохраняется квитанция. Допустимые значения: `JPEG`, `PDF`

* Успешный ответ содержит JSON-массив счетов вашего QIWI Кошелька для фондирования платежей и текущие балансы счетов
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
*/

@@ -190,3 +193,3 @@ async getAccounts(wallet) {

* Успешный JSON-ответ содержит данные о счетах, которые можно создать
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
*/

@@ -199,3 +202,3 @@ async getAccountOffers(wallet) {

* Успешный ответ возвращает пустую строку
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {string} alias Псевдоним нового счета (см. {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#funding_offer|запрос доступных счетов})

@@ -209,3 +212,3 @@ */

* Успешный ответ возвращает пустую строку
* @param {string | number} wallet Номер кошелька
* @param {StringOrNumber} wallet Номер кошелька
* @param {string} alias Псевдоним счета (см. {@link https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#funding_offer|запрос доступных счетов})

@@ -320,2 +323,78 @@ */

}
/**
* Создаёт токен с увеличенным сроком действия (10 лет)
*
* @see {@link https://developer.qiwi.com/ru/qiwi-wallet-personal-advanced/?http#intro|Документация}
*/
async createOauthToken() {
const { code } = await this.post("https://qiwi.com/oauth/authorize", {
"Content-Type": "application/x-www-form-urlencoded"
}, query_string_1.stringify({
response_type: "code",
client_id: "api_wallet_private",
token: this.API_TOKEN,
client_software: "api"
}));
const { access_token: token, expires_in: expiry } = await this.post("https://qiwi.com/oauth/token", {
"Content-Type": "application/x-www-form-urlencoded"
}, query_string_1.stringify({
grant_type: "authorization_code",
client_id: "api_wallet_private",
client_secret: "hTFPyt",
code
}));
return {
token: token,
expiry: Number.parseInt(expiry, 10),
client: new Personal(token)
};
}
/**
* Возвращает список карт
*
* @return {Promise<types.CardResponse>}
*/
getCards() {
return this.get("cards/v1/cards", {});
}
/**
* Блокирует карту
*
* @param {StringOrNumber} wallet
* @param {StringOrNumber} cardId
* @return {*}
*/
blockCard(wallet, cardId) {
return this.put(`cards/v2/persons/${wallet}/cards/${cardId}/block`);
}
/**
* Разблокирует карту
*
* @param {StringOrNumber} wallet
* @param {StringOrNumber} cardId
* @return {Promise<types.CardUnblockResponse>}
*/
unblockCard(wallet, cardId) {
return this.put(`cards/v2/persons/${wallet}/cards/${cardId}/unblock`);
}
/**
* Получает реквизиты карты
*
* @param {StringOrNumber} cardId
* @return {Promise<types.CardRequisitesResponse>}
*/
getCardRequisites(cardId) {
return this.put(`cards/v1/cards/${cardId}/details`, {}, JSON.stringify({
operationId: uuid_1.v4()
}));
}
/**
*
* @param {StringOrNumber} cardId
* @param {StringOrNumber} alias
* @return {types.CardRenameResponse}
*/
renameCard(cardId, alias) {
return this.put(`cards/v1/cards/${cardId}/alias`, {}, JSON.stringify({ alias }));
}
}

@@ -322,0 +401,0 @@ Personal.Currency = values.Currency;

@@ -40,2 +40,8 @@ export declare enum PersonIdentificationLevel {

}
export declare type MoneyAmount = {
/** Сумма */
amount: number;
/** Валюты */
currency: Currency;
};
export declare enum ChequeFormat {

@@ -293,11 +299,5 @@ JPEG = "JPEG",

/** Данные о входящих платежах (пополнениях), отдельно по каждой валюте */
incomingTotal: {
amount: number;
currency: string;
}[];
incomingTotal: MoneyAmount[];
/** Данные об исходящих платежах, отдельно по каждой валюте */
outgoingTotal: {
amount: number;
currency: string;
}[];
outgoingTotal: MoneyAmount[];
};

@@ -348,22 +348,7 @@ export declare type Transaction = {

/** Данные о сумме платежа или пополнения. */
sum: {
/** сумма платежа */
amount: number;
/** валюта платежа */
currency: Currency;
};
sum: MoneyAmount;
/** Данные о комиссии платежа */
commission: {
/** сумма */
amount: number;
/** валюта */
currency: Currency;
};
commission: MoneyAmount;
/** Данные о фактической сумме платежа или пополнения. */
total: {
/** сумма (равна сумме платежа `sum.amount` и комиссии `commission.amount`) */
amount: number;
/** валюта */
currency: Currency;
};
total: MoneyAmount;
/** Данные о провайдере. */

@@ -415,3 +400,3 @@ provider: {

/** ID следующей транзакции в полном списке */
nextTxnId: number;
nextTxnId: Transaction["txnId"] | null;
/**

@@ -421,3 +406,3 @@ * Дата/время следующей транзакции в полном списке, время московское (в формате

*/
nextTxnDate: string;
nextTxnDate: Transaction["date"] | null;
};

@@ -483,7 +468,3 @@ export declare enum LimitType {

hasBalance: boolean;
balance: {
amount: number;
/** Код валюты баланса (number-3 ISO-4217). Возвращаются балансы в следующих валютах: 643 - российский рубль, 840 - американский доллар, 978 - евро */
currency: Currency;
} | null;
balance: MoneyAmount | null;
/** Код валюты баланса (number-3 ISO-4217) */

@@ -533,6 +514,3 @@ currency: Currency;

/** Копия объекта `sum` из платежного запроса */
sum: {
amount: number;
currency: Currency;
};
sum: MoneyAmount;
transaction: {

@@ -594,1 +572,152 @@ id: string;

};
export declare type CodeResponse = {
code: string;
};
export declare type TokenResponse = {
/** Токен с расширенным сроком действия */
access_token: string;
/** Тип токена */
token_type: "Bearer";
/** Кол-во секунд в формате строки: `"316224000"` */
expires_in: string;
/** Не используется */
refresh_token: string;
};
export declare type PrettyTokenResponse<C> = {
token: string;
expiry: number;
client: C;
};
/** Статус карты */
export declare enum CardStatus {
/** Активна */
ACTIVE = "ACTIVE",
/** Отправлена в банк */
SENDED_TO_BANK = "SENDED_TO_BANK",
/** Отправлена владельцу */
SENDED_TO_USER = "SENDED_TO_USER",
/** Заблокированная */
BLOCKED = "BLOCKED",
/** Хз */
UNKNOWN = "UNKNOWN"
}
declare type ImageObject = {
/** URL изображения */
url: string;
/** Ширина изображения */
width: number;
/** Высота изображения */
height: number;
/** Размер изображения относительно минимального в наборе. Пример: `2x` */
ratio: string;
};
declare type KVObject = {
name: string;
value: string;
};
export declare type CardResponse = {
/** Общая информация о карте */
qvx: {
/** ID карты */
id: number;
/** Маскированный номер карты (отображаются только последние 4 цифры). Пример: `****9078` */
maskedPan: string;
/** Текущий статус карты */
status: CardStatus;
/** Срок действия карты в формате: `2022-01-31T00:00:00+03:00` */
cardExpire: string;
/** Вид карты */
cardType: "VIRTUAL" | "PLASTIC";
/** [Название карты](https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#qvc-rename) в интерфейсе сайта [qiwi.com](https://qiwi.com/) */
cardAlias: string;
cardLimit: null | {
value: number;
currencyCode: Currency;
};
/** Дата активации карты в формате: `2022-01-31T00:00:00+03:00` */
activated: string;
/** Дата высылки СМС с реквизитами в формате: `2022-01-31T00:00:00+03:00` */
smsResended: string;
/** Дата блокировки в формате: `2022-01-31T00:00:00+03:00` */
blockedDate: string;
/** Признак возможности разблокировать карту */
unblockAvailable: boolean;
/** ID транзакции заказа карты */
txnId: string;
/** Месяц окончания действия карты. Например: `01` */
cardExpireMonth: string;
/** Год окончания действия карты. Например: `2022` */
cardExpireYear: string;
};
/** Данные баланса карты */
balance: MoneyAmount | null;
/** Тарифы и банковские реквизиты карты */
info: {
/** [Тип карты](https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#card-types) */
alias: "qvc-cpa" | "qvc-cpa-debit" | "qvp-gold";
/** Название карты */
name: string;
/**
* Тариф карты:
*
* `amount` - Стоимость обслуживания
* `currency` - Код валюты баланса (по ISO)
*/
price: MoneyAmount;
/** Период обслуживания (по тарифу). Пример: `за год` */
period: string;
details: {
/** Краткое описание тарифа карты. Пример: `99 ₽, действует 1 год` */
info: string;
/** Описание карты */
description: string;
/** Изображения карты для лендинга с "примерными" данными */
images: ImageObject[];
/** Иконки карты */
imagesMin: ImageObject[];
/** Изображения карты без данных */
imagesDet: ImageObject[];
/** Список условий обслуживания карты */
tariffs: KVObject[];
/** Ссылка на описание тарифа */
tariffLink: string;
/** Ссылка на договор оферты на выпуск карты */
offerLink: string;
/** Список возможностей карты на русском */
features: string[];
/** Список пар "ключ-значение" с данными банковских реквизитов для пополнения карты */
requisites: KVObject[];
};
[key: string]: any;
};
};
export declare enum CardActionStatus {
OK = "OK",
FAIL = "FAIL",
CONFIRMATION_REQUIRED = "CONFIRMATION_REQUIRED",
CONFIRMATION_LIMIT_EXCEED = "CONFIRMATION_LIMIT_EXCEED"
}
export declare type CardUnblockResponse = {
status: CardActionStatus;
nextConfirmationRequest: null;
confirmationId: null;
operationId: null;
};
export declare type CardRequisitesResponse = {
status: CardActionStatus;
/** CVV карты */
cvv: string;
/** Полный номер карты */
pan: string;
/** Код ошибки */
errorCode: string;
[key: string]: any;
};
export declare type CardRenameResponse = {
status: CardActionStatus.OK | CardActionStatus.FAIL;
/** Текстовое описание ошибки */
error: string;
/** Код ошибки */
errorCode: string;
};
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LimitType = exports.Recipients = exports.ChequeFormat = exports.Currency = exports.TransactionStatus = exports.TransactionType = exports.PersonIdentificationLevel = void 0;
exports.CardActionStatus = exports.CardStatus = exports.LimitType = exports.Recipients = exports.ChequeFormat = exports.Currency = exports.TransactionStatus = exports.TransactionType = exports.PersonIdentificationLevel = void 0;
/* eslint-disable camelcase */
/* eslint-disable unicorn/prevent-abbreviations */

@@ -125,1 +126,22 @@ var PersonIdentificationLevel;

})(LimitType = exports.LimitType || (exports.LimitType = {}));
/** Статус карты */
var CardStatus;
(function (CardStatus) {
/** Активна */
CardStatus["ACTIVE"] = "ACTIVE";
/** Отправлена в банк */
CardStatus["SENDED_TO_BANK"] = "SENDED_TO_BANK";
/** Отправлена владельцу */
CardStatus["SENDED_TO_USER"] = "SENDED_TO_USER";
/** Заблокированная */
CardStatus["BLOCKED"] = "BLOCKED";
/** Хз */
CardStatus["UNKNOWN"] = "UNKNOWN";
})(CardStatus = exports.CardStatus || (exports.CardStatus = {}));
var CardActionStatus;
(function (CardActionStatus) {
CardActionStatus["OK"] = "OK";
CardActionStatus["FAIL"] = "FAIL";
CardActionStatus["CONFIRMATION_REQUIRED"] = "CONFIRMATION_REQUIRED";
CardActionStatus["CONFIRMATION_LIMIT_EXCEED"] = "CONFIRMATION_LIMIT_EXCEED";
})(CardActionStatus = exports.CardActionStatus || (exports.CardActionStatus = {}));
{
"name": "qiwi-sdk",
"version": "1.6.7",
"version": "1.7.0",
"description": "Typed, Promise based, QIWI API (P2P & Personal) client",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc