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

yoomoney-sdk

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yoomoney-sdk - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

4

dist/api.types.d.ts

@@ -262,2 +262,6 @@ import { CardType } from "./shared.types";

/**
* Идентификатор получателя перевода (номер счета, номер телефона или email).
*/
to: string;
/**
* Фиксированное значение: `p2p`.

@@ -264,0 +268,0 @@ */

12

package.json
{
"name": "yoomoney-sdk",
"version": "1.1.1",
"version": "1.1.2",
"description": "YooMoney typed SDK",

@@ -9,2 +9,9 @@ "main": "dist/index.js",

"type": "commonjs",
"engines": {
"node": ">=10"
},
"directories": {
"lib": "./dist",
"doc": "./docs"
},
"scripts": {

@@ -78,6 +85,5 @@ "test": "jest",

"hooks": {
"pre-commit": "npm run lint && npm run prettify",
"pre-push": "npm test"
"pre-commit": "npm run lint && npm run prettify"
}
}
}

@@ -12,2 +12,21 @@ # YooMoney NodeJS SDK

## Содержание
- [YooMoney NodeJS SDK](#yoomoney-nodejs-sdk)
- [Содержание](#содержание)
- [Почему именно эта библиотека?](#почему-именно-эта-библиотека)
- [📦 Установка](#-установка)
- [NPM:](#npm)
- [Yarn:](#yarn)
- [✏️ Примеры](#️-примеры)
- [🔎 Получение информации о владельце кошелька](#-получение-информации-о-владельце-кошелька)
- [💸 Отправка перевода](#-отправка-перевода)
- [Приём платежей](#приём-платежей)
- [Небольшое НО](#небольшое-но)
- [ℹ️ Доп. информация](#ℹ️-доп-информация)
- [🧑‍⚖️ Лицензия](#️-лицензия)
- [❤️ Контрибьютинг](#️-контрибьютинг)
- [🙋 Поддержка](#-поддержка)
- [Интересует приём и отправка P2P платежей по РФ на NodeJS?](#интересует-приём-и-отправка-p2p-платежей-по-рф-на-nodejs)
## Почему именно эта библиотека?

@@ -21,6 +40,20 @@

## Работа с API
## 📦 Установка
Простой пример
### NPM:
```shell
npm i -S yoomoney-sdk
```
### Yarn:
```shell
yarn add yoomoney-sdk
```
## ✏️ Примеры
### 🔎 Получение информации о владельце кошелька
```typescript

@@ -50,2 +83,104 @@ import { YMApi } from "yoomoney-sdk";

### 💸 Отправка перевода
```typescript
// Платежи куда угодно 101
import { YMApi, ymTypes } from "yoomoney-sdk";
const api = new YMApi(process.env.YM_TOKEN);
type PayoutMethod = "qiwi" | "yoomoney" | "card" | "mobile";
function getRequest(
method: PayoutMethod,
account: string,
amount: number
): ymTypes.RequestPaymentParams {
switch (method) {
case "yoomoney":
return {
amount,
pattern_id: "p2p",
to: account
};
case "qiwi":
// Взято из доков и с https://yoomoney.ru/api/showcase/97186
return {
rapida_param1: account.slice(1),
netSum: amount.toString(),
pattern_id: "97186",
ShopID: "135960",
ShowCaseID: "44",
ShopArticleID: "434586"
};
case "mobile":
return {
pattern_id: "phone-topup",
"phone-number": account,
amount
};
case "card":
// Искал часа 2 как сделать перевод через API - ничего
throw new Error("Метод недоступен");
}
}
async function sendPayment(method: PayoutMethod, account: string, amount: number) {
// Запрашиваем платёж
const request = await api.requestPayment(getRequest(method, account, amount));
// Где-то тут можно сохранить ID платежа в ДБ и оставить на потом
// Подтверждаем платёж
const response = await api.processPayment({
money_source: "wallet",
request_id: request.request_id
});
console.log(response);
}
// Донатим на разработку этой библиотеки :)
sendPayment("yoomoney", "410016348581848", 100);
```
### Приём платежей
```javascript
// ♂️Gachi♂️ магазинчик на Express
const express = require("express");
const app = express();
const { YMPaymentFromBuilder } = require("yoomoney-sdk");
const port = parseInt(process.env.PORT);
app.get("/pay", (_req, res) => {
const builder = new YMPaymentFromBuilder()
.setQuickPayForm("shop")
.setAmount((300 * 74.3).toFixed(2)) // 300 баксов
.requirePhone() // Требуем с плательщика ввести телефон
.setSuccessURL(`http://localhost:${port}/success`)
.setPaymentType("AC") // Просим деньги с карты
.setReceiver("410016348581848") // Номер кошелька получателя (ваш)
.setLabel("payment-001") // Чтобы потом вычленить в уведомлении
.setComment("За ♂️Fisting♂️");
res.whiteHead(200, "OK", {
"Content-Type": "text/html; charset=utf-8"
});
res.end(builder.buildHtml());
});
app.get("/success", (_req, res) => {
res.end("Спасибо за покупку!");
});
app.listen(port);
```
### Небольшое НО

@@ -58,4 +193,33 @@

## ℹ️ Доп. информация
**🇬🇧: `Additional info`**
### 🧑‍⚖️ Лицензия
**🇬🇧: `License`**
[**MIT**](./LICENSE)
### ❤️ Контрибьютинг
**🇬🇧: `Contributing`**
_Что делаем?_:
1. ⁉️ Не стесняемся писать [Issue](https://github.com/AlexXanderGrib/yoomoney-sdk/issues/new)
2. 🛠️ Если хотите что-то поправить следуйте гайду [`CONTRIBUTING.md`](./CONTRIBUTING.md)
3. 💸 Донатим 👉 https://sobe.ru/na/yoomoney_sdk
4. 🌟 Ставим [звёздочки](https://github.com/AlexXanderGrib/yoomoney-sdk/stargazers), если библиотека понравилась.
### 🙋 Поддержка
**🇬🇧: `Support`**
Библиотека - маленькая, я отвечаю быстро. Не стесняйтесь писать Issue, даже если кажется что они глупые. Если что, можете писать в
**Telegram: [@AlexXanderGrib](https://t.me/AlexXanderGrib)**
### Интересует приём и отправка P2P платежей по РФ на NodeJS?
У нас есть точно такое-же типизированное SDK для QIWI 👉 [github.com/AlexXanderGrib/node-qiwi-sdk](https://github.com/AlexXanderGrib/node-qiwi-sdk)
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