Платежи

Платежи


Авторизованный пользователь


1. После ввода номера счета идет POST запрос на создание подписки 

/mail-app/api/v2/subscriptions c параметрами {operatorId: "operator", data: "номер_счета"}

в ответ сервер возвращает объект subscriptionData

2. После отправляется GET запрос на /mail-app/api/v2/subscriptions/"id"/invoices

где "id" id subscriptionData из предыдущего запроса в ответ сервер возвращает invoiceData

3. После пользователю выводится сумма задолженности и пользователь нажимает конпку "оплатить"

4. После отправляется POST запрос на получения токена /mail-app/api/intervale/token с параметрами {phone: '77071234567'} 

в ответ сервер возвращает токен

5. После отправляется POST запрос на /mail-app/api/v2/payments/create"
с параметрами invoiceData + { token, invoiceId: invoiceData.id } + масив details(из invoiceData.details) c дополнительными полями  {amount:сумма, commission: если_есть_коммисиия} в ответ возвращается объект paymentData
6. Открывается модальное окно 
7. Отправляется POST запрос на получение карт пользователя 
/mail-app/api/intervale/card" c параметрами {phone: '77071234567'} в ответ возвращается список карт
8. Пользователь выбирает карту 
9. Открывается страница ввода CSC кода 
10. После отправляется POST запрос на /mail-app/api/intervale/payment/start/"token" с параметрами 
{
  phone: '77071234567',
  paymentId: paymentId, // paymentData.id из 5 пункта
  cardId: cardId, // индекс выбранной карты из массива пункт 7
  csc: csc, // введенный csc
  returnUrl: returnUrl, // промежуточная страница
  transId: null, // всегда null 
  terminalType: terminalType // тип терминала(hmail, pkb)
}
11. После отправляется POST запрос на /mail-app/api/intervale/payment/status/"token" где токен из пункта 4
возможные ответы сервера
  11.1 inProgress в этом случае после 2 сек запрос(11 пункт) повторяется
  11.2 offer отображается информация по платежу с 2 кнопками
    11.2.1 первая отправляет POST запрос на /mail-app/api/intervale/payment/accept/"token" после чего снова отправляет запрос(11 пункт)
    11.2.2 вторая отправляет POST запрос на /mail-app/api/intervale/payment/decline/"token" после чего ведет на инфо страницу отмены платежа
  11.3 result если в ответе (11 пункт) вернулось поле status со значением  success то отправляет на страницу об успешной оплате
  11.4 redirect переотправляет пользователя на страницу ввода 3d secure пароля
  11.5 fail перенаправляет пользователя на страницу с информацией по ошибке 

Не авторизованный пользователь

Вместо 1 и 2 пункта идет один запрос на /mail-app/api/public/v2/invoices/create c параметрами {operatorId: "operator", data: "номер_счета"}

В 10 пункте изменяется запрос на /mail-app/api/intervale/payment/start/card_page/"token" затем отображается страница ввода информации по карте

все запросы начиная с пункта 10 меняются на /mail-app/api/public/intervale...

информация по номеру телефона не предается 

все остальное остается без изменений



Report Page