Skip to content

Commit 1d07342

Browse files
Merge pull request #5 from martcarrefour/feature/recurrent-payment-types
Добавлены типы для рекурентного платежа
2 parents 8542975 + 7628efa commit 1d07342

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const robokassa = new Robokassa({
3737
const url = robokassa.generatePaymentUrl({
3838
outSum: '10.00', // или outSum: 10 (type number)
3939
description: 'Тестовый продукт',
40+
4041
// Пользовательские параметры должны начинаться с "shp_" или "Shp_" или "SHP_".
4142
// Они будут переданы на ваш сервер вызовом Робокассы после оплаты в том же виде.
4243
userParameters: {
@@ -57,6 +58,13 @@ const url = robokassa.generatePaymentUrl({
5758
},
5859
],
5960
},
61+
62+
// Первый платёж по подписке. После него возможны автосписания без участия пользователя.
63+
// recurring: true,
64+
65+
// Используется при автосписании — указывается номер первого оплаченного счёта с recurring: true.
66+
// Применяется только при запросе на https://auth.robokassa.ru/Merchant/Recurring
67+
// previousInvoiceId: 154,
6068
});
6169
```
6270

src/types/IRobokassaOrder.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,40 @@ export interface IRobokassaOrder {
114114
В соответствии с требованием Закона РФ, все без исключения операции с использованием электронных средств платежа должны проходить через специализированную контрольно-кассовую технику, и данные о них должны передаваться через операторов фискальных данных в налоговую инспекцию в режиме реального времени.
115115
*/
116116
receipt?: IRobokassaReceipt;
117+
118+
/**
119+
Рекуррентный (повторяющийся) платеж
120+
https://docs.robokassa.ru/recurring/
121+
122+
Указывает, что данный счёт является первым в серии повторяющихся платежей — например, при оформлении подписки или автоплатежа.
123+
124+
Передаётся при первоначальной оплате, чтобы Robokassa сохранила данные карты пользователя и позволила выполнять списания в будущем без его участия.
125+
126+
Пример:
127+
recurring: true — если запускается автоматическое продление услуги или подписка.
128+
129+
Важно:
130+
- Доступно только по предварительному согласованию с Robokassa;
131+
- Не допускается использовать одновременно с параметрами `IncCurrLabel`, `ExpirationDate` и `PreviousInvoiceID`;
132+
- Для последующих списаний необходимо указывать параметр `previousInvoiceId`.
133+
*/
134+
recurring?: boolean;
135+
136+
/**
137+
Номер предыдущего (материнского) счёта в серии повторяющихся платежей
138+
https://docs.robokassa.ru/recurring/
139+
140+
Используется при совершении повторного платежа (без участия пользователя) и передаётся в запросе на специальный адрес:
141+
https://auth.robokassa.ru/Merchant/Recurring
142+
143+
Обязателен для дочернего (рекуррентного) платежа. Указывает на идентификатор счета, по которому ранее была произведена оплата с параметром `recurring`.
144+
145+
Особенности:
146+
- Параметры `PreviousInvoiceID` и `InvoiceID` должны быть указаны;
147+
- Значение `InvoiceID` должно быть уникальным, не нулевым и сгенерировано магазином;
148+
- `PreviousInvoiceID` **не включается** в расчет контрольной суммы `SignatureValue`;
149+
- Нельзя использовать одновременно с параметрами `Recurring`, `IncCurrLabel`, `ExpirationDate`.
150+
151+
*/
152+
previousInvoiceId?: number;
117153
}

0 commit comments

Comments
 (0)