Ошибка при возврате/отмене платежа по карте

1. Simply85 19.11.21 14:38 Сейчас в теме
Добрый день.
Обновился до Розница, редакция 2.3 (2.3.9.42) и появилась проблема при возврате/отмене покупки по карте из "режима менеджера" выходит ошибка : "При выполнении операции возникла ошибка:
"Ошибка при выполнении функции ОтменитьПлатежПоПлатежнойКарте, ответ терминала - Ошибка 4108".
Оплата по карте не была произведена."
До обновления все возвращалось без проблем.
При этом возврат/отмена из режима РМК работает нормаль.
Может кто сталкивался с подобных и решал проблему. РМК не пользуемся, а теперь ради возврата приходится туда постоянно заходить)
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user958326 19.11.21 14:57 Сейчас в теме
Ошибка возникает при возврате платежа, когда покупатель для возврата использует другую карту. Не ту, по которой совершался платеж. Повторите операцию с помощью карты, с которой производилась операция. Номер карты, которая использовалась для покупки указан в чеке (четыре последние цифры). Если клиент использует смартфон и не может выбрать в нём правильную карту, то лучше будет использовать непосредственно саму карту. Если не помогло - обратитесь в службу поддержки
3. Simply85 19.11.21 15:29 Сейчас в теме
(2) ошибка возникает когда я нажимаю на кнопку "оплатить/отменить оплату через терминал", карту человек даже еще не достает)
4. user958326 19.11.21 15:47 Сейчас в теме
(3)
вам написали, когда возникает ошибка 4118, ответ терминала вы как получаете если карты нет?
5. Simply85 19.11.21 16:23 Сейчас в теме
(4) я выбираю чек продажи, на его основании делаю возвратный чек, нажимаю кнопку провести, и нажимаю кнопку "оплатить/отменить оплату через терминал" после чего появляется ошибка т.е. карта тут вообще не участвует...
6. user958326 19.11.21 17:03 Сейчас в теме
(5)
карта не может не участвовать в возврате, так как именно на нее и только на ту с которой была оплата и может быть произведен возврат
7. Simply85 19.11.21 17:26 Сейчас в теме
(6) или я вас не пойму, или вы меня) вы предлагаете до всех манипуляций в 1С с начало вставлять/прикладывать карту к терминалу? ошибка появляется при нажатии на кнопку "оплатить/отменить оплату через терминал", т.е. ничего на терминал не передается, никаких окошек в 1с не всплывает с просьбой вставить/приложить карту, просто выскакивает ошибка? причем тут карта?
8. user958326 19.11.21 18:08 Сейчас в теме
(7) Видимо вы не понимаете, я всего-лишь написал вам часть инструкции в части расшифровки ошибок. Там этот номер 4118 расшифровывается так как указано выше, дальше только вы спорите с инструкцией аппарата, со мной то зачем?? ))
9. Simply85 19.11.21 18:33 Сейчас в теме
(8) ааа, так это выдержка из инструкции, теперь понял) только от этого не легче...
10. user958326 19.11.21 18:43 Сейчас в теме
(9) почему не легче? если так гласит инструкция, то тогда этот вопрос к обслуживающей эквайринг компании
11. Simply85 20.11.21 10:41 Сейчас в теме
(10) все работало отлично, но после обновления 1С появилась ошибка. При этом через сберовскую утилиту возврат идет без проблем, через РМК возврат тоже проходит, логично предположить что проблема не в терминале и софте, а что-то намудрили в 1С, ведь все работало до обновления)
12. user958326 20.11.21 11:41 Сейчас в теме
(11) То-есть решить проблему менее важно, чем доказать что 1с накосячили??
есть два решения, бесплатное- обратится в сервис эквайринга и платное- специалиста по кассам могу вам дать
13. lefthander 20.11.21 12:59 Сейчас в теме
(8)
Там этот номер 4118 расшифровывается
На скрине ошибка другая - 4108
14. user958326 20.11.21 13:02 Сейчас в теме
(13)
про нее и писали, ответ Сбера
4108 Номер карты неверен Повторите операцию с корректным вводом номера карты. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123
15. user958326 20.11.21 13:03 Сейчас в теме
(13)
4108 Номер карты неверен Повторить операцию. Если за 2-3 попытки провести операцию не удается, обратиться к персоналу Сбербанка, который устанавливал терминал.
39. user1891578 07.01.23 15:40 Сейчас в теме
(15) причем тут банк ? Если ошибка и проблема в 1С из-за номера карты...
16. igor63 08.12.21 07:24 Сейчас в теме
В данном случае необходимо привязать карту к платежной системе.
Прикрепленные файлы:
17. Simply85 08.12.21 17:01 Сейчас в теме
(16) а у меня нет такого, есть только 3 верхних строчки
18. IntellXeon 17.02.22 15:51 Сейчас в теме
Сам столкнулся на днях с этой ошибкой, опытным путем выяснил что проблема идет из-за параметра "НомерКарты" - он запоминает карту клиента и из-за этого выдает ошибку! Сделал простенькое расширение:
Надеюсь кому-то пригодиться! (Розница 2.3.10.43)

