Полная интеграция ПС Контакт и RS-Retail

Работа с процессинговым центром Компас в OnLine-режиме

 

            Данный модуль был разработан для возможности OnLine-общения RS-Retail и ПЦ Компас. Общение с процессингом Компас происходит по поддерживаемому им протоколу FIMI, описание протокола взято из документации к ПО Компас. Данный протокол обладает ограничениями, т.е. при его использовании нельзя выполнять ряд важных действий, таких как ввод новых клиентов в базу ПЦ. Полный перечень реализованных функций приведен ниже.

В модуль входят:

1. RSSUtils.d32 – модуль, в который включена функция установки tcp-соединения с удаленным компьютером по заданному порту,  передача данных и получение ответа. Выполнение всех действий происходит в соответствии с описанием параметров к этой функции

2. RSSClientSocket.dllcom-объект. Создание экземпляра данного объекта позволяет устанавливать 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)