Интеграции эквайринга ВТБ (через модуль inpas dual connector) с
программой учета клиентов разработчика «простой софт» (на базе mssql)
На вход принимаем параметры:
sTypeOperations – тип операции (Payment, CancelPayment, ReturnWOCard,
Settlements, Balanse, CardsReport, CardsSumReport). Для параметра убираем два
первых символа в строке
dAmount – сумма
sCurrentUser – имя пользователя
sConString – строка соединения с БД
iID – ID записи
Проверяем связь с терминалом и если ее нет, выводим “Нет связи с терминалом”
В зависимости от типа операции (sTypeOperations) выполняем логику:
Payment. Берем сумму dAmount и вызываем команду оплат на терминале
указанной суммы. После успешной оплаты сообщаем, что оплата прошла успешна
и пишем в лог чек. Если произошла ошибка, то сообщаем обошибке
CancelPayment. Берем сумму dAmount и вызываем команду отмены покупки. Если
параметра Amount нет или он равен 0, то сумма будет взята из данных об
операции по ссылке и будет запрошено подтверждение корректности. Если
операция успешна, то подтверждаем транзакцию и после успешной отмены
выводим сообщение, что отмена оплаты успешно произведена и пишем в лог чек.
Если отмена транзакции не произведена или какая-то ошибка, то выводим
сообщение, что отмена транзакции по карте не выполнена.
ReturnWOCard. Предлагаем ввести номер ссылки отменяемого чека (12 символов).
Проверяем, что введены верные параметры RRN (только цифры и длина 12
символов), если все успешно, то берем сумму dAmount и вызываем команду
возврата средстве по ссылке. Если параметра Amount нет или он равен 0, то сумма
будет взята из данных об операции по ссылке и будет запрошено подтверждение
корректности. Если операция проведена успешна, то подтверждаем транзакцию,
выводим сообщение об успешном возврате и пишем в логи чек. Если отмена
транзакции не произведена или какая-то ошибка, то выводим сообщение, что
отмена транзакции по карте не выполнена.
CardsReport. Вызываем команду отчета по картам (x-отчет). После успешной
операции выводим сообщение, что x-отчет снят и пишем в лог чек
Balanse. Вызываем команду запроса баланса по карте. Если все успешно, то пишем
Settlements. Вызываем команду закрытия смены (сверки итогов). Послу успешной
операции выводим сообщение, что итоги успешно сверены и пишем в лог чек