|
Есть люди, кто интегрировал 1С со Сбербанк "Спасибо"? Вопрос по бесконтактному считыванию | ☑ | ||
---|---|---|---|---|
0
Cyberhawk
08.02.18
✎
13:14
|
Друзья, есть среди вас такие, кто на 1С успешно реализовал безконтактное считывание банковских карт (или мобильных устройств) через пин-пады Сбербанка (в основном имеются Verifone VX820) для интеграции с процессинговым центром лояльности "Спасибо" (списание этих бонусов с бонусного баланса, ну и возвраты с отменами начислений этих бонусов)?
Если кратко, то: 1. У Сбера есть "новая" версия библиотеки (СОМ-компоненты) sbrfcom.dll (27.0.х.х), которая при первом вызове старого доброго метода "ОплатитьПлатежнойКартой" никакую реальную оплату не осуществляет, а только возвращает хэш номера карты. 2. Далее (по их задумке) 1С, зная хэш, взаимодействуем с бонусной программой (через их локальное ПО или через веб-сервис), списывает бонусы, уменьшает в 1С сумму чека на сумму бонусов (скидка типа) и повторно вызывает метод "ОплатитьПлатежнойКартой" с уменьшенной суммой для оплаты, где уже и происходит реальная оплата (авторизация суммы на карте). 3. Очевидно, что "старая" обработка обслуживания для 1С с "новой" СОМ-компонентой несовместима, т.к. вызывает методы оплаты / отмены / возврата один раз и поэтому реальных операций с картой не происходит. Собственно, интересует, подружил ли кто 1С с "новой" библиотекой (переписал обработку обслуживания) или как-то еще по-другому реализовал безконактное считывание сберовских карт покупателей для списания "Спасибок"? Почему упоминаю безконтактное считывание? Да потому что с контактным считыванием все в порядке - это умеет делать и "старая" библиотека Сбера, но тогда, во-первых, всякие ApplePay (оплата с мобильных устройств) идут лесом, а во-вторых клиенту приходится дважды с пин-падом взаимодействовать (сначала вставлять карту чипом в пин-пад, а потом еще раз для оплаты). |
|||
6
Cyberhawk
09.02.18
✎
16:24
|
Ну что, у кого есть карточки Сбербанка со "спасибками"?
Вы когда в магазине расплачиваетесь этими спасибками, карточку всегда в пин-пад вставляете чипом? Где-нибудь в оффлайн-магазине удавалось вам расплатиться "спасибками" безконтактным способом? |
|||
7
Flover
09.02.18
✎
17:00
|
(6) расплачиваюсь в бургер кинге ими, прикладываю чипом к терминалу, спасибки автоматом как то потом списываются и показываются в чеке сколько спасибок списалось.
|
|||
8
Cyberhawk
09.02.18
✎
17:24
|
(7) "прикладываю чипом к терминалу" // Чипом карту в терминал только вставляют :) Безконтпктное считывание данных с чипа невозможно.
А ты карту прикладываешь к корпусу терминала (никуда ее не вставляя), правильно понял? Не обращал внимание, что у них там за кассовое ПО? |
|||
9
X Leshiy
09.02.18
✎
17:27
|
(8) Я пол часа назад расплачивался спасибками.
Карта бесконтактная. Вставлять не просили. |
|||
10
Cyberhawk
09.02.18
✎
17:29
|
(9) Какое ПО на кассе, не обратил внимание?
|
|||
11
X Leshiy
09.02.18
✎
17:30
|
(10) К сожалению, я в них не разбираюсь (
Точно помню что черно-белое) |
|||
12
Cyberhawk
09.02.18
✎
17:31
|
(11) А спасибками расплачиваешься полностью (не платя ни копейки "живыми" деньгами) или только часть стоимости чека?
|
|||
13
Cyberhawk
09.02.18
✎
17:31
|
(7) Вопрос аналогичный (12)
|
|||
14
Flover
09.02.18
✎
17:33
|
(8)
(А ты карту прикладываешь к корпусу терминала (никуда ее не вставляя), правильно понял?) да, верно (Не обращал внимание, что у них там за кассовое ПО?) неа выходит чек после успешной транцакции и на нем написано сколько спасибок оплачено и сколько рублей... из последнего чека помню, что 100 рублей и 400 спасибок было |
|||
15
X Leshiy
09.02.18
✎
17:34
|
(12) 1 рубь списали.
|
|||
16
X Leshiy
09.02.18
✎
17:36
|
(12) Спасибок хватало, но все равно 1 руб. списали.
|
|||
17
Cyberhawk
09.02.18
✎
17:37
|
(14) (15) Благодарю!
|
|||
18
NorthWind
09.02.18
✎
22:29
|
(17) В бургер-кинге списывают рубль и размазывают всю стоимость еды по этому рублю. Грубо говоря, бутерброд 6 копеек, кока-кола 4 копейки. По-моему, они это скидкой делают, хотя могу ошибаться, чека сейчас под руками нет. А потом, кажется, в отдельном отрывном купоне указывается сколько списано спасибо, и та же инфа приходит на телефон.
Как-то так. |
|||
19
NorthWind
09.02.18
✎
22:30
|
то есть фактически производится продажа за нал на минимально возможную сумму все равно есть.
|
|||
20
ejikbeznojek
09.02.18
✎
23:26
|
(0) Я всё делал через sbrf.dll
|
|||
21
Cyberhawk
10.02.18
✎
18:27
|
(20) Делал свою обработку обслуживания (если речь о какой-нибудь типовой с поддержкой торгового оборудования)?
|
|||
22
ejikbeznojek
11.02.18
✎
11:07
|
(21) Угу, делал свою. Не помню, чего мне не хватило в типовой через sbrfcom.dll.
Но это более-менее простая обработка была. Функция УзнатьХэш() экспорт попытка ВыхПараметры=новый СписокЗначений; ОбъектДрайвера = Новый COMОбъект("SBRFSRV.Server"); очистить=ОбъектДрайвера.clear(); ответ=ОбъектДрайвера.NFun (5002); если ответ = 0 тогда Хэш=ОбъектДрайвера.GParamString("hash"); ЭтоСбер=ОбъектДрайвера.GParamString("OWNCArd"); Пан=ОбъектДрайвера.GParamString("ClientCard"); Пан="************"+сред(пан,13); если ЭтоСбер<>"1" тогда ВыхПараметры.Добавить("ЭтожНеСбер"); ВыхПараметры.Добавить(пан); Возврат ВыхПараметры; КонецЕсли; ОбъектДрайвера.clear(); ВыхПараметры.Добавить(Хэш); ВыхПараметры.Добавить(пан); Возврат ВыхПараметры; иначе Сообщить("Карта не прочитана, ошибка чтения карты"); возврат Неопределено; КонецЕсли; Исключение Сообщить("Карта не прочитана, ошибка соединения с терминалом"); возврат Неопределено; КонецПопытки; КонецФункции Функция ОплатитьПлатежнойКартой(ОбъектДрайвера, Параметры, Сумма, ВыходныеПараметры,чек,форма) Экспорт Результат = ложь; ЗаплатилиБаллами=чек.СуммаОплатыБаллами; СуммаВременная = Неопределено; КодКарты = Неопределено; СсылочныйНомер = Неопределено; НомерЧека = Неопределено; //ОбъектДрайвера.ТипКарты = 0;//.ПоследнийТипКарты;????????????????? СуммаВременная = Сумма*100; очистить=ОбъектДрайвера.clear(); ОбъектДрайвера.SParam ("Amount", СуммаВременная); ответ=ОбъектДрайвера.NFun (4000); если ответ<>0 тогда возврат Ложь; иначе Результат=Истина; КонецЕсли; НомерТерминала = ОбъектДрайвера.GParamString("TermNum"); MyClientCard = ОбъектДрайвера.GParamString("ClientCard") ; MyClientExpiryDate = ОбъектДрайвера.GParamString("ClientExpiryDate") ; MyAuthCode = ОбъектДрайвера.GParamString("AuthCode"); MyCardName = ОбъектДрайвера.GParamString("CardName"); СлипЧек = ОбъектДрайвера.GParamString("Cheque"); MerchantTSN =ОбъектДрайвера.GParamString("MerchantTSN"); если чек.хэш="" или чек.хэш=Неопределено тогда если ОбъектДрайвера.GParamString("OWNCArd")="0" тогда Хэш="ЭтожНеСбер"; Пан=""; иначе Хэш =ОбъектДрайвера.GParamString("Hash"); Пан=ОбъектДрайвера.GParamString("ClientCard"); Пан="************"+сред(пан,13); форма.хэш=хэш; форма.пан=пан; КонецЕсли; Иначе Хэш=чек.хэш; Пан=чек.пан; КонецЕсли; Транзакция=чекоб.транзакцииБН.добавить(); транзакция.ID=MerchantTSN; транзакция.вид=Перечисления.ВидТранзакцииБН.Списание; Транзакция.видОплаты=Перечисления.ВалютаТранзакцииБН.Рубли; Транзакция.СуммаТранзакции=Сумма; Транзакция.СуммаТранзакцииИзБанка=Сумма; если ПараметрыСеанса.КассаККМ.ЭквайринговыйТерминал<>Справочники.ЭквайринговыеТерминалы.ПустаяСсылка() и хэш<>"ЭтожНеСбер" Тогда если ЗаплатилиБаллами <> 0 тогда РезультатОБ=ОплатитьБаллами(хэш,ЗаплатилиБаллами,чек,форма,пан); иначе РезультатОБ=Истина КонецЕсли; если (РезультатОБ или ЗаплатилиБаллами=0) тогда Иначе Сообщить("не прошли операции с баллами"); ответ=ОбъектДрайвера.NFun (4003); //кухарь 24.02.2014 начало //иногда могут не вставить карту при отмене ////кухарь 28.10.2013 начало //Транзакция.отменена=Истина; ////кухарь 28.10.2013 конец Если ответ=0 тогда Транзакция.отменена=Истина; //кухарь 17.03.14 начало //обнулим хэш на случай если в чеке используется несколько различных банковских карт форма.Хэш=""; форма.Пан=""; //кухарь 17.03.14 конец КонецЕсли; //кухарь 24.02.2014 конец возврат Ложь КонецЕсли; КонецЕсли; ВыходныеПараметры.Добавить(Новый Массив()); ВыходныеПараметры[0].Добавить("СлипЧек"); ВыходныеПараметры[0].Добавить(СлипЧек); ВыходныеПараметры.добавить(Новый Массив()); ВыходныеПараметры[1].добавить("КодАвторизации"); ВыходныеПараметры[1].добавить(MyAuthCode); //ВыходныеПараметры.добавить(Хэш); ОбъектДрайвера.Clear(); ОбъектДрайвера=Неопределено; Возврат Результат; КонецФункции |
|||
23
Лефмихалыч
11.02.18
✎
13:47
|
(0) чо-то какой-то долбаный бред. Не должно быть продавцу ни какого дела до того, какого сорта деньги списывает со своего клиента сбер. Тут как-то все кверх кармашками на рога поставлено. Дятелизм какой-то в исполнении сбера.
|
|||
24
vis_tmp
11.02.18
✎
13:51
|
(23)Да, мне тоже показалось это всё весьма странным
|
|||
25
Cyberhawk
11.02.18
✎
14:24
|
(23) (24) Ну вот такая программа лояльности у Сбера - списание бонусов "Спасибо" инициируется как раз кассовым ПО (торговой точкой). Сделали так, видимо, чтобы превращать бонусы в реальные деньги (как у программ лояльности других банков) было максимально затруднительно. Жиды.
|
|||
26
Лефмихалыч
11.02.18
✎
14:32
|
(25) да просто, когда в голове обе извилины эротическими фантазиями про блокчейн и машинлёнен заняты, тогда в рельаном мире получаются вот такие решения
|
|||
27
Cyberhawk
11.02.18
✎
14:37
|
(22) Спс за пример взаимодействия с СОМ-компонентой sbrf.dll, надеюсь _не_ пригодится :)
В плане удобства новая сберовская компонента sbrfcom.dll будет поудобнее того, что у тебя в коде, но она пока еще багнутая, да и заказчик пока не хочет переписывать действующую логику безналичной оплаты (настройки пин-падов и обработку обслуживания), даже в ущерб удобства покупателей. Кстати, ты можешь предложить тем своим, которым реализовывал, как раз переписать обработку обслуживания еще разок, чтобы за одно безконтактное считывание все заработало :) |
|||
28
ejikbeznojek
11.02.18
✎
16:38
|
(27) А мы недавно отказались от спасибо.
А снятие денег работает и сейчас через безконтактное считывание. Я недавно считал какие это убытки приносит. У нас 4,5% от оплаты по безналу начислений было. И сберовские 0,5%. + можно принимать к оплате. Начисление баллов это чистый убыток (за 1 начисленный покупателю балл мы платим сберу 1 рубль). За списание баллов банк платит нам (1 принятый к оплате балл равен рублю, который нам должен банк). Но есть комиссия 0,5% от оборота. А с учётом того, что в месяц баллов мы принимали на несколько миллионов, это сравнимо с убытком на начисления. У меня получалось убытков 1% от оборота магазинов. + деньги которые за списание баллов, банк отдаёт не сразу, а раз в полгода. |
|||
29
ejikbeznojek
11.02.18
✎
16:48
|
(0) хах....там самое интересное начинается с возвратами.
Я когда интеграция только начиналась придумал схему. Покупатель набирает товара на 100000. получает 5000 бонусов идёт в бургер кинг и ест на 5000 бонусов. Возвращается в магазин и делает возврат товара. И получает обратно свои 100000. При этом баллы у него списать нельзя, потому что у него уже их нет. Отказать в возврате тоже нельзя. И выходит что покупатель остался в плюсе на 5000. Банк остался в плюсе на размер комиссии. А мы остаёмся в минусе на 5000. Я позвонил к ним и спросил, что они с такими схемами делают? Мне что-то невнятно ответили про борьбу с фродингом, и что кто слишком часто так делают, тем блокируют баллы на карте. В общем сомнительно это всё как-то.... |
|||
30
Cyberhawk
11.02.18
✎
18:18
|
(28) Да уж, теперь понятно, зачем банк организовал весь этот геморрой с вовлечением торговых точек в процесс поощрения клиентов - чтобы оставаться в профите :) Благодарю за информацию!
|
|||
31
NorthWind
11.02.18
✎
21:33
|
(30) интересно, каким образом банк мотивирует торговые точки участвовать во всем этом, раз ничего кроме геморроя для них в этом нет?
|
|||
32
Cyberhawk
11.02.18
✎
21:59
|
(31) Думаю, аргументируют это увеличением клиентуры. Типа на двери магаза будет висеть стикер "Принимаем Спасибо".
|
|||
33
ejikbeznojek
12.02.18
✎
10:30
|
(32) + на сайте сбера висит список кто принимает и начисляет баллы.
Я вот иногда, когда баллов накопится, захожу на сайт и смотрю где могу их потратить. И директора магазинов некоторые жаловались, что часть клиентов, когда узнавало что мы перестали баллы принимать, разворачивались и уходили. (31) Ну это обычные затраты на рекламу, но я вот не знаю как проанализировать, насколько крутая это реклама. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |