Pasarela de pago de HMCTS
La pasarela de pago de HMCTS es un pequeño envoltorio alrededor del servicio de pago de Gov.uk que agrega alguna autorización básica de usuario/servicio, aplicando una estructura de referencia de pago útil y recopilación de datos en múltiples cuentas de pago de Gov.uk que permitirán mejores informes financieros y conciliación.
Requisitos previos de integración
Para una integración exitosa con la pasarela de pago HMCTS, necesitará lo siguiente:
- GOV.UK PAGE API CLAVE . Antes de comenzar, debe obtener una cuenta de pago de Gov.uk dedicada creada para usted. Una vez hecho, debe usar Gov.uk Pay Admin Console para crear su clave API (-S) y proporcionarnos.
- Idam . Todas las solicitudes de la pasarela de pago requieren que un token JWT de usuario válido se apruebe en el encabezado de "autorización". Asegúrese de que su aplicación esté integrada con IDAM antes de comenzar.
- Servicio-Auth-Provider . Todas las solicitudes de la pasarela de pago requieren que se apruebe un token de servicio válido en encabezado de "servicio de servicio". Asegúrese de que su solicitud esté registrada en Service-Auth-Provider-App y que pueda adquirir tokens JWT de servicio.
Integración gotchas
- Estado de pago obsoleto . Ni la pasarela de pago de HMCTS, ni GOV.UK paga las notificaciones de "Push" para la actualización del estado de pago. Por lo tanto, una situación en la que un usuario ha realizado un pago, pero su redirección de regreso a la URL de "retorno" falló (por ejemplo, debido a la conexión a Internet interrumpida), conduciría a que un estado de pago no se refleje en su aplicación hasta que consulte su estado nuevamente. Debe tener esto en cuenta e, si es necesario, implementar algún trabajo de fondo para un estado de pago refrescante.
- Autorización de acceso . La pasarela de pago implementa una regla de autorización basada en URL simple. El usuario con ID 999 solo se le otorgará acceso a URL/usuarios/999/Payments/*, cualquier solicitud a/users/{Other_ID}/Payments/* dará como resultado 403.
- Reembolsos . Aunque tanto HMCTS Pague Gateway como Gov.uk Pague los puntos finales de reembolso, no funcionarán debido a las limitaciones de los arreglos financieros de MOJ y los sistemas de back-office.
Edificio
El proyecto usa Gradle como una herramienta de compilación, pero no lo tiene instalando localmente ya que hay un script ./gradlew
WRAPPER.
Para crear el proyecto, ejecute el siguiente comando:
Pruebas
Este proyecto utiliza TestContainers para soporte de base de datos. Docker debe instalarse en la máquina en la que está ejecutando pruebas y el entorno Docker debe tener más de 2 GB de espacio de disco gratuito.
Los usuarios de Windows pueden necesitar habilitar esta configuración de los usuarios de Linux que pueden necesitar agregar a su usuario actual al grupo Docker:
$ sudo usermod -aG docker $USER
Para ejecutar todas las pruebas unitarias, ejecute el siguiente comando:
Puntos finales
- Post/Users/{userId}/Payments - Crear pago
- Get/users/{userId}/payments/{paymayID} - Obtener pago
- Post/Users/{UserID}/Payments/{PaymentId}/Cancelar - Cancelar pago
Consulte Swagger UI y Gov.uk Pague por más detalles.
Enlaces útiles
- 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
Cómo generar el archivo Yaml de Liquibase Yaml
Liquibase se utiliza para actualizar los cambios en la base de datos. Realice los siguientes pasos para crear y actualizar el nuevo archivo YAML.
- modelo de CD
- Ejecutar comando $ mvn liquibase: diff
- Esto generará un nuevo archivo YAML, por ejemplo, API/SRC/Main/Resources/DB/Changelog/DB.Changelog-0.0.5.yaml
- Agregue este archivo a pom.xml en la sección DiffchangeLogFile en configuración
- Agregue este archivo a db.changelog-master.xml's Diff Files List
Variables de entorno
Se requieren las siguientes variables de entorno:
-
APPINSIGHTS_INSTRUMENTATIONKEY
, App Insights Clave para enviar eventos de telemetría.