Clarion и терминал карт СБЕРА
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Привет всем !
Кто-нибудь пробовал прикрутить из Clarion терминал платежных карт Сбербанка ?
Задача вообще решаема ? Может быть есть какая-нибудь дополнительная информация ?
Заранее спасибо за наводки ...
Кто-нибудь пробовал прикрутить из Clarion терминал платежных карт Сбербанка ?
Задача вообще решаема ? Может быть есть какая-нибудь дополнительная информация ?
Заранее спасибо за наводки ...
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Clarion и терминал карт СБЕРА
Да прикручивали. Как то через одно место жопу
При работе с pilot_nt.dll приложение падало если компилировать не в дебаг режиме. По этой причине работу сделали через отдельный EXE которому команды передаются в ком. строке. Результат (чек) вроде в текст кидается. Не я сам делал, Андрей занимался.
Короче будет интересно - ковыряйтесь: P.S. Проблема с дебаг режимом скорее всего отсюда http://forum.clarionlife.net/phpbb/view ... 2&start=15, но т.к. все работает решили забить и не разбираться.
При работе с pilot_nt.dll приложение падало если компилировать не в дебаг режиме. По этой причине работу сделали через отдельный EXE которому команды передаются в ком. строке. Результат (чек) вроде в текст кидается. Не я сам делал, Андрей занимался.
Короче будет интересно - ковыряйтесь: P.S. Проблема с дебаг режимом скорее всего отсюда http://forum.clarionlife.net/phpbb/view ... 2&start=15, но т.к. все работает решили забить и не разбираться.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Спасибо ! Есть с чего начать ... Если удастся что-то сделать в этом направлении - выложу.
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Clarion и терминал карт СБЕРА
Короче, предположительно, если правильно описать функции из DLL то все можно в одной приладе, без костылей сделать.
Мы там всего две функции использовали, оплатить/вернуть сумму и закрыть день. Все.
Сразу тут смотри: sbrf_cltr.app
Мы там всего две функции использовали, оплатить/вернуть сумму и закрыть день. Все.
Сразу тут смотри: sbrf_cltr.app
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Как обещал - разобрался и докладываю о результате.
Проверил и прошел все варианты работы с эквайрингом ПАО Сбербанк.
Драйвер эквайринга Сбера заточен под 1С и OLE, что вполне объяснимо.
Вот и нам не надо против ветра, да еще и в незнакомом месте.
Берем технологии одинэсников и просто переписываем на Clarion.
Получается просто и стабильно, работает всегда и везде, с любыми
пинпадами, не требует никаких дополнительных шаблонов, настроек,
библиотек, добавления к программе чужих DLL, запуска внешних EXE.
Если у кого-то возникнет непреодолимое желание заняться
эквайрингом Сбера - стартовый комплект прилагаю (С63).
Еще раз спасибо всем откликнувшимся за помощь.
Проверил и прошел все варианты работы с эквайрингом ПАО Сбербанк.
Драйвер эквайринга Сбера заточен под 1С и OLE, что вполне объяснимо.
Вот и нам не надо против ветра, да еще и в незнакомом месте.
Берем технологии одинэсников и просто переписываем на Clarion.
Получается просто и стабильно, работает всегда и везде, с любыми
пинпадами, не требует никаких дополнительных шаблонов, настроек,
библиотек, добавления к программе чужих DLL, запуска внешних EXE.
Если у кого-то возникнет непреодолимое желание заняться
эквайрингом Сбера - стартовый комплект прилагаю (С63).
Еще раз спасибо всем откликнувшимся за помощь.
- Вложения
-
- Plan_B.rar
- (8.13 КБ) 316 скачиваний
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
Как дополнение к примеру Игоря - небольшое описание для работы через ole-интерфейс. Примеры на бэйсике, но все понятно. Описание параметров и номеров функций.
- Вложения
-
- ole_sbrf.zip
- (17.86 КБ) 321 скачивание
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
Игорь, а как отлаживаете работу со сберовским эквайрингом? Они дают какой-нибудь тестовый вариант или прямо по живому? Как я понял по сообщениям в сети, их ПО достаточно капризное и глючное. А установкой и обслуживанием Сбер сам занимается...
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Абсолютно верно - установкой и обслуживанием ПО эквайринга занимаются специалисты Сбера.
Тут как повезёт и зависит от региона, причём чем дальше от Москвы - тем лучше.
Софт у Сбера прекрасный, отработанный годами и стабильный - в отличии от остальных пром-сельхоз-евро-хлеб-союз и т.д. банков.
В принципе, комплект драйвера для отладки Вы можете взять с любого компьютера, где установлен эквайринг.
Он никак не защищён и не привязан к компьютеру (вся защита и привязка к счёту на аппаратном уровне в пинпаде).
Просто скопируйте папку с драйвером к себе на компьютер. Для работы драйвера наличие пинпада - не требуется.
Вся установка драйвера сводится к регистрации OLE компонент из папки драйвера.
Есстесно требуются права администратора. Например:
Вообщем-то и всё. После этого сразу всё работает. Никаких "тестовых" режимов нет, поэтому для отладки
приходится просто имитировать положительный ответ пин-пада о выполнении проводки ...
Тут как повезёт и зависит от региона, причём чем дальше от Москвы - тем лучше.
Софт у Сбера прекрасный, отработанный годами и стабильный - в отличии от остальных пром-сельхоз-евро-хлеб-союз и т.д. банков.
В принципе, комплект драйвера для отладки Вы можете взять с любого компьютера, где установлен эквайринг.
Он никак не защищён и не привязан к компьютеру (вся защита и привязка к счёту на аппаратном уровне в пинпаде).
Просто скопируйте папку с драйвером к себе на компьютер. Для работы драйвера наличие пинпада - не требуется.
Вся установка драйвера сводится к регистрации OLE компонент из папки драйвера.
Есстесно требуются права администратора. Например:
Код: Выделить всё
regsvr32.exe C:\_SBRF\Plan_B\sbrfcom.dll
regsvr32.exe C:\_SBRF\Plan_B\sbrf.dll
regsvr32.exe C:\_SBRF\Plan_B\card.dll
приходится просто имитировать положительный ответ пин-пада о выполнении проводки ...
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
Ну, имитировать - я имитирую и без установки драйвера. А вот сегодня попробовал запустить прогу на боевом рабочем месте. Сберовский драйвер выдал, что не найдена одна из его библиотек, после чего pinpad перестал определяться совсем. В том числе и из программы, которая до этого с ним работала. Погуглил, пишут, что надо библиотеки драйвера копировать в каталог своей программы или в корень диска С. А почему перестал работать, фик знает. Я только ole инициализировал, как в доке прописано. Позвонили в Сбер, должны разобраться, раз система на обслуживании. Осадочек, конечно, остался...
Мне тут системщик еще рассказывал, что были случаи, что после прихода специалиста из Сбера вся pos система переставала работать. А случаи, когда не приходит ответный слип на платеж, довольно частое явление. Причем покупателю прилетает sms, что платеж прошел, а слипа нет и чек не печатается. Особенно критичная ситуация при продаже алкоголя. Продавцы на кассах сразу отбирают бутылки у покупателей, чтобы, не дай бог, те, получив положительный sms об оплате, с ними не убежали. В общем, развлекаются...
Мне тут системщик еще рассказывал, что были случаи, что после прихода специалиста из Сбера вся pos система переставала работать. А случаи, когда не приходит ответный слип на платеж, довольно частое явление. Причем покупателю прилетает sms, что платеж прошел, а слипа нет и чек не печатается. Особенно критичная ситуация при продаже алкоголя. Продавцы на кассах сразу отбирают бутылки у покупателей, чтобы, не дай бог, те, получив положительный sms об оплате, с ними не убежали. В общем, развлекаются...
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Типичная и известная ошибка. Надо выполнять регистрацию компонент с указанием полного пути, а не просто имени файла (как указано в bat файле в папке драйвера сбера) - см. мой пример в предыдущем сообщении. Тогда инициализация эквайринга будет работать в любом месте.finsoftrz писал(а): ↑12 Июль 2018, 17:24Погуглил, пишут, что надо библиотеки драйвера копировать в каталог своей программы или в корень диска С.
Ничего не могу сказать. Несколько лет реальной работы с эвайрингом Сбера, десятки компьютеров … никогда такого не было.
Может быть надо разделять события "не пришёл слип-чек" и "не смогли получить слип-чек" ?
У нас вообще схема простая. Нет слип-чека - нет фискального кассового чека. Нет фискального кассового чека - нет продажи.
А со своими смс идите разбирайтесь в банк ....
Дополнение. К тому же я прошу пардона, но успех операции эквайринга определяется ответом функции NFun(), а не наличием слип-чека.
Слип-чек можно запрашивать хоть 10 раз в случае успешного выполнения операции эквайринга: GParamString("Cheque") ...
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
В принципе, так оно и есть. Функцией 4000 шлем платеж, в случае успеха функцией 6003 начинаем транзакцию, печатаем слип (который должен прийти в качестве выходного параметра функции 4000) и фискальный чек. Если распечатали нормально, подтверждаем транзакцию функцией 6001, если произошел какой сбой, то отменяем транзакцию функцией 6004. Как я понял, после отправки платежа функцией 4000, программа ждет сообщения об успешности транзакции. И тут возникает проблемная ситуация. Сообщение нам не приходит, а покупатель получает sms. И убегает в охапку с бутылкой... А если подтверждения от Сбера так и не дождались, то мы не можем печатать фискальный чек и должны откатить продажу по Егаис...Игорь Столяров писал(а): ↑12 Июль 2018, 18:25Типичная и известная ошибка. Надо выполнять регистрацию компонент с указанием полного пути, а не просто имени файла (как указано в bat файле в папке драйвера сбера) - см. мой пример в предыдущем сообщении. Тогда инициализация эквайринга будет работать в любом месте.finsoftrz писал(а): ↑12 Июль 2018, 17:24Погуглил, пишут, что надо библиотеки драйвера копировать в каталог своей программы или в корень диска С.
Ничего не могу сказать. Несколько лет реальной работы с эвайрингом Сбера, десятки компьютеров … никогда такого не было.
Может быть надо разделять события "не пришёл слип-чек" и "не смогли получить слип-чек" ?
У нас вообще схема простая. Нет слип-чека - нет фискального кассового чека. Нет фискального кассового чека - нет продажи.
А со своими смс идите разбирайтесь в банк ....
Я думаю, что тут многое зависит от того, кто пользуется эквайрингом. Одно дела, если это какая-нибудь контора, у которой по нескольку платежей в день. Другое дело, когда продуктовый супермаркет, у которого поток безнальных покупателей довольно плотный, особенно в пиковые часы работы. Статистика может быть несколько разной.
Ммм. Тут не понял. Слип возвращается в виде выходного параметра при выполнении NFun(4000). То есть, при ее успешном выполнении он всегда есть и считывается GParamString("Cheque").Игорь Столяров писал(а): ↑12 Июль 2018, 18:25 Дополнение. К тому же я прошу пардона, но успех операции эквайринга определяется ответом функции NFun(), а не наличием слип-чека.
Слип-чек можно запрашивать хоть 10 раз в случае успешного выполнения операции эквайринга: GParamString("Cheque") ...
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
Кстати, глянул в bat файле, там полные пути прописаны. Хотя тот, кто ставил, мог и как-то иначе сделать...Игорь Столяров писал(а): ↑12 Июль 2018, 18:25Типичная и известная ошибка. Надо выполнять регистрацию компонент с указанием полного пути, а не просто имени файла (как указано в bat файле в папке драйвера сбера) - см. мой пример в предыдущем сообщении. Тогда инициализация эквайринга будет работать в любом месте.finsoftrz писал(а): ↑12 Июль 2018, 17:24Погуглил, пишут, что надо библиотеки драйвера копировать в каталог своей программы или в корень диска С.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Clarion и терминал карт СБЕРА
Понятно, что везде есть своя специфика и что алкашка - сложный бизнес, т.к. там каждый покупатель - крупный специалист в информационных и банковских технологиях (а встречаются и выдающиеся специалисты) ... но ! СМС - это информационное сообщение, не имеющее статус документа, оно никого и ни к чему не обязывает (включая банк). Я могу на своём смарфоне показать нечто очень похожее на смс от Путина и без экспертизы определить лоходром никто не сможет.
Как-то у Вас всё не просто ... может потому оно и брыкается. Дайджестом:
Код: Выделить всё
Loc:Error = Loc:Sber{'Clear'}
If Loc:Error <> 0
Message(' Не удалось получить доступ к драйверу эквайринга ПАО Сбербанк !')
else
! Сумма оплаты
If Loc:Sber{'SParam("Amount",' & Clip(Left(Int(Summa * 100))) & ')'}. ! Сумма для операции с платёжной картой
Loc:Error = Loc:Sber{'NFun(' & Choose(FlagBack = True,'4002','4000') & ')'} ! Возврат или оплата
If Loc:Error = 0 !Or Debug#
Loc:PrintCheck = True ! Можно печатать кассовый чек
! Слип-чека эквайринга на драйвер ФР
If Print_Slip(Clip(Loc:Sber{'GParamString("Cheque")'})) = False
Message(Clip(Loc:ErText),'Ошибка !',Icon:Exclamation,'Закрыть')
end
elsIf Int(Loc:Error) <> 4334 ! Если не отмена операции - показать ошибку
ErrorSBRF(Loc:Error)
end
Loc:Error = Loc:Sber{'Clear'}
If Loc:PrintCheck
! Печать кассового чека и т.д.
end
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
То есть Вы не используете транзакции? А если в процессе печати слипа или фискального чека возникли проблемы? Делаете вручную отмену платежа?
PS. Я пока только анализирую тему pos-системы, хотя остальное, кроме платежного терминала и егаис, работает. С Егаис особых вопросов нет, все другие операции, кроме продажи, давно делаются в бэке.
PS. Я пока только анализирую тему pos-системы, хотя остальное, кроме платежного терминала и егаис, работает. С Егаис особых вопросов нет, все другие операции, кроме продажи, давно делаются в бэке.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4646
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
Clarion и терминал карт СБЕРА
А еще алкаши бегают, как лани. Бедные продавцы догнать их не успевают. Поэтому сразу отбирают у них бутылки, до того, как те сунут свои карты в сберовский терминал. И отдают, когда чеки вылезут на печать. Потому как в рукопашном бою за бутылку алкаши не имеют решающего превосходства над продавцами...
C6/C11, ШВС, tps/btrieve.