Процедура ВыполнитьЭквайринговуюОперацию(ОбъектДрайвера, ПараметрыПодключения, ДанныеОперации, РезультатВыполнения, Команда)
	
	Если НЕ (ДанныеОперации.СуммаОперации > 0) Тогда
		ОписаниеОшибки = НСтр("ru='Не корректная сумма операции.'");
		РезультатВыполнения.ОписаниеОшибки = ОписаниеОшибки; 
		РезультатВыполнения.Результат = Ложь;
		Возврат;
	КонецЕсли;
	
	НомерМерчанта  = ?(ДанныеОперации.НомерМерчанта <> Неопределено, ДанныеОперации.НомерМерчанта, 0);
        // Передадим пустое значение для Карты
	НомерКарты     = "";
	НомерЧека      = ?(ДанныеОперации.НомерЧека <> Неопределено, ДанныеОперации.НомерЧека, "");
	СсылочныйНомер = ?(ДанныеОперации.СсылочныйНомер <> Неопределено, ДанныеОперации.СсылочныйНомер, "");
	КодАвторизации = ?(ДанныеОперации.КодАвторизации <> Неопределено, ДанныеОперации.КодАвторизации, "");
	СуммаОперации  = ?(ДанныеОперации.СуммаОперации <> Неопределено, ДанныеОперации.СуммаОперации, 0);
	ТекстСлипЧека  = "";
Показать
akadelpher@gmail.com; gnomron; +2 Ответить
19. bocharovki 7 19.04.22 09:45 Сейчас в теме
(18) Абсолютно согласен с вами. Проблема в том что с некоторых пор сам терминал перестал понимать переданный номер карты в маскированном виде (например, "***********0487"). Вероятно это произошло с обновлением его драйвера. При возврате в номер карты необходимо передать либо полный номер, что не представляется возможным, либо пустоту.

ПараметрыОперации.ТипТранзакции  = "AuthorizeRefund";
			
ДанныеЭТДокументаОснования = ДанныеЭТДокументаОснованияСервер();
			
// при передаче в процедуру маскированного номера карты терминал возвращает ошибку 
//ПараметрыОперации.НомерКарты    = ДанныеЭТДокументаОснования.НомерПлатежнойКартыЭТ;
			
ПараметрыОперации.СсылочныйНомер = ДанныеЭТДокументаОснования.СсылочныйНомерЭТ;
ПараметрыОперации.НомерЧекаЭТ    = ДанныеЭТДокументаОснования.НомерЧекаЭТ;

