https://github.com/tofazzaltopu/instant-cash-api
Instantcash Money Exchange House API Integration using Java, Spring Boot
https://github.com/tofazzaltopu/instant-cash-api
hibernate java-11 jcache jpa maven oracle restful restful-api spring-boot webservice
Last synced: 26 days ago
JSON representation
Instantcash Money Exchange House API Integration using Java, Spring Boot
- Host: GitHub
- URL: https://github.com/tofazzaltopu/instant-cash-api
- Owner: TofazzalTopu
- Created: 2025-01-12T08:52:07.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-17T12:07:18.000Z (about 1 year ago)
- Last Synced: 2025-10-30T15:49:17.134Z (7 months ago)
- Topics: hibernate, java-11, jcache, jpa, maven, oracle, restful, restful-api, spring-boot, webservice
- Language: Java
- Homepage:
- Size: 29.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Instant Cash Exchange House API Integration
```
1. Returns a list of outstanding transactions which belong to a receiving agent. API:- /transactions/outstanding.
2. Gets the status of the transaction associated with the provided Instant Cash Transaction Code (ICTC) number. API:- /transactions/status.
3. Returns the payment details of the outstanding transaction for the provided Instant Cash Transaction Code (ICTC) number. API:- /transactions/receive-payment.
4. Unlocks the transaction associated with the provided Instant Cash Transaction Code (ICTC) number. API:- /transactions/unlock.
4. Confirms the status of the transaction as 'Downloaded', 'Paid' or 'Report Error'. API:- /transactions/confirm.
```
# Instant Cash Exchange House API Scheduler
````
The process starts with the Scheduler (ApiClientScheduler class), which triggers at a specified interval defined in the properties file.
The scheduler calls a processor, InstantCashAPIProcessor, to handle the API interaction and response processing.
1. The Scheduler invokes the `fetchICOutstandingRemittance()` method to retrieve a list of outstanding transactions.
2. If any transactions are found, it calls the `confirmOutstandingTransactionStatus()` method to update their statuses:
- "D" for "Downloaded" status
- "X" for "Exception reported from Agent" status (for transactions with issues such as "Duplicate", "Invalid Account Number", "Invalid Routing Number" or "Invalid IFSC Code")
3. For each valid transaction that has been successfully paid to the customer, the `notifyPaidStatus()` method is called to update the status to "Y" for "Paid."
````