UNPKG

@martcarrefour/robokassa

Version:

Robokassa Node.JS integration (Note: Original repository is now actively maintained)

127 lines (111 loc) 11.8 kB
import { IRobokassaReceipt } from './IRobokassaReceipt'; import { RobokassaUserParameterKey } from './RobokassaUserParameterKey'; export interface IRobokassaOrder { /** Повторяющийся платеж (рекуррентный платеж). Указывает, что данный счет является частью серии повторяющихся платежей (например, подписка). Если параметр указан, Robokassa обрабатывает оплату как автоматическое списание по сохраненному сценарию. Пример использования: recurring: true — если вы запускаете автоматическое продление услуг, подписку и т.п. При использовании повторяющихся платежей требуется также параметр PreviousInvoiceID — номер первоначального счета в цепочке. */ recurring?: boolean; /** Номер предыдущего счета в серии повторяющихся платежей. Указывается магазином при создании следующего платежа в рекуррентной серии. Обязателен, если выставляется повторный счет с флагом recurring. Значение должно быть идентификатором первоначального счета (InvoiceID), по которому пользователь впервые совершил оплату. Особенности: - Параметры PreviousInvoiceID и InvoiceID должны быть указаны обязательно; - InvoiceID должен быть сгенерирован магазином, не должен быть пустым или равным 0; - Не включается в формирование контрольной суммы SignatureValue; - Нельзя одновременно передавать IncCurrLabel, ExpirationDate и Recurring в одном запросе. */ previousInvoiceId?: number; description: string; /** Требуемая к получению сумма (буквально — стоимость заказа, сделанного клиентом). Формат представления строки — число, разделитель — точка, например: 123.45. В случае передачи типа number, будет выполнено преобразование к строке с разделителем. Сумма должна быть указана в рублях. Но, если стоимость товаров у Вас на сайте указана, например, в долларах, то при выставлении счёта к оплате Вам необходимо указывать уже пересчитанную сумму из долларов в рубли. См. необязательный параметр OutSumCurrency. */ outSum: string | number; /** Способ указать валюту, в которой магазин выставляет стоимость заказа. Этот параметр нужен для того, чтобы избавить магазин от самостоятельного пересчета по курсу. Является дополнительным к обязательному параметру OutSum. Если этот параметр присутствует, то переданное значение будет автоматически сконвертировано в Российские рубли. */ outSumCurrency?: 'USD' | 'EUR' | 'KZT'; /** Предлагаемый способ оплаты. Тот вариант оплаты, который Вы рекомендуете использовать своим покупателям (если не задано, то по умолчанию открывается оплата Банковской картой). Если параметр указан, то покупатель при переходе на сайт Robokassa попадёт на страницу оплаты с выбранным способом оплаты. Но, если стоимость товаров у Вас на сайте указана, например, в долларах, то при выставлении счёта к оплате Вам необходимо указывать уже пересчитанную сумму из долларов в рубли. См. необязательный параметр OutSumCurrency. */ incCurrLabel?: string; /** * Invoice ID. Номер счета в магазине. Мы настоятельно рекомендуем его использовать. Значение этого параметра должно быть уникальным для каждой оплаты. Может принимать значения от 1 до 2147483647 (2 - 1). Если значение параметра пустое, или равно 0, или параметр вовсе не указан, то при создании операции оплаты ему автоматически будет присвоено уникальное значение. Внимание! Используйте данную возможность только в очень простых магазинах, где не требуется какого-либо контроля оплаты. Если параметр передан, то он должен быть включён в расчёт контрольной суммы (SignatureValue). */ invId?: number; /** Язык общения с клиентом (в соответствии с ISO 3166-1). Определяет на каком языке будет страница Robokassa, на которую попадёт покупатель. Если параметр не передан, то используются региональные настройки браузера покупателя. Для значений отличных от ru или en используется английский язык. */ culture?: 'ru' | 'en'; /** Кодировка, в которой отображается страница Robokassa. По умолчанию: Windows-1251. Этот же параметр влияет на корректность отображения описания покупки (Description) в интерфейсе Robokassa, и на правильность передачи Дополнительных пользовательских параметров, если в их значениях присутствует язык отличный от английского. */ encoding?: string; /** Email покупателя автоматически подставляется в платёжную форму Robokassa. Пользователь может изменить его в процессе оплаты. */ email?: string; /** Срок действия счета. Этот параметр необходим, чтобы запретить пользователю оплату позже указанной магазином даты при выставлении счета. Дата и время передаются в формате по стандарту ISO 8601: YYYY-MM-DDThh:mm:ss.fffffff;ZZZZZ Например: 2010-02-11T16:07:11.6973153+03:00 */ expirationDate?: string; /** Передача этого параметра (Ip конечного пользователя) желательна для усиления безопасности, предотвращению фрода и противодействию мошенникам. Этот параметр пользователь передает при оплате. При расчете контрольной суммы UserIp ставится перед Пароль#1 (кроме использования параметра Receipt ). Внимание! Если этот параметр передан, то он должен быть встроен в расчет контрольной суммы SignatureValue. Например: MerchantLogin:OutSum:InvId:UserIp:Пароль#1 */ userIp?: string; /** Дополнительные пользовательские параметры. Формироваться они должны следующим образом: всегда начинаться с: Shp_ или SHP_ или shp_. Как может выглядеть: Shp_1=1 Shp_1=2, SHP_oplata=1, SHP_oplata=2, shp_login=Vasya, shp_name=Вася, Shp_url=https://robokassa.com/ Они также относятся к необязательным параметрам, но несут совершенно другую смысловую нагрузку. Это такие параметры, которые Robokassa никак не обрабатывает, но всегда возвращает магазину в ответных вызовах. Их следует указывать при старте операции оплаты если: - вы собираетесь создавать магазин, в котором предусмотрено большое количество товаров, разделов и типов товара; - ваш сайт будет предоставлять разнообразные услуги, не похожие друг на друга; - на одном сайте работают несколько ресурсов; - и самое распространённое — вам нужно использовать дополнительную идентификацию ваших клиентов, например, знать его ID или Логин. При завершении операции оплаты, мы будем возвращать вам эти дополнительные параметры. */ userParameters?: { [key: RobokassaUserParameterKey]: string | number; }; /** Фискализация https://docs.robokassa.ru/fiscalization/ Для клиентов Robokassa выбравших для себя Облачное решение, Кассовое решение или решение Робочеки, в протокол добавляется дополнительный параметр. В соответствии с требованием Закона РФ, все без исключения операции с использованием электронных средств платежа должны проходить через специализированную контрольно-кассовую технику, и данные о них должны передаваться через операторов фискальных данных в налоговую инспекцию в режиме реального времени. */ receipt?: IRobokassaReceipt; } //# sourceMappingURL=IRobokassaOrder.d.ts.map