Показать
akadelpher@gmail.com; gnomron; +2 Ответить
20. tolikchus 14.07.22 06:11 Сейчас в теме
Добрый день. Сам столкнулся с такой же проблемой. Сегодня буду второй день разбирать ситуацию. Только прошу в части эквайринга сбера, как выше, со мной не спорить.
Суть. Клиент долго не обращался что перестал работать возврат из 1С бухгалтерии после обновления. 1С актуальная (3.0), ФР - Штрих М.
В эквайринге Сбера две операции отмена и возврат. Вчера опытным путем установил что терминал самостоятельно распознает тип операции (именно поэтому сегодня буду тестить возвраты).
При отмене выдает ошибку 4108, ФР скромно молчит, не попискивает. Терминал не оживает, запроса карты нет!
В логах Сберовского упос:
13.07 09:33:50 SBKRNL: Command = 4002, Amount = 2.00, RRN = 219484589478, Department = 1, additional data = QSE...ECT
13.07 09:33:50 SBKRNL: MSBuild. Version:32.04.04
13.07 09:33:50 SBKRNL: Port timeouts:4294967295-0-0
13.07 09:33:50 SBKRNL: Open com 9 (115200)
13.07 09:33:50 SBKRNL: Pinpad status timeout 0 s
13.07 09:33:50 SBKRNL: WaitPinpadSeconds=0
13.07 09:33:50 SBKRNL: WaitPinpadSeconds=0
13.07 09:33:50 SBKRNL: Start tmo 140200
13.07 09:33:50 SBKRNL: Close com 9
13.07 09:33:50 SBKRNL: Result = 4108

Делаю точку останова в отладчике. Запускаю повторно на том же самом чеке (в ПО значения передаваемые в драйвер те же) и случается чудо, остановка, фискальник трижды пикнул и ожил терминал.
Прикладываю карту, жму продолжить отладку, фр выдает чеки.
В логах команда отобразилась по другому (RRN нужен при возврате), ну соответственно и результат:
13.07 09:31:28 SBKRNL: Command = 4002, Amount = 2.00, Department = 1, additional data = QSE...ECT
13.07 09:31:28 SBKRNL: MSBuild. Version:32.04.04
13.07 09:31:28 SBKRNL: Port timeouts:4294967295-0-0
13.07 09:31:28 SBKRNL: Open com 9 (115200)
13.07 09:31:28 SBKRNL: Pinpad status timeout 0 s
13.07 09:31:28 SBKRNL: WaitPinpadSeconds=0
13.07 09:31:28 SBKRNL: WaitPinpadSeconds=0
13.07 09:31:28 SBKRNL: Start tmo 140200
13.07 09:31:56 SBKRNL: Connecting to port 670
13.07 09:31:56 SBKRNL: Connect OK
13.07 09:31:57 SBKRNL: Close socket 3304
13.07 09:31:58 SBKRNL: Close com 9
13.07 09:31:58 SBKRNL: Result = 0, Amount = 2.00, Card = '' and '************5185'

Т.к. я не спец по ФР, прошу совета как решить проблему (по ходу драйвер эквайринга обращается в ФР за поиском операции, а не в терминал).
Логику сберовских библиотек в 1С я не нашел, есть обращение к ФР, нет обращения, не знаю.
Можно тупо воткнуть тайм-аут перед точкой останова, что сегодня и попробую. Но, если попадется вдруг базовая версия, то не прокатит вариант.
Создается ощущение что проблема в ФР

P.S. Не тыкайте что время в логах разное, просто лог взял куском. С успешной операцией и с ошибкой
akadelpher@gmail.com; +1 Ответить
21. tolikchus 14.07.22 10:01 Сейчас в теме
Так, немного не правильно написал. В отладчике на точке останова нажимаю "шагнуть" при обращении к драйверу, тогда оживает терминал. Если нажать кнопку продожить отладку вылетает ошибка.
akadelpher@gmail.com; +1 Ответить
22. akadelpher@gmail.com 25.10.22 08:13 Сейчас в теме
(21)Здравсвуйте, смогли разобраться? У меня вообще странная фигня, некоторые карты нормально проходят.

25.10 11:46:27 GATE: lock:'00000D30' 'UPOSWINMUTEX2'
25.10 11:46:27 SBKRNL: Command = 4002, Amount = 1940.00, RRN = 229851024278, Department = 1, additional data = QSE...ECT
25.10 11:46:27 SBKRNL: MSBuild. Version:32.04.04
25.10 11:46:27 SBKRNL: Port timeouts:4294967295-0-0
25.10 11:46:27 SBKRNL: Open com 7 (115200)
25.10 11:46:27 SBKRNL: Pinpad status timeout 0 s
25.10 11:46:27 SBKRNL: WaitPinpadSeconds=0
25.10 11:46:27 SBKRNL: WaitPinpadSeconds=0
25.10 11:46:27 SBKRNL: Start tmo 140200
25.10 11:46:27 SBKRNL: Close com 7
25.10 11:46:27 SBKRNL: Result  = 4108
25.10 11:46:27 GATE: unlock:'00000D30'
25.10 11:46:27 GATE: lock:'00000D30' 'UPOSWINMUTEX2'
25.10 11:46:27 GATE: unlock:'00000D30'
Показать

