Страница 2 из 7
Система быстрых платежей
Добавлено: 06 Апрель 2022, 10:46
Губин Игорь
В репорте никогда не пробовал рисовать из клариона... Но, наверное, можно?
Система быстрых платежей
Добавлено: 06 Апрель 2022, 13:41
kreator
Проскакивало:
Код: Выделить всё
AnyScreen v2.0 changelog
Template/Server
----------------
Feature: Added HTML/Javascript/SVG support for the IMAGE control.
Может не изобретать велосипед?
Система быстрых платежей
Добавлено: 06 Апрель 2022, 13:50
Admin
kreator писал(а): ↑06 Апрель 2022, 13:41
Может не изобретать велосипед?
О нет. Спасибо
Я в программе уже использую FreeImage, с помощью него уже практически перерисовал QR код
Осталось SVG завтра разобрать на координаты. Это легко
Система быстрых платежей
Добавлено: 06 Апрель 2022, 14:05
Игорь Столяров
Admin писал(а): ↑06 Апрель 2022, 13:50
Я в программе уже использую FreeImage
Тогда Вы можете сделать снимок экрана, вырезать из него QR код и сохранить в растровый формат ...
Система быстрых платежей
Добавлено: 06 Апрель 2022, 14:10
Admin
Не очень хороший вариант. Открывать Chrome для фотки экрана и т.д.
По моему все красиво и так будет
Получаем от Сбера ссылку на страницу с QR кодом
Получаем тело страницы
Парсим из тела координаты из SVG
Рисуем QR код в BMP и сохраняем
В конце отправляем файл с QR кодом в ATOL
Код: Выделить всё
SELF.SetParamStr(LIBFPTR_PARAM_FILENAME, InfoHeader.HeaderImageFile)
SELF.SetParamInt(LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER)
IF libfptr_print_picture(SELF.fptr) = LIBFPTR_ERROR
SELF.ErrorMessage('Печать штрихкода')
END
Система быстрых платежей
Добавлено: 06 Апрель 2022, 14:22
Игорь Столяров
Admin писал(а): ↑06 Апрель 2022, 14:10
Получаем от Сбера ссылку на страницу с QR кодом
Неужели нельзя получить строку содержания, закодированную в QR коде ?
Система быстрых платежей
Добавлено: 06 Апрель 2022, 14:25
kreator
А FreeImage не работает с SVG?
Система быстрых платежей
Добавлено: 06 Апрель 2022, 14:35
Admin
Игорь Столяров писал(а): ↑06 Апрель 2022, 14:22
Неужели нельзя получить строку содержания, закодированную в QR коде ?
В документации не описано. Методом тыка не получилось.
Каких либо параметров относящихся к генерации QR, в запросе нет.
kreator писал(а): ↑06 Апрель 2022, 14:25
А FreeImage не работает с SVG?
Код: Выделить всё
Supported formats
BMP files [reading, writing]
Dr. Halo CUT files [reading] *
DDS files [reading]
EXR files [reading, writing]
Raw Fax G3 files [reading]
GIF files [reading, writing]
HDR files [reading, writing]
ICO files [reading, writing]
IFF files [reading]
JBIG files [reading, writing] **
JNG files [reading, writing]
JPEG/JIF files [reading, writing]
JPEG-2000 File Format [reading, writing]
JPEG-2000 codestream [reading, writing]
JPEG-XR files [reading, writing]
KOALA files [reading]
Kodak PhotoCD files [reading]
MNG files [reading]
PCX files [reading]
PBM/PGM/PPM files [reading, writing]
PFM files [reading, writing]
PNG files [reading, writing]
Macintosh PICT files [reading]
Photoshop PSD files [reading]
RAW camera files [reading]
Sun RAS files [reading]
SGI files [reading]
TARGA files [reading, writing]
TIFF files [reading, writing]
WBMP files [reading, writing]
WebP files [reading, writing]
XBM files [reading]
XPM files [reading, writing]
* only grayscale
** only via external plugin, might require a commercial license
Система быстрых платежей
Добавлено: 06 Апрель 2022, 17:44
Губин Игорь
kreator писал(а): ↑06 Апрель 2022, 13:41
Может не изобретать велосипед?
Тут, несколько, иное. ?Image используется как пустое поле, табула раса, которое можно заменить чем угодно. Скажем, отобразить на нём HTML file
Система быстрых платежей
Добавлено: 07 Апрель 2022, 7:30
Admin
В процессе разбора все оказалось в разы проще.
Сбер дает ссылку типа:
https://qr.nspk.ru/XXXXXXXXXXXXXXXXXXXX ... B&crc=2AA4
Используем в ATOL:
Код: Выделить всё
SELF.SetParamStr(LIBFPTR_PARAM_BARCODE, https://qr.nspk.ru/XXXXXXXXXXXXXXXXXXXXXXXXXXX?type=02&bank=100000000111&sum=110&cur=RUB&crc=2AA4')
SELF.SetParamInt(LIBFPTR_PARAM_BARCODE_TYPE, LIBFPTR_BT_QR)
SELF.SetParamInt(LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER)
SELF.SetParamInt(LIBFPTR_PARAM_SCALE, 8)
SELF.SetParamInt(LIBFPTR_PARAM_HEIGHT, 100)
SELF.SetParamBool(LIBFPTR_PARAM_BARCODE_PRINT_TEXT, TRUE)
IF libfptr_print_barcode(SELF.fptr) = LIBFPTR_ERROR
SELF.ErrorMessage('Печать штрихкода')
END
Или через FastQRCode (qrcodelib.dll) генерим QR code картинку в BMP
iPhone прям с фотика прыгает в сберонлайн. На андроид нужно сканировать в самом приложении.
Система быстрых платежей
Добавлено: 07 Апрель 2022, 7:42
Игорь Столяров
Игорь Столяров писал(а): ↑06 Апрель 2022, 14:22
Неужели нельзя получить строку содержания, закодированную в QR коде ?
Значит здравая логика в процессе присутствует всё-таки ...
Я так понимаю, что здесь главная фишка - это получить подтверждение платежа для печати чека ?
Система быстрых платежей
Добавлено: 07 Апрель 2022, 8:34
Admin
Игорь Столяров писал(а): ↑07 Апрель 2022, 7:42
получить подтверждение платежа для печати чека ?
Состояний куча: "PAID", "CREATED", "REVERSED", "REFUNDED", "REVOKED", "DECLINED", "EXPIRED", "AUTHORIZED", "CONFIRMED", "ON_PAYMENT
Система быстрых платежей
Добавлено: 08 Апрель 2022, 5:24
Admin
Не успел все дописать, в больничку на недельку нужно.
Отдаю, может как пример кому нужно будет.
Работает:
Получение токена
Создание QR
Отмена сформированного заказа
Получение статуса заказа (состояние оплаты получить можно но еще должен быть массив операций и т.д. но его нет почему то)
Получение реестра (ответ есть но в JSON ответе отсутствует реестр документов)
Не успел сделать:
Отмена оплаченного заказа
В папке include вроде все что нужно для работы, кроме
libcurl
P.S. Ну и как всегда - примите как есть. Программист из меня еще тот
Система быстрых платежей
Добавлено: 08 Апрель 2022, 6:49
Игорь Столяров
А что нужно для того, что бы попробовать ?
Какие-то регистрации в Сбере ? Где ?
Система быстрых платежей
Добавлено: 08 Апрель 2022, 7:57
Admin
Игорь Столяров писал(а): ↑08 Апрель 2022, 6:49
Какие-то регистрации в Сбере ? Где ?
Мы обслуживаемся в сбере. Что то там еще подключали.
После этого мне начальство переслало письмо с докой и
инструкцией по подключению
https://api.developer.sber.ru/