diff --git a/README.md b/README.md index 3718fd6..c9e0a99 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ const robokassa = new Robokassa({ const url = robokassa.generatePaymentUrl({ outSum: '10.00', // или outSum: 10 (type number) description: 'Тестовый продукт', + // Пользовательские параметры должны начинаться с "shp_" или "Shp_" или "SHP_". // Они будут переданы на ваш сервер вызовом Робокассы после оплаты в том же виде. userParameters: { @@ -57,6 +58,13 @@ const url = robokassa.generatePaymentUrl({ }, ], }, + + // Первый платёж по подписке. После него возможны автосписания без участия пользователя. + // recurring: true, + + // Используется при автосписании — указывается номер первого оплаченного счёта с recurring: true. + // Применяется только при запросе на https://auth.robokassa.ru/Merchant/Recurring + // previousInvoiceId: 154, }); ``` diff --git a/src/types/IRobokassaOrder.ts b/src/types/IRobokassaOrder.ts index c12e580..f7473d9 100644 --- a/src/types/IRobokassaOrder.ts +++ b/src/types/IRobokassaOrder.ts @@ -114,4 +114,40 @@ export interface IRobokassaOrder { В соответствии с требованием Закона РФ, все без исключения операции с использованием электронных средств платежа должны проходить через специализированную контрольно-кассовую технику, и данные о них должны передаваться через операторов фискальных данных в налоговую инспекцию в режиме реального времени. */ receipt?: IRobokassaReceipt; + + /** + Рекуррентный (повторяющийся) платеж + https://docs.robokassa.ru/recurring/ + + Указывает, что данный счёт является первым в серии повторяющихся платежей — например, при оформлении подписки или автоплатежа. + + Передаётся при первоначальной оплате, чтобы Robokassa сохранила данные карты пользователя и позволила выполнять списания в будущем без его участия. + + Пример: + recurring: true — если запускается автоматическое продление услуги или подписка. + + Важно: + - Доступно только по предварительному согласованию с Robokassa; + - Не допускается использовать одновременно с параметрами `IncCurrLabel`, `ExpirationDate` и `PreviousInvoiceID`; + - Для последующих списаний необходимо указывать параметр `previousInvoiceId`. + */ + recurring?: boolean; + + /** + Номер предыдущего (материнского) счёта в серии повторяющихся платежей + https://docs.robokassa.ru/recurring/ + + Используется при совершении повторного платежа (без участия пользователя) и передаётся в запросе на специальный адрес: + https://auth.robokassa.ru/Merchant/Recurring + + Обязателен для дочернего (рекуррентного) платежа. Указывает на идентификатор счета, по которому ранее была произведена оплата с параметром `recurring`. + + Особенности: + - Параметры `PreviousInvoiceID` и `InvoiceID` должны быть указаны; + - Значение `InvoiceID` должно быть уникальным, не нулевым и сгенерировано магазином; + - `PreviousInvoiceID` **не включается** в расчет контрольной суммы `SignatureValue`; + - Нельзя использовать одновременно с параметрами `Recurring`, `IncCurrLabel`, `ExpirationDate`. + + */ + previousInvoiceId?: number; }