HMCTS 결제 게이트웨이
HMCTS 결제 게이트웨이는 gov.uk 지불 서비스 주변의 작은 포장지입니다. 기본 사용자/서비스 권한 부여를 추가하여 유용한 지불 참조 구조를 시행하고 여러 Gov.uk 급여 계정에서 데이터를 수집하여 더 나은 재무보고 및 조정을 허용합니다.
통합 전제 조건
HMCTS 결제 게이트웨이와의 성공적인 통합을 위해서는 다음이 필요합니다.
- Gov.uk Pay API 키 . 시작하기 전에 전용 gov.uk 급여 계정을 만들어야합니다. 일단 완료되면 Gov.uk Pay Admin 콘솔을 사용하여 API 키 (-s)를 생성하고 당사에게 제공해야합니다.
- 이담 . 결제 게이트웨이에 대한 모든 요청에는 유효한 사용자 JWT 토큰이 "인증"헤더로 전달되어야합니다. 시작하기 전에 응용 프로그램이 IDAM과 통합되어 있는지 확인하십시오.
- 서비스 부대 제공자 . 결제 게이트웨이에 대한 모든 요청에는 유효한 서비스 JWT 토큰이 "Serviceauthorization"헤더로 통과해야합니다. 신청서가 Service-Auth 제공자-애플에 등록되어 있고 JWT 토큰을 획득 할 수 있는지 확인하십시오.
통합 gotchas
- 오래된 지불 상태 . HMCTS 결제 게이트웨이 나 Gov.uk 지불 지원 "푸시"알림 지불 상태 업데이트에 대한 알림은 없습니다. 따라서 사용자가 결제했지만 "Return"URL 로의 리디렉션이 실패한 상황 (예 : 인터넷 연결이 중단되어)이 다시 상태를 쿼리 할 때까지 응용 프로그램에 지불 상태가 반영되지 않습니다. 이를 고려해야하며 필요한 경우 지불 상태를 상쾌하게하기 위해 배경 작업을 구현해야합니다.
- 액세스 승인 . 결제 게이트웨이는 간단한 URL 기반 권한 부여 규칙을 구현합니다. ID 999가있는 사용자는 URL/Users/999/Payments/*에만 액세스 할 수 있으며,/users/{Other_id}/Payments/*에게 요청하면 403이됩니다.
- 환불 . 그러나 HMCTS 결제 게이트웨이와 Gov.uk Pay는 모두 환불 엔드 포인트를 구현하지만 MOJ 재무 준비 및 백 오피스 시스템의 한계로 인해 작동하지 않습니다 .
건물
이 프로젝트는 Gradle을 빌드 도구로 사용하지만 ./gradlew
래퍼 스크립트가 있기 때문에 로컬로 설치하지 않습니다.
프로젝트를 구축하려면 다음 명령을 실행하십시오.
테스트
이 프로젝트는 데이터베이스 지원을 위해 TestContainers를 사용합니다. Docker는 테스트를 실행중인 시스템에 설치해야하며 Docker 환경에는 2GB 이상의 무료 디스크 공간이 있어야합니다.
Windows 사용자는이 설정을 활성화해야 할 수도 있습니다. Linux 사용자는 현재 사용자를 Docker 그룹에 추가해야 할 수도 있습니다.
$ sudo usermod -aG docker $USER
모든 단위 테스트를 실행하려면 다음 명령을 실행하십시오.
엔드 포인트
- Post/Users/{userId}/결제 - 지불 생성
- get/user/{userId}/payments/{paymentID} - 지불을받습니다
- post/users/{userId}/payments/{paymentID}/취소 - 지불 취소
자세한 내용은 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 liquibase : diff
- 이것은 새로운 YAML 파일을 생성합니다. 예를 들어 API/SRC/MAIN/RESIRCES/DB/ChangELOG/DB.CHANGELOG-0.0.5.YAML이 생성됩니다
- 구성의 DiffchangeLogfile 섹션 에서이 파일을 pom.xml에 추가하십시오.
- 이 파일을 db.changelog-master.xml의 diff 파일 목록에 추가하십시오
환경 변수
다음 환경 변수가 필요합니다.
-
APPINSIGHTS_INSTRUMENTATIONKEY
, 원격 측정 이벤트를 보내는 App Insights 키.