25.10 11:47:01 GATE: lock:'00000EC0' 'UPOSWINMUTEX2'
25.10 11:47:01 SBKRNL: Command = 4002, Amount = 195.00, RRN = 842186748100, Department = 1, additional data = QSE...ECT
25.10 11:47:01 SBKRNL: MSBuild. Version:32.04.04
25.10 11:47:01 SBKRNL: Port timeouts:4294967295-0-0
25.10 11:47:01 SBKRNL: Open com 7 (115200)
25.10 11:47:01 SBKRNL: Pinpad status timeout 0 s
25.10 11:47:01 SBKRNL: WaitPinpadSeconds=0
25.10 11:47:01 SBKRNL: WaitPinpadSeconds=0
25.10 11:47:01 SBKRNL: Start tmo 140200
25.10 11:47:03 SBKRNL: Send abort command
25.10 11:47:03 SBKRNL: Close com 7
25.10 11:47:03 SBKRNL: Clear cheque on error 2000
Показать


В обоих случаях номер карты сохранен со звездочками, но в первом сразу ошибка, во втором терминал дает возрват (ошибка 2000 - это я отмену жму). Все в рамках одной смены и одного дня. Если затереть номер карты в чеке, то возврат дается не знаю правда вероятно это не отмена операции а именно возрват
Кстати это последняя УТ 11.5.9
23. akadelpher@gmail.com 25.10.22 08:15 Сейчас в теме
(22)
Еще пример - рубль не возвращает
25.10 12:17:15 SBKRNL: Command = 4002, Amount = 1.00, RRN = 229851297602, Department = 1, additional data = QSE...ECT
25.10 12:17:15 SBKRNL: MSBuild. Version:32.04.04
25.10 12:17:15 SBKRNL: Port timeouts:4294967295-0-0
25.10 12:17:15 SBKRNL: Open com 7 (115200)
25.10 12:17:15 SBKRNL: Pinpad status timeout 0 s
25.10 12:17:15 SBKRNL: WaitPinpadSeconds=0
25.10 12:17:15 SBKRNL: WaitPinpadSeconds=0
25.10 12:17:16 SBKRNL: Start tmo 140200
25.10 12:17:16 SBKRNL: Close com 7
25.10 12:17:16 SBKRNL: Result  = 4108
25.10 12:17:16 GATE: unlock:'00000EE4'
25.10 12:17:16 GATE: lock:'00000EE4' 'UPOSWINMUTEX2'
25.10 12:17:16 GATE: unlock:'00000EE4'
25.10 12:18:18 GATE: lock:'00000A84' 'UPOSWINMUTEX2'
Показать


