npm.io
1.1.2 • Published 4 years ago

robokassa-node

Licence
ISC
Version
1.1.2
Deps
1
Size
30 kB
Vulns
0
Weekly
0
Stars
1

Robokassa Node

Пакет для работы с сервисом эквайринга Robokassa

Установка

npm install robokassa-node --save

Использование

Всю документацию по работе с API Робокассы можно найти здесь: https://docs.robokassa.ru


import { Robokassa } from 'robokassa-node';
import type { RobokassaConfig } from 'robokassa-node';

const config: RobokassaConfig = {
    merchantId: YOUR_MERCHANT_ID,
    passwordOne: YOUR_PASSWORD_1,
    passwordTwo: YOUR_PASSWORD_2,
    hashAlgo: 'MD5',
}

const robokassa = new Robokassa(config);

Поддерживаются методы:

   const order: Order = {
    outSum: 1000,
    additionalParams: {
        orderId: 'order_1',
    },
    description: `Описание заказа`,
    email: 'your@email.com',
    items: [
        {
            name: `Товар "Товар 1"`,
            quantity: 1,
            sum: "1000.00",
            tax: PaymentTax.NONE,
            payment_method: PaymentMethod.FULL_PREPAYMENT,
            payment_object: PaymentObject.COMMODITY,
        },
    ],
};

const paymentLink = await robokassa.generatePaymentLink(order);
CheckPaymentParams
Параметр Тип Описание Обязательный
sum string Сумма заказа, которая приходит от Робокассы Да
invId number номер заказа в Робокассе, приходит в ответе Да
signature string Подпись, приходит из Робоказзы Да
order Order Сущность заказа Да
   const order: Order = {
    outSum: 1000,
    additionalParams: {
        orderId: 'order_1',
    },
    description: `Описание заказа`,
    email: 'your@email.com',
    items: [
        {
            name: `Товар "Товар 1"`,
            quantity: 1,
            sum: "1000.00",
            tax: PaymentTax.NONE,
            payment_method: PaymentMethod.FULL_PREPAYMENT,
            payment_object: PaymentObject.COMMODITY,
        },
    ],
};

const invId = 1;
const signature = 'SIGNATRUE_FROM_ROBOKASSA_RESPONSE';

const params = {
    signature,
    invId,
    sum: "1000.000000",
    order
}

const isSuccessfull = await robokassa.checkPayment(params);
   const order: Order = {
        outSum: 1000,
        additionalParams: {
            orderId: 'order_1',
        },
        description: `Описание заказа`,
        email: 'your@email.com',
        items: [
            {
                name: `Товар "Товар 1"`,
                quantity: 1,
                sum: "1000.00",
                tax: PaymentTax.NONE,
                payment_method: PaymentMethod.FULL_PREPAYMENT,
                payment_object: PaymentObject.COMMODITY,
            },
        ],
   };

   const invId = 1;
   const signature = 'SIGNATRUE_FROM_ROBOKASSA_RESPONSE';

   const isSuccessfull = await robokassa.checkPaymentSuccessURL(signature, invId, order);

Параметры и интерфейс

RobokassaConfig
Параметр Тип Описание Обязательный
merchantId string Ваш идентификатор магазина Да
passwordOne string Пароль#1 Да
passwordTwo string Пароль#2 Да
hashAlgo MD5, SHA1, SHA256, SHA384, SHA512 Алгоритм шифрования для создания подписи Да
isTest boolean Тестовый режим оплаты (по умолчанию - false) Нет
culture ru, en Нет
encoding utf-8, win-1251 Кодировка Нет
additionalParamPrefix shp_ , Shp_, SHP_ Префикс для пользовательских параметров, переданных в ссылку для оплаты Нет
debug boolean Режим отладки Нет
Order
Параметр Тип Описание Обязательный
outSum number Сумма заказа Да
description string Описание заказа Да
invId number Идентификатор заказа в Робокассе Нет
email string Email покупателя Да
expirationDate Date Дата, до которой возможна оплата заказа Нет
additionalParams Record<string, any> Дополнительные пользовательские параметры Нет
items ReceiptItem[] Массив товаров для фискализации Нет
sno SNO Система налогообложениы Нет

Отказ от ответственности

Этот пакет не является официальным пакетом для работы с сервисом РОБОКАССА. Используйте на свой страх и риск.