Страница 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. Ну и как всегда - примите как есть. Программист из меня еще тот :lol:
sbpqr.zip
(245.39 КБ) 87 скачиваний

Система быстрых платежей

Добавлено: 08 Апрель 2022, 6:49
Игорь Столяров
А что нужно для того, что бы попробовать ?
Какие-то регистрации в Сбере ? Где ?

Система быстрых платежей

Добавлено: 08 Апрель 2022, 7:57
Admin
Игорь Столяров писал(а): 08 Апрель 2022, 6:49 Какие-то регистрации в Сбере ? Где ?
Мы обслуживаемся в сбере. Что то там еще подключали.
После этого мне начальство переслало письмо с докой и инструкцией по подключению
https://api.developer.sber.ru/