Затираю карту в 1С, но оставляю ссылочный номер - даёт вернуть
25.10 12:18:18 SBKRNL: Command = 4002, Amount = 1.00, RRN = 229851297602, Department = 1, additional data = QSE...ECT
25.10 12:18:18 SBKRNL: MSBuild. Version:32.04.04
25.10 12:18:18 SBKRNL: Port timeouts:4294967295-0-0
25.10 12:18:18 SBKRNL: Open com 7 (115200)
25.10 12:18:18 SBKRNL: Pinpad status timeout 0 s
25.10 12:18:18 SBKRNL: WaitPinpadSeconds=0
25.10 12:18:18 SBKRNL: WaitPinpadSeconds=0
25.10 12:18:18 SBKRNL: Start tmo 140200
25.10 12:18:31 SBKRNL: Connecting to port 670
25.10 12:18:31 SBKRNL: Connect OK
25.10 12:19:00 SBKRNL: Close socket 3280
25.10 12:19:04 SBKRNL: Connecting to port 670
25.10 12:19:04 SBKRNL: Connect OK
25.10 12:19:06 SBKRNL: Close socket 3276
25.10 12:19:08 SBKRNL: Close com 7 
Показать
24. Andruykha 178 26.10.22 11:53 Сейчас в теме
Тоже столкнулся с такой ошибкой в УТ 11.5.9.125. Есть решения?
akadelpher@gmail.com; +1 Ответить
25. ukkonen 27.10.22 14:06 Сейчас в теме
(24)Добрый день, нашли решение данной проблемы? Тоже мучаемся уже который день...
akadelpher@gmail.com; +1 Ответить
26. DSN197 07.11.22 00:13 Сейчас в теме
(25) Что-то получилось. У нас та же проблема.
27. a.rezyhin 26 09.11.22 18:09 Сейчас в теме
(26) Сегодня на Сбере в Рознице 2.3 появилась такая ошибка
akadelpher@gmail.com; +1 Ответить
28. akadelpher@gmail.com 10.11.22 08:26 Сейчас в теме
(24) мдаа, до сих пор не починили. И уже просто лень в саппорт писать - они три раза переспросят в чем проблема, пропросят отправить базу, а потом напишут, что это не является ошибкой.
Создайте новое расширение, найдите в общем модуле "ПодключаемоеОборудованиеДрайверСинхронноКлиент" процедуру ВыполнитьЭквайринговуюОперацию. На ней правой кнопкой мыши -> "Добавить в расширение" выполнит вместо.
Скопировать текст оригинальной процедуры и после строчки с номером карты добавить НомерКарты=""
НомерКарты     = ?(ДанныеОперации.НомерКарты <> Неопределено, ДанныеОперации.НомерКарты, "");   
	НомерКарты="";
Прикрепленные файлы:
Andruykha; insurgut; +2 Ответить
29. ukkonen 10.11.22 15:04 Сейчас в теме
(28) Большое спасибо за помощь!!! Сделал расширение как Вы написали, будем тестировать.
30. ukkonen 10.11.22 16:48 Сейчас в теме
(26)Вот поставь расширение, должно все работать. Собрал по подсказке (28)akadelpher@gmail.com
Прикрепленные файлы:
АКМ_Испр_Эквайринг_Расш.cfe
37. user1723444 19.12.22 12:08 Сейчас в теме
(30)
Все работает, без каких либо проблем эквайринг раздуплился сразу, спасибо!
31. akadelpher@gmail.com 11.11.22 09:46 Сейчас в теме
(29) главное пару моментов -
1) это скорей всего норма только для сберовского терминала. Возможно они зальют прошивку? Или все таки 1С виноват.
2) Надо проверить чтоб это была именно отмена покупки, а то вдруг там возврат делается и собственно комиссия списывается за саму покупку.
32. akadelpher@gmail.com 11.11.22 09:48 Сейчас в теме
(31) часть вины 1с тут точно есть - в старой версии просто нет такого модуля, он подругому называется и код другой
33. softline72 2 11.11.22 21:18 Сейчас в теме
(31)Сбербанк как всегда все валят на 1с, типо с их стороны все в порядке и пока обновление не ожидается. Что касается возврата тоже такая же бяка с ошибками. Так что думаю 1с поменяли у себя модули, а сбер пока не собирается на это реагировать.
akadelpher@gmail.com; +1 Ответить
36. insurgut 207 15.11.22 11:12 Сейчас в теме
(28) решило проблему, спасибо!
34. softline72 2 11.11.22 21:20 Сейчас в теме
Пока поюзаем расширение, ну а дальше может кто примет меры по исправлению данной проблемы. Если конечно не забьют))
akadelpher@gmail.com; +1 Ответить
35. Simply85 11.11.22 21:57 Сейчас в теме
(34) ага, я создал эту тему год назад, и с тех пор ничего не поменялось) забили уже давно...
38. Pim 182 26.12.22 03:12 Сейчас в теме
КА 2.5.9.143 та же проблема.
Чтобы не делать расширение к функции общего модуля, можно очищать НомерКарты при заполнении чека на возврат.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот