New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cloudpayments

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cloudpayments

CloudPayments API for Node.js with typings

  • 6.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
110
decreased by-76.5%
Maintainers
1
Weekly downloads
 
Created
Source

CloudPayments

Библиотека для работы с API и обработки уведомлений от платежного сервиса CloudPayments.

Проект написан на языке TypeScript и включает описание всех доступных интерфейсов. Все примеры приведены по стандарту es7. Версия поддерживаемой платформы Node.js 6 и выше.

Install

Для установки пакета используйте стандартный механизм NPM:

npm i -S cloudpayments

Usage

Подключение библиотеки

import {ClientService} from 'cloudpayments';

const client = new ClientService({/* options */});

// бизнес-логика приложения ...

ClientService

Общий интерфейс для доступа к API библиотеки, принимает единственный аргумент ClientOptions.

Methods
MethodOptionsReturnDescription
getClientApiClientApiВозвращает экземпляр класса ClientApi для работы со стандартным API
getReceiptApiReceiptApiВозвращает экземпляр класса ReceiptApi для работы с API кассы
getNotificationHandlersNotificationHandlersВозвращает экземпляр класса ClientHandlers для обработки уведомлений
createClientApiClientOptionsClientApiСоздает отдельный экземпляр класса ClientApi
createReceiptApiClientOptionsReceiptApiСоздает отдельный экземпляр класса ReceiptApi
createNotificationHandlersClientOptionsNotificationHandlersСоздает отдельный экземпляр класса NotificationHandlers

ClientOptions

Параметры подключения к платежному сервису.

OptionTypeDescription
endpointstringАдрес сервера API, по-умолчанию https://api.cloudpayments.ru
privateKeystringВаш приватный ключ
publicIdstringВаш публичный ключ
org.taxationSystemTaxationSystemСистема налогооблажения
org.innnumberИНН

ClientApi

Доступные методы клиентского API:

МетодОписаниеДокументация
chargeCryptogramPaymentОплата по криптограммеhttps://developers.cloudpayments.ru/#oplata-po-kriptogramme
authorizeCryptogramPaymentОплата по криптограмме (преавторизация)https://developers.cloudpayments.ru/#oplata-po-kriptogramme
chargeTokenPaymentОплата по токенуhttps://developers.cloudpayments.ru/#oplata-po-tokenu-rekarring
authorizeTokenPaymentОплата по токену (преавторизация)https://developers.cloudpayments.ru/#oplata-po-tokenu-rekarring
confirm3DSPaymentОбработка 3-D Securehttps://developers.cloudpayments.ru/#obrabotka-3-d-secure
confirmPaymentПодтверждение оплатыhttps://developers.cloudpayments.ru/#podtverzhdenie-oplaty
refundPaymentВозврат денегhttps://developers.cloudpayments.ru/#vozvrat-deneg
voidPaymentОтмена оплатыhttps://developers.cloudpayments.ru/#otmena-oplaty
getPaymentПросмотр информации об операцииhttps://developers.cloudpayments.ru/#prosmotr-tranzaktsii
findPaymentByInvoiceIdПроверка статуса платежаhttps://developers.cloudpayments.ru/#proverka-statusa-platezha
getPaymentsListВыгрузка списка транзакцийhttps://developers.cloudpayments.ru/#vygruzka-spiska-tranzaktsiy
createOrderСоздание счета для отправки по почтеhttps://developers.cloudpayments.ru/#sozdanie-scheta-dlya-otpravki-po-pochte
createSubscriptionСоздание подписки на рекуррентные платежиhttps://developers.cloudpayments.ru/#sozdanie-podpiski-na-rekurrentnye-platezhi
updateSubscriptionИзменение подписки на рекуррентные платежиhttps://developers.cloudpayments.ru/#izmenenie-podpiski-na-rekurrentnye-platezhi
cancelSubscriptionОтмена подписки на рекуррентные платежиhttps://developers.cloudpayments.ru/#izmenenie-podpiski-na-rekurrentnye-platezhi
getSubscriptionЗапрос информации о подпискеhttps://developers.cloudpayments.ru/#zapros-informatsii-o-podpiske
getSubscriptionsListПоиск подписокhttps://developers.cloudpayments.ru/#poisk-podpisok
chargeCryptogramPayoutВыплата по криптограммеhttps://developers.cloudpayments.ru/#vyplata-po-kriptogramme
chargeTokenPayoutВыплата по токенуhttps://developers.cloudpayments.ru/#vyplata-po-tokenu

