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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 1864
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь »

В репорте никогда не пробовал рисовать из клариона... Но, наверное, можно?
Это я только кажусь дураком! На самом деле я полный идиот!
kreator
✯ Ветеран ✯
Сообщения: 4507
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator »

Проскакивало:

Код: Выделить всё

AnyScreen v2.0 changelog

Template/Server
----------------
Feature: Added HTML/Javascript/SVG support for the IMAGE control.
Может не изобретать велосипед?
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin »

kreator писал(а): 06 Апрель 2022, 13:41 Может не изобретать велосипед?
О нет. Спасибо :)
Я в программе уже использую FreeImage, с помощью него уже практически перерисовал QR код
Осталось SVG завтра разобрать на координаты. Это легко
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5998
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

Сообщение Игорь Столяров »

Admin писал(а): 06 Апрель 2022, 13:50 Я в программе уже использую FreeImage
Тогда Вы можете сделать снимок экрана, вырезать из него QR код и сохранить в растровый формат ...
Приносим Вам свои неудобства !
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение 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                                                                 
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5998
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

Сообщение Игорь Столяров »

Admin писал(а): 06 Апрель 2022, 14:10 Получаем от Сбера ссылку на страницу с QR кодом
Неужели нельзя получить строку содержания, закодированную в QR коде ? :(
Приносим Вам свои неудобства !
kreator
✯ Ветеран ✯
Сообщения: 4507
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator »

А FreeImage не работает с SVG?
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение 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
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 1864
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь »

kreator писал(а): 06 Апрель 2022, 13:41 Может не изобретать велосипед?
Тут, несколько, иное. ?Image используется как пустое поле, табула раса, которое можно заменить чем угодно. Скажем, отобразить на нём HTML file
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение 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 прям с фотика прыгает в сберонлайн. На андроид нужно сканировать в самом приложении.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5998
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

Сообщение Игорь Столяров »

Игорь Столяров писал(а): 06 Апрель 2022, 14:22 Неужели нельзя получить строку содержания, закодированную в QR коде ?
Значит здравая логика в процессе присутствует всё-таки ... ;)
Я так понимаю, что здесь главная фишка - это получить подтверждение платежа для печати чека ?
Приносим Вам свои неудобства !
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin »

Игорь Столяров писал(а): 07 Апрель 2022, 7:42 получить подтверждение платежа для печати чека ?
Состояний куча: "PAID", "CREATED", "REVERSED", "REFUNDED", "REVOKED", "DECLINED", "EXPIRED", "AUTHORIZED", "CONFIRMED", "ON_PAYMENT
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin »

Не успел все дописать, в больничку на недельку нужно.
Отдаю, может как пример кому нужно будет.

Работает:
Получение токена
Создание QR
Отмена сформированного заказа
Получение статуса заказа (состояние оплаты получить можно но еще должен быть массив операций и т.д. но его нет почему то)
Получение реестра (ответ есть но в JSON ответе отсутствует реестр документов)

Не успел сделать:
Отмена оплаченного заказа

В папке include вроде все что нужно для работы, кроме libcurl

P.S. Ну и как всегда - примите как есть. Программист из меня еще тот :lol:
sbpqr.zip
(245.39 КБ) 33 скачивания
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5998
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

Сообщение Игорь Столяров »

А что нужно для того, что бы попробовать ?
Какие-то регистрации в Сбере ? Где ?
Приносим Вам свои неудобства !
Аватара пользователя
Admin
Администратор
Сообщения: 3787
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin »

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