Передача количества бонусных баллов в запросе на регистрацию заказа

Основной процесс:

Шаг Описание
1 Клиент формирует корзину заказа на сайте магазина.
2 После подтверждения заказа клиентом, магазин регистрирует заказ в РБС. Для регистрации используются такие параметры как сумма списания, валюта списания, номер заказа в системе магазина, URL возврата клиента, а также параметр с именем sbrf_spasibo:amount_bonus/sbrf_sbermiles:amount_bonus, значение которого содержит сумму баллов к списанию (передаётся в дополнительных параметрах заказа).
3 На запрос регистрации платёжный шлюз возвращает уникальный идентификатор заказа в платёжной системе и URL, на который необходимо перенаправить пользователя для получения платёжной формы.
4 Система магазина передаёт браузеру клиента redirect на URL, полученный на шаге 3.
5 Браузер клиента открывает URL.
6 В качестве страницы по указанному URL браузер клиента получает платёжную форму.
7 Пользователь заполняет полученную форму и отправляет данные на сервер платёжного шлюза.
8 Платёжный шлюз отправляет сервису бонусов запрос на списание бонусных баллов.
9 Сервис бонусов проводит списание бонусных баллов в количестве, равном значению параметра sbrf_spasibo:amount_bonus/sbrf_sbermiles:amount_bonus. Если бонусы списать не удалось, заказ переводится в статус DECLINE.
10 Сервис бонусов возвращает на платёжный шлюз результаты списания бонусных баллов.
11 Платёжный шлюз производит оплату (списание) по банковской карте. При оплате с карты будут списаны деньги в количестве, равном значению параметра amount. Минимальная сумма оплаты по банковской карте составляет 100 рублей. Если списать средства с карты не удалось, автоматически осуществляется отмена операции списания бонусов.
12 После проведения оплаты, платёжный шлюз передаёт браузеру клиента URL возврата (указанный ранее при регистрации заказа магазином).
13 Браузер клиента запрашивает страницу с результатами оплаты у магазина.
14 (необязательно) Система магазина запрашивает платёжный шлюз о статусе оплаты заказа (по внутреннему номеру в платёжной системе).
15 (необязательно) платёжный шлюз возвращает статус оплаты.
16 Система магазина передаёт в браузер клиента страницу с результатами оплаты.

Если по истечении отведённых на оплату 20 минут клиент не вернулся с платёжного шлюза на страницу результатов оплаты магазина (на URL возврата клиента), то оплата считается неудачной.

Если покупка оплачена картой, участвующей в программе «Сбербанк-Спасибо»/«Сбермили», платёжный шлюз передаёт сумму покупки в систему «Сбербанк-Спасибо»/«Сбермили», для последующего начисления бонусов.