HMCTS Платежный шлюз
HMCTS Payment Gateway - это небольшая обертка вокруг Gov.uk Pay Service, добавляя некоторые основные авторизации пользователей/услуги, обеспечивая полезную справочную структуру платежей и собирая данные по нескольким счетам Gov.uk Pay, которые позволят лучшую финансовую отчетность и сверка.
Интеграция предпосылки
Для успешной интеграции с платежным шлюзом HMCTS вам потребуется следующее:
- Gov.uk Pay API -ключ . Прежде чем начать, вы должны получить специальную учетную запись Gov.uk Pay, созданную для вас. Как только это будет сделано, вы должны использовать Admin Console Gov.uk для создания ключа API (-s) и предоставить их нам.
- Ид . Все запросы на платежный шлюз требуют, чтобы действительный пользовательский токен JWT был передан в заголовке «Авторизация». Пожалуйста, убедитесь, что ваше приложение интегрировано с IDAM перед началом.
- Сервис-авто-проватор . Все запросы на платежный шлюз требуют, чтобы в заголовке «Serviceauthorization» был принят действительный токен JWT. Пожалуйста, убедитесь, что ваше заявление зарегистрировано в Service-Auth-Auth-Provider-App, и вы можете приобрести токены JWT Service.
Интеграция Gotchas
- Статус устаревшего оплаты . Ни HMCTS платежный шлюз, ни Gov.uk Pay Support «Push» уведомления о обновлении статуса оплаты. Таким образом, ситуация, когда пользователь произвел платеж, но его перенаправление обратно на URL «возврат» не удалось (например, из -за прерванного подключения к Интернету), приведет к тому, что статус платежа не будет отражен в вашей заявке, пока вы снова не запросите его статус. Вы должны принять это во внимание и при необходимости реализовать какую -то фоновую работу для освежающего статуса оплаты.
- Доступ к авторизации . Платежный шлюз реализует простое правило авторизации на основе URL. Пользователь с идентификатором 999, будет предоставлен только доступ к URLS/USERS/999/PAYELMEST/*, любой запрос/users/{other_id}/payments/* приведет к 403.
- Возврат средств . Несмотря на то, что как HMCTS Payment Gateway, так и Gov.uk Pay Pult Repluct Enterpoints, они не будут работать из-за ограничений финансовых соглашений MOJ и систем бэк-офиса.
Здание
Проект использует Gradle в качестве инструмента для сборки, но вы не установите его локально, так как есть сценарий обертки ./gradlew
.
Чтобы создать проект, пожалуйста, выполните следующую команду:
Тесты
Этот проект использует TestContainers для поддержки базы данных. Docker должен быть установлен на машине, на которой вы проводите тесты, а среда Docker должна иметь более 2 ГБ бесплатно.
Пользователям Windows может потребоваться включить эту настройку пользователей Linux, возможно, потребуется добавить своего текущего пользователя в группу Docker:
$ sudo usermod -aG docker $USER
Чтобы запустить все модульные тесты, выполните следующую команду:
Конечные точки
- Post/users/{userid}/payments - создать платеж
- Get/users/{userId}/payments/{phitayId} - получить оплату
- Post/users/{userId}/payments/{phitayId}/cancel - Отмена платежа
Пожалуйста, обратитесь к Swagger UI и Gov.uk заплатить за более подробную информацию.
Полезные ссылки
- https://gds-payments.gelato.io/docs/versions/1.0.0/resources/general
- https://github.com/hmcts/ccpay-reference-app
- https://github.com/hmcts/ccpay-reference-web
Как сгенерировать файл yaml liquibase yaml
Ликибаза используется для обновления изменений базы данных. Выполните следующие шаги, чтобы создать и обновить новый файл YAML.
- CD модель
- Запустить команду $ mvn liquibase: diff
- Это будет генерировать новый файл yaml, например, API/SRC/Main/Resources/DB/ChangeLog/DB.CHANGELOG-0.0.5.YAML
- Добавьте этот файл в pom.xml в разделе Diffchangelogfile в разделе «Конфигурация»
- Добавьте этот файл в список файлов diff db.changelog-master.xml
Переменные среды
Требуются следующие переменные среды:
-
APPINSIGHTS_INSTRUMENTATIONKEY
, приложение Insights Ключ для отправки телеметрических событий.