HMCTS Payment Gateway
HMCTS Payment Gateway ist ein kleiner Wrapper um Gov.uk Pay Service, der eine grundlegende Benutzungs-/Service -Autorisierung hinzufügt, wodurch die nützliche Zahlungsreferenzstruktur durchgesetzt wird und Daten über mehrere GOV.UK -Pay -Konten gesammelt wird, die eine bessere Finanzberichterstattung und -abstimmung ermöglichen.
Integration Voraussetzungen
Für eine erfolgreiche Integration mit HMCTS Payment Gateway benötigen Sie Folgendes:
- Gov.uk zahlen api key . Bevor Sie beginnen, sollten Sie ein dediziertes GOV.UK -Pay -Konto für Sie erstellen lassen. Sobald dies erledigt ist, sollten Sie Gov.uk Pay Admin-Konsole verwenden, um Ihren API-Schlüssel (-s) zu erstellen und sie uns zur Verfügung zu stellen.
- Idam . Alle Anfragen zum Payment Gateway erfordern, dass ein gültiger Benutzer -JWT -Token in der "Autorisierungs" -Haitrus übergeben wird. Bitte stellen Sie sicher, dass Ihre Bewerbung in Idam integriert ist, bevor Sie beginnen.
- Service-Auth-Provider . Alle Anfragen zum Payment Gateway erfordern, dass ein gültiger Service -JWT -Token in der "ServiceAuthorization" -Haceer verabschiedet wird. Bitte stellen Sie sicher, dass Ihre Bewerbung in Service-ATUTH-Provider-App registriert ist und Sie können Service-JWT-Token erwerben.
Integration Gotchas
- Stale Zahlungsstatus . Weder HMCTS Payment Gateway noch Gov.uk Pay Support "Push" -Bemachrichtigungen für den Zahlungsstatus -Update. Daher würde eine Situation, in der ein Benutzer eine Zahlung geleistet hat, aber seine Umleitung zur "Rückgabe" -RURL (z. B. aufgrund einer unterbrochenen Internetverbindung) fehlgeschlagen hat, zu einem Zahlungsstatus, der nicht in Ihrer Bewerbung reflektiert wird, bis Sie seinen Status erneut abfragen. Sie sollten dies berücksichtigen und bei Bedarf einen Hintergrundjob zum Auffrischen von Zahlungsstatus implementieren.
- Zugangsberechtigung . Payment Gateway implementiert eine einfache URL -basierte Autorisierungsregel. Benutzer mit ID 999 erhält nur Zugriff auf URLs/Benutzer/999/Zahlungen/*, eine Anforderung an/user/{other_id}/payments/* führt zu 403.
- Rückerstattungen . Obwohl sowohl HMCTs Payment Gateway als auch Gov.uk Pay Pay-Implementierung Rückerstattungsendpunkte aufgrund von Einschränkungen von MOJ-Finanzvereinbarungen und Back-Office-Systemen nicht funktionieren .
Gebäude
Das Projekt verwendet Gradle als Build -Tool, aber Sie haben es nicht lokal installiert, da es ./gradlew
-Wrapper -Skript gibt.
Um ein Projekt zu erstellen, führen Sie bitte den folgenden Befehl aus:
Tests
Dieses Projekt verwendet TestContainer für den Datenbankunterstützung. Docker muss auf dem Computer installiert werden, auf dem Sie Tests ausführen, und die Docker -Umgebung sollte mehr als 2 GB freien Speicherplatz haben.
Windows -Benutzer müssen möglicherweise diese Einstellung aktivieren. Linux -Benutzer müssen möglicherweise ihren aktuellen Benutzer zur Docker -Gruppe hinzufügen:
$ sudo usermod -aG docker $USER
Um alle Unit -Tests auszuführen, führen Sie bitte den folgenden Befehl aus:
Endpunkte
- Post/user/{userID}/payments - Zahlung erstellen
- Get/user/{userId}/payments/{paymentID} - Zahlung erhalten
- Post/user/{userId}/payments/{paymentID}/stornieren - Zahlung abbrechen
Weitere Informationen finden Sie in der Swagger UI und Gov.uk Pay.
Nützliche Links
- https://gds-payments.gelato.io/docs/version/1.0.0/resources/General
- https://github.com/hmcts/ccpay-reference-app
- https://github.com/hmcts/ccpay-reference-web
So generieren Sie Liquibase YAML -Datei
Liquibase wird verwendet, um die Datenbankänderungen zu aktualisieren. Führen Sie die folgenden Schritte aus, um die neue YAML -Datei zu erstellen und zu aktualisieren.
- CD -Modell
- Führen Sie den Befehl $ MVN Liquibase: Diff
- Dies generiert eine neue YAML-Datei EG API/SRC/Main/Ressourcen/db/changelog/db.changelog-0.0.5.yaml
- Fügen Sie diese Datei in pom.xml im Abschnitt DiffchangelogFile unter Konfiguration hinzu
- Fügen Sie diese Datei zu DB.Changelog-Master.xmls Diff-Dateien-Liste hinzu
Umgebungsvariablen
Die folgenden Umgebungsvariablen sind erforderlich:
-
APPINSIGHTS_INSTRUMENTATIONKEY
, App Insights Schlüssel zum Senden von Telemetrieereignissen.