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密鑰發送遙測事件。