Collection Service V2

Overview

The Collection service is to serve as a revenue collection platform for all the billing systems through cash, cheque, dd, swipe machine. It enables payment for all services provided by the eGov platform at a single point for the Citizen and counter collection in municipal alike.

Pre-requisites

  • Prior Knowledge of Java/J2EE

  • Prior Knowledge of SpringBoot

  • Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON, etc

  • Prior Knowledge of Kafka and related concepts like Producer, Consumer, Topic, etc.

  • Following services should be up and running:

    • egov-localization

    • egov-mdms

    • egov-idgen

    • egov-url-shortening

    • billing-service

Key Functionalities

  • Allows citizens to create a payment.

  • Allows employees to create the payment for the citizen indirectly.

  • provides facilities to capture partial and advanced payment based on configs.

  • allows payment cancellation to help with scenarios of bad checks and other failed payment scenarios.

  • Integrates with billing-service for demand back-update of payment.

Deployment Details

  • deploy the latest version of the collection-services docker build.

Configuration Details

The MDMS data configuration uses the same data updated by Billing-Service

Billing Service | Configuration-Details: Refer MDMS data config from here.

Following are the properties in the application.properties

Integration

Integration Scope

Collection service can be integrated with any organization or system that wants a payment system to keep track of its payments. Organizations can customize part of the application or its functionality based on their requirements.

Integration Benefits

  • Easy payments and tracking of payments.

  • Configurable functionalities according to client requirement

Steps to Integration

  1. Customer can create a payment using the /payments/_create

  2. Actors on the system can keep track of payments using /payments/_searchendpoint

  3. Once the payment is done but it encounters a technical issue outside of the system then it can be cancelled with /payments/_workflow

  4. For employees to access the payments API the respective module name should be appended after the payment API path - /payments/PT/_workflow - here PT refers to property module.

IFSC Code Migration in Collection Service

  1. Port foward the collection-service to current environment where the IFSCCODE bankdetails data to be migrated. Find the sample command below. 1kubectl port-forward collection-services-76b775f976-xcbt2 8055:8080 -n egov

  2. Import postman collection from API list which refers as /preexistpayments/_update and run with the same localhost to where we port forwarded using above command.

  3. Expected result. In EGCL_PAYMET table where IFSCODE data is present for those record, EGCL_PAYMET.ADDITIONALDETAILS bankdetails will be updated.

    Ex: For IFSCCODE : UCBA0003047 Response from API https://ifsc.razorpay.com/UCBA0003047 will be update in EGCL_PAYMET.ADDITIONALDETAILS as {"bankDetails": {"UPI": true, "BANK": "UCO Bank", "CITY": "BHIKHI", "IFSC": "UCBA0003047", "IMPS": true, "MICR": "151028452", "NEFT": true, "RTGS": true, "STATE": "PUNJAB", "SWIFT": "", "BRANCH": "BHIKHI", "CENTRE": "MANSA", "ADDRESS": "ADJOINING HP PETROL PUMP MANSA ROADDISTRICT MANSA","BANKCODE":"UCBA","DISTRICT":"MANSA","CONTACT":"+918288822548"}

Interaction Diagram

Billing-Collection-Integration Refer integration with details and explanation.

Reference Docs

API List

Last updated

​All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.