Разработать прототип интеграции с платежным провайдером
30 000 руб. за проект
Технологии
- Java 8
- JNI
- C++
- Создать консольное приложение. Будем запускать на сервере под ubuntu 64-bit.
- Приложение должно вызвать несколько API, получить успешный статус и валидировать ответ от платежного провайдера.
- Код с бизнес логикой не привязан к консольному приложению и легко отделяем. Консоль - это тестовое приложение, ваш код будет интегрирован в крупное приложение отдельной командой разработчиков.
- Перед тем как делать, нужно рассказать как будет сделано (общие принципы + ООП) - ваше предложение возможно будет подкорректировано на этапе проектирования. По готовности, нужно объяснить и показать, как все сделано на английском языке. Возможны замечания с нашей стороны - если что-то сделано криво. Если с английским плохо, можно голосом с рускоговорящим, а текстом на англ для остальных.
- Документация по интеграции есть, однако необходимо общаться с тех персоналом платежного провайдера, так как интеграция не стандартная и может что то не сработать по документу. Будет чат в телеге. Имейте ввиду, что команда платежного провайдера отвечает оперативно, но не мгновенно. Из-за этого сроки сдачи могут немного затянуться.
- Создаем сообщение в определенном формате: “ПАРАМЕТР=ЗНАЧЕНИЕ”. Например, “PHONE=0951234567”. Вы получите описание набора параметров для составления сообщения.
- Подписываем сообщение и добавляем метаданные с помощью библиотеки. https://github.com/lumpov/cyberplat/tree/master/ip... Библиотека нужна для подписи сообщения и "упаковки" сообщения в определенный формат. Библиотеку необходимо будет скомпилировать под линукс и запускать через JNI. Как сказано выше, должно работать на ubuntu 64bit. В репозитории уже есть работа с библиотекой на java https://github.com/lumpov/cyberplat/tree/master/ip... Вы получите тестовые приватные ключи для подписи.
- Формируем запрос для отправки на сервер по HTTP. Производим URL-кодирование для полученного сообщения. Латинские буквы и цифры остаются без изменений, остальные символы передаются в шестнадцатеричной нотации с префиксом ‘%’. Например, “%OD%OA” – перевод строки. Пробелы могут быть заменены на символы ‘+’. В начале строки подставляется "inputmessage=". Сообщение передается на сервер платежной системы в теле HTTP запроса методом POST с указанием заголовков “Content-Length” и “Content-Type”.
- Вызываем 3 API по определенному URL: проверка параметров, непосредственно проведение платежа, проверка статуса платежа
- Получаем ответ от платежного провайдера, проверяем подпись с помощью библиотеки, разбираем ответ, кидаем наружу (в вашем случае в консоль) информацию об операции.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.