HMCTS付款网关
HMCTS付款网关是围绕gov.uk付费服务的小型包装,添加了一些基本的用户/服务授权,执行有用的付款参考结构并在多个gov.uk薪酬帐户中收集数据,以允许更好的财务报告和核对。
集成先决条件
对于与HMCTS付款网关的成功集成,您将需要以下内容:
- gov.uk支付API密钥。在开始之前,您应该获得一个专用的gov.uk付费帐户为您创建。完成后,您应该使用gov.uk Pay Admin Console创建API密钥(-s)并将其提供给我们。
- IDAM 。付款网关的所有请求要求有效的用户JWT令牌在“授权”标题中传递。启动之前,请确保您的申请已与IDAM集成。
- 服务 - 左右的经理。付款网关的所有请求都需要在“ ServiceAuthorization”标题中传递有效的JWT令牌。请确保您的应用程序已在Service-auth-aut-Provider-App中注册,并且您可以获取Service JWT令牌。
集成陷阱
- 过时的付款状态。 HMCTS付款网关和Gov.uk付费支持“推送”付款状态更新通知。因此,用户付款但他的重定向回到“返回” URL的情况(例如,由于Internet连接中断引起的),将导致付款状态在您的应用程序中不反映在您的应用程序中,直到您再次查询其状态为止。您应该考虑到这一点,并在必要时执行一些背景作业以刷新付款状态。
- 访问授权。支付网关实现了基于简单的URL授权规则。具有ID 999的用户将仅授予对URL/用户/999/Payments/*的访问权限,对/用户/{seles_id}/Payments/*的任何请求都将导致403。
- 退款。尽管HMCTS支付网关和gov.uk Pay Imparion Enmiments都将由于MOJ财务安排和后台系统的限制而无法工作。
建筑
该项目使用Gradle作为构建工具,但是由于有一个./gradlew
包装脚本,因此您没有本地安装。
要构建项目,请执行以下命令:
测试
该项目使用TestContainers进行数据库支持。 Docker必须安装在您正在运行的测试的机器上,并且Docker环境应具有超过2GB的免费磁盘空间。
Windows用户可能需要启用此设置Linux用户可能需要将当前用户添加到Docker组:
$ sudo usermod -aG docker $USER
要运行所有单元测试,请执行以下命令:
端点
- 发布/用户/{userId}/付款 - 创建付款
- get/users/{userId}/付款/{paymaindId} - 获取付款
- post/users/{userId}/付款/{paymaindId}/取消 - 取消付款
请参阅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
如何生成liquibase yaml文件
Liquibase用于更新数据库更改。执行以下步骤创建和更新新的YAML文件。
- CD模型
- 运行命令$ MVN LICEIBASE:diff
- 这将生成一个新的YAML文件,例如API/SRC/MAIN/RESOSD/DB/CHAMPELOG/DB.CHANGELOG-0.0.5.YAML
- 在配置下的diffchangelogfile部分中将此文件添加到pom.xml
- 将此文件添加到db.changelog-master.xml的diff文件列表
环境变量
需要以下环境变量:
-
APPINSIGHTS_INSTRUMENTATIONKEY
,应用程序Insights密钥发送遥测事件。