Работа с процессинговым
центром Компас в OnLine-режиме
Данный модуль был разработан для возможности OnLine-общения RS-Retail и ПЦ Компас. Общение с процессингом Компас происходит по поддерживаемому им протоколу FIMI, описание протокола взято из документации к ПО Компас. Данный протокол обладает ограничениями, т.е. при его использовании нельзя выполнять ряд важных действий, таких как ввод новых клиентов в базу ПЦ. Полный перечень реализованных функций приведен ниже.
В модуль входят:
1. RSSUtils.d32 – модуль, в который включена функция установки tcp-соединения с удаленным компьютером по заданному порту, передача данных и получение ответа. Выполнение всех действий происходит в соответствии с описанием параметров к этой функции
2. RSSClientSocket.dll – com-объект. Создание экземпляра данного объекта позволяет устанавливать tcp-соединение с удаленным компьютером, выполнять отправку сообщений, получать ответы, разрывать при необходимости соединение. Прелесть данного com-объекта заключается в возможности неоднократного получения и отправки сообщений в период одного соединения, при использовании dlm-модуля имеется возможность отправки и получения только одного сообщения в один сеанс связи.
3. Макрос CS_FIMI_UAMP_LIB.mac – данный макрос содержит переработанные функции протокола FIMI, выполняемые при помощи dlm-модуля RSSUtils.d32 или com-объекта RSSClientSocket.dll.
Перечень функций протокола FIMI, включенных в макрос:
1. CS_Date_To_Date - Преобразует дату из формата TranzWare в формат RSL
2. Dlm_SendText – отправка сообщения по средствам dlm-модуля
3. sendtext – отправка сообщения по средствам com-объекта
4. CS_Get_Error_Code - Выделение кода ошибки из строки
5. CS_Get_SubStr - возвращает значение подстроки
6. CS_Get_CodeOper_Acc - Расшифровки кодов операций
7. CS_Get_Error_Info - Вывод сообщения об ошибке
8. razbor_rez_GAI - Разбор строки результата запроса информации по счету и помещение его в массив строк
9. razbor_rez_GAS - Разбор строки результата запроса истории счета и помещение его в массив строк
10. CS_Head - Возвращает общий заголовок для всех сообщений
11. GetAcctInfo_Rest - Запрос остатка по счету
12. GetAcctInfo - Запрос информации по счету
13. GetAcctStatement - Запрос истории по счету
14. AcctDebit - Расход наличных
15. AcctCredit - Взнос наличных
16. SetCardStatus - Установка статуса карты
17. ResetCard2AcctLink - Пересоздание связи карты со счетом
18. UpdateCard2AcctLink - Создание связи карты со счетом
19. ChangeAcctBalances - Изменение баланса счета
20. CS_CreateAccount - Создание счета
21. SetAcctStatus - Установка статуса счета
Примеры вызовов описанных функций:
запрос
информации по счету
GetAcctInfo("ICB",ALG_DEPOSITOR.Account,resarrr,false);
запрос
истории по счету
GetAcctStatement("ICB",ALG_DEPOSITOR.Account,100,0,0,resarr,dateot,datedo,false); Взнос наличными
AcctCredit("ICB","40817810801010000252",444,"77777777777777777777","",444,810,1,1,"","","приход ЗП",false);
Расход
наличных
AcctDebit ("ICB","40817810801010000252",444,"77777777777777777777","",444,810,1,0,1,"","","расход",false);
Установка статуса
if(SetCardStatus("4245380000100001",0,3,resstr,false)=="ok")
MsgBox("ok "+resstr);
else
MsgBox("error "+resstr);
end;
Создание
связки карты со счетом
if(UpdateCard2AcctLink("4245380000100001",0,"40817810301010000037",5,ResStr,false)=="ok")
MsgBox("ok "+resstr);
else
MsgBox("error "+resstr);
end;
Пересоздание
связи карты со счетом
ResetCard2AcctLink(PAN,MBR,Account,CardPersonID,ResStr,Visible)
Установка
статуса карты
Возможные статусы:
0 - Not active - Не активна
1 - Open - Открыта,
доступна к работе
2 - Lost - Потеряна
3 - Stolen - Украдена
4 - Restricted - Ограничена -
разрешены только отдельные транзакции по карточке
5 - VIP - Принадлежит
VIP-клиенту
6 - Open Domestic - Открыта для использования внутри страны
8 - Compromised - Скомпрометирована
(подделана, заподозрена в мошенничестве и т.п.)
9 - Closed - Закрыта,
использование запрещено
10 - Referral - Необходим дополнительный запрос к
издателю
12 - Declared - Не издана
15 - Expired - Истек срок действия
SetCardStatus(PAN,MBR,Stat,ResStr,Visible)