ReceiptApi

Интерфейс ReceiptApi предназначен для работы с API касс.

Пример использования:

import {createServer} from 'http';
import {ClientService, TaxationSystem, VAT, ResponseCodes, ReceiptTypes} from 'cloudpayments';

const client = new ClientService({
    privateKey: 'private key',
    publicId: 'public id',
    org: {
        taxationSystem: TaxationSystem.GENERAL,
        inn: 123456789
    }
});

const handlers = client.getNotificationHandlers();
const receiptApi = client.getReceiptApi();
const server = createServer(async (req, res) => {
    const response = await handlers.handlePayRequest(req, async (request) => {
        // Проверям запрос, например на совпадение цены заказа
        if (request.Amount > 0) {
            return ResponseCodes.INVALID_AMOUNT;
        }
        
        // Отправляем запрос на создание чека
        const response = await receiptApi.createReceipt(
            { 
                Type: ReceiptTypes.Income,
                invoiceId: request.InvoiceId,
                accountId: request.AccountId,
            },
            {
                // если система налогооблажения не указана, 
                // берется из настроек ClientOptions
                taxationSystem: TaxationSystem.GENERAL,
                inn: 123456789,
                email: 'mail@example.com',
                phone: '+7123456789',
                Items: [
                    {
                        label: 'Наименование товара или сервиса',
                        quantity: 2,
                        price: 1200,
                        amount: 2400,
                        vat: VAT.VAT18,
                        ean13: '1234456363',
                    }
                ]
            }
        );
        
        // Проверяем, что запрос встал в очередь,
        // иначе обрабатываем исключение
        
        // Если все прошло успешно, возвращаем 0
        return ResponseCodes.SUCCESS;
    });
    res.setHeader('Content-Type', 'application/json');
    res.end(JSON.stringify(response));
});
Methods
MethodArgumentsReturnDescription
createReceiptReceiptTypes, ReceiptResponse<{}>Отправляет запрос на создание чека
Receipt

Смотрите Receipt

Handlers

В библиотеку cloudpayments встроен механизм обработки уведомлений о платежах (смотрите документацию).

Список доступных методов для обработки уведомлений:

МетодПараметры запросаСсылка на описание
handleCheckRequestCheckNotificationhttps://developers.cloudpayments.ru/#check
handlePayRequestPayNotificationhttps://developers.cloudpayments.ru/#pay
handleFailRequestFailNotificationhttps://developers.cloudpayments.ru/#fail
handleRecurrentRequestRecurrentNotificationhttps://developers.cloudpayments.ru/#recurrent
handleRefundRequestRefundNotificationhttps://developers.cloudpayments.ru/#refund
handleReceiptRequestReceiptNotificationhttps://developers.cloudpayments.ru/#receipt
handleConfirmRequestConfirmNotificationhttps://developers.cloudpayments.ru/#confirm

Пример использования:

import {createServer} from 'http';
import {ClientService, TaxationSystem, ResponseCodes} from 'cloudpayments';

const client = new ClientService({
    privateKey: 'private key',
    publicId: 'public id',
    org: {
        taxationSystem: TaxationSystem.GENERAL,
        inn: 123456789
    }
});

const handlers = client.getNotificationHandlers();
const server = createServer(async (req, res) => {
    if (req.url == '/cloudpayments/fail') {
        const response = await handlers.handleFailRequest(req, async (request) => {
            // Делаем что-то с инфомацией о неудачном платеже
            return ResponseCodes.SUCCESS;
        });
        
        res.setHeader('Content-Type', 'application/json');
        res.end(JSON.stringify(response));
    }
});

Response

Базовый интерфейс для всех типов ответов.

FieldTypeDescription
SuccessbooleanУспех операции
MessagestringСообщение

License

MIT

Keywords

FAQs

Package last updated on 29 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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