Passerelle de paiement HMCTS
HMCTS Payment Gateway est un petit wrapper autour du service de rémunération Gov.uk ajoutant une autorisation de base de l'utilisateur / service, appliquant une structure de référence de paiement utile et collectant des données sur plusieurs comptes de rémunération Gov.uk qui permettront de meilleurs rapports financiers et réconciliations.
Prérequis de l'intégration
Pour une intégration réussie avec la passerelle de paiement HMCTS, vous aurez besoin de ce qui suit:
- Clé API Gov.uk Pay . Avant de commencer, vous devriez obtenir un compte de paiement Gov.uk dédié créé pour vous. Une fois cela fait, vous devez utiliser la console d'administration Gov.uk Pay pour créer votre clé API (-s) et nous les fournir.
- Idam . Toutes les demandes de paiement de paiement nécessitent un token JWT utilisateur valide à passer dans l'en-tête "Autorisation". Veuillez vous assurer que votre application est intégrée à IDAM avant de commencer.
- Service-Auth-Provider . Toutes les demandes de paiement de paiement nécessitent un token JWT de service valide à être transmis dans l'en-tête "service-neutralisation". Veuillez vous assurer que votre demande est enregistrée dans Service-Auth-Provider-App et que vous pouvez acquérir des jetons JWT Service.
Gotchas d'intégration
- Statut de paiement périmé . Ni la passerelle de paiement HMCTS, ni Gov.uk ne paient pas le support "Push" Notifications pour la mise à jour de l'état de paiement. Par conséquent, une situation dans laquelle un utilisateur a effectué un paiement mais sa redirection vers l'URL "Retour" a échoué (par exemple en raison d'une connexion Internet interrompue), conduirait à un statut de paiement qui ne sera pas reflété dans votre application jusqu'à ce que vous interrogez son statut. Vous devez prendre cela en considération et, si nécessaire, mettre en œuvre un emploi de fond pour l'état de paiement rafraîchissant.
- Autorisation d'accès . La passerelle de paiement implémente une règle d'autorisation basée sur une URL simple. L'utilisateur avec ID 999, n'aura accès qu'à URL / utilisateurs / 999 / Payments / *, toute demande à / utilisateurs / {autres_id} / paiements / * entraînera 403.
- Remboursements . Bien que, à la fois HMCTS Payment Gateway et Gov.uk Pay mettent en œuvre des points de terminaison de remboursement, ils ne fonctionneront pas en raison des limites des arrangements financiers du MOJ et des systèmes de back-office.
Bâtiment
Le projet utilise Gradle comme un outil de construction, mais vous n'avez pas l'installer localement car il y a un script ./gradlew
wrapper.
Pour créer un projet, veuillez exécuter la commande suivante:
Tests
Ce projet utilise TestContainers pour la prise en charge de la base de données. Docker doit être installé sur la machine sur laquelle vous exécutez des tests et l'environnement Docker devrait avoir plus de 2 Go d'espace disque gratuit.
Les utilisateurs de Windows peuvent avoir besoin d'activer ce paramètre Les utilisateurs Linux peuvent avoir besoin d'ajouter leur utilisateur actuel au groupe Docker:
$ sudo usermod -aG docker $USER
Pour exécuter tous les tests unitaires, veuillez exécuter la commande suivante:
Points de terminaison
- Post / utilisateurs / {userId} / Payments - Créer un paiement
- Get / Users / {Userid} / Payments / {PaymentID} - Obtenez un paiement
- Post / utilisateurs / {userId} / Payments / {PaymentID} / Annuler - Annuler le paiement
Veuillez vous référer à Swagger UI et Gov.uk Pay pour plus de détails.
Liens utiles
- 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
Comment générer un fichier YAML Liquibase
Liquibase est utilisé pour mettre à jour les modifications de la base de données. Effectuez les étapes suivantes pour créer et mettre à jour le nouveau fichier YAML.
- modèle de CD
- Exécuter la commande $ mvn Liquibase: Diff
- Cela générera un nouveau fichier YAML, par exemple API / SRC / Main / Resources / DB / Changelog / DB.Changelog-0.0.5.yaml
- Ajoutez ce fichier à pom.xml dans la section DiffchangelogFile sous configuration
- Ajoutez ce fichier à db.changelog-master.xml la liste des fichiers Diff de
Variables d'environnement
Les variables d'environnement suivantes sont nécessaires:
-
APPINSIGHTS_INSTRUMENTATIONKEY
, App Insights Key pour envoyer des événements de télémétrie.