Skip to content

Тестовое задание для backend-стажёра в юнит Billing, Avito

License

Notifications You must be signed in to change notification settings

avito-tech/brave-new-billing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Тестовое задание для backend-стажёра в юнит Billing

Давай напишем собственную платёжную систему, которая будет уметь отображать форму оплаты банковской картой и сохранять информацию о выполненных платежах.

  1. Пусть это будет сервис с JSON API.
  2. У него должен быть метод /register, принимающий сумму и назначение платежа и возвращающий URL страницы с идентификатором платёжной сессии, например, http://somehost/payments/card/form?sessionId=4e273d86-864c-429d-879a-34579708dd69.
  3. По URL должна открываться форма оплаты с суммой и назначением платежа.
  4. При отправке формы номер карты должен проверяться по алгоритму Луна. Валидные номера должны имитировать успешную оплату, невалидные — возвращать ошибку.

Мы ждём от тебя ссылку на github с реализацией на PHP (можно использовать любой фреймворк).

Что можно сделать дополнительно:

  • Подготовить OpenAPI-спецификацию.
  • Покрыть реализацию тестами.
  • Ограничить время жизни платёжной сессии 30 минутами.
  • Опубликовать решение как Docker-образ.
  • Добавить API-метод, который возвращает список всех платежей за переданный период.
  • После успешной оплаты асинхронно отправлять HTTP-уведомление на URL магазина. URL для таких уведомений передаваётся магазином в запросе /register.

About

Тестовое задание для backend-стажёра в юнит Billing, Avito

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published