بوابة الدفع HMCTS
HMCTS Payment Gateway عبارة عن غلاف صغير حول Gov.uk Pay Service إضافة بعض ترخيص المستخدم/الخدمة الأساسي ، وفرض هيكل مرجع للدفع المفيد وجمع البيانات عبر حسابات Gov.uk المتعددة التي ستسمح بتقارير ومصالحة مالية أفضل.
تكامل المتطلبات الأساسية
للحصول على تكامل ناجح مع بوابة الدفع HMCTS ، ستطلب ما يلي:
- Gov.uk دفع API مفتاح . قبل البدء ، يجب أن تحصل على حساب مخصص لـ Gov.uk Pay الذي تم إنشاؤه لك. بمجرد الانتهاء من ذلك ، يجب عليك استخدام وحدة التحكم في Gov.uk Pay لإنشاء مفتاح API الخاص بك (-S) وتزويدها بنا.
- إيدام . تتطلب جميع الطلبات إلى بوابة الدفع أن يتم تمرير رمز jwt من مستخدم صالح في رأس "إذن". يرجى التأكد من دمج التطبيق الخاص بك مع Idam قبل البدء.
- خدمة الخدمة . تتطلب جميع الطلبات إلى بوابة الدفع خدمة رمز JWT ساري المفعول في رأس "ServiceAuthorization". يرجى التأكد من أن طلبك مسجل في تطبيق الخدمة-Auth-Provider-App وأنك قادر على الحصول على رموز JWT Service.
تكامل مسكات
- حالة الدفع التي لا معنى لها . لا تدعم HMCTS بوابة الدفع ، NOR GOV.UK دعم "دفع" الإخطارات لتحديث حالة الدفع. لذلك ، فإن الموقف الذي قام فيه المستخدم بدفع ، لكن إعادة توجيهه إلى عنوان URL "الإرجاع" فشل (على سبيل المثال بسبب اتصال الإنترنت المقطع) ، سيؤدي إلى عدم انعكاس حالة الدفع في طلبك حتى تستفسر عن حالتها مرة أخرى. يجب أن تأخذ هذا في الاعتبار وإذا لزم الأمر تنفيذ بعض الوظائف الخلفية لتحديث حالة الدفع.
- ترخيص الوصول . بوابة الدفع تنفذ قاعدة إذن بسيطة تعتمد على عنوان URL. سيتم منح المستخدم مع المعرف 999 فقط الوصول إلى عناوين URL/المستخدمين/999/مدفوعات/* ، أي طلب/user/{other_id}/payments/* سيؤدي إلى 403.
- المبالغ المستردة . على الرغم من أن كل من بوابة الدفع HMCTS و Gov.uk Pay تنفيذ نقاط النهاية ، إلا أنها لن تعمل بسبب قيود الترتيبات المالية MOJ وأنظمة المكاتب الخلفية.
مبنى
يستخدم المشروع Gradle كأداة بناء ولكنك لا تملك تثبيتها محليًا نظرًا لوجود برنامج ./gradlew
.
لبناء مشروع يرجى تنفيذ الأمر التالي:
الاختبارات
يستخدم هذا المشروع TestContainers لدعم قاعدة البيانات. يجب تثبيت Docker على الجهاز الذي تقوم بإجراء اختبارات عليه وينبغي أن يكون لبيئة Docker أكثر من مساحة قرص خالية من 2 جيجابايت.
قد يحتاج مستخدمو Windows إلى تمكين هذا الإعداد الذي قد يحتاجه مستخدمو Linux إلى إضافة المستخدم الحالي إلى مجموعة Docker:
$ sudo usermod -aG docker $USER
لتشغيل جميع اختبارات الوحدة ، يرجى تنفيذ الأمر التالي:
نقاط النهاية
- post/user/{userid}/المدفوعات - إنشاء الدفع
- Get/user/{userId}/payments/{paymentId} - احصل على الدفع
- POST/user/{userId}/payments/{paymentId}/cancel - إلغاء الدفع
يرجى الرجوع إلى Swagger UI و Gov.uk Pay لمزيد من التفاصيل.
روابط مفيدة
- 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
كيفية إنشاء ملف yaml liquibase
يتم استخدام Liquibase لتحديث تغييرات قاعدة البيانات. قم بتنفيذ الخطوات التالية لإنشاء ملف YAML الجديد وتحديثه.
- نموذج القرص المضغوط
- تشغيل command $ mvn liquibase: diff
- سيؤدي هذا إلى إنشاء ملف yaml جديد eg API/src/main/resources/db/changelog/db.changelog-0.0.5.yaml
- أضف هذا الملف إلى pom.xml في قسم diffchangelogfile ضمن التكوين
- أضف هذا الملف إلى قائمة ملفات الاختلاف الخاصة بـ db.changelog-master.xml
متغيرات البيئة
متغيرات البيئة التالية مطلوبة:
-
APPINSIGHTS_INSTRUMENTATIONKEY
، مفتاح App Insights لإرسال أحداث القياس عن بعد.