Это своего рода платежная система, доступная только в тестовом режиме. На 2 ночь разработки очень и очень малофункциональна. Зато в ней я заюзал метаклассы и в принципе интересненько так поигрался
Чтобы запустить все это чудо надо зайти из под линукса (или wsl), куда установить make, docker compose plugin, ну сам docker
Когда вся эта петрушка установлена - можно запускать
.env файлик в репе чисто с тестовыми кредами, так что не прикопаться. На серваке у меня будут другие значения переменных окружения, а писать отдельную доку по переменным окружения после бессонной ночи и двух выпитых энергосов не особо то и хочется.
Так что вот команда для запуска:
$ make dev
Запустил, зашел на http://localhost:8080/ и кайфуешь
Дока по апихе (swagger) лежит на http://localhost:8080/api/docs/. Для любителей ReDoc - http://localhost:8080/api/redoc/. Можно потестить интеграцию платежки на http://localhost:8080/example_integration, но там надо в ExampleIntegrationView.vue менять public key, генерировать где-нибудь hmac для body. В общем - мне было впадлу писать бек под это все дело, а sha под JS в 3 часа ночи найти не особо получилось. Так шо от чистого сердца преподношу вам к ознакомлению кодовую базу (удачи!)
Ну и про алгоритм подписи при создании транзакции:
- Берем request body на создание транзакции (см. в доке к апихе)
- Сортируем ключи по алфавиту и собираем их значения в строчку
- Полученную строчку хешируем при помощи hmac sha256 с использованием merchant private key в качестве hmac ключа
- Собственно, подпись готова - теперь просто добавляем ее в payload и отправляем запрос