Register Payment
The Customer Sales Representative or Finance Department User wants to via CRM / Finance system GUI manually register the incoming payment in the OCS.io. This operation is available in the CRM / Finance system GUI for users with correct privileges.
The CRM / Finance system via the RESTful API requests for payment registering on the OCS.io. The request body contains the Payment details and optionally also the Account details to whom the incoming payment belongs to.
The OCS.io registers the incoming payment, then returns result of the operation as a payload of the response.
The CRM / Finance system presents the result of the operation to the User in the GUI.
Basic Flow
Step | Actor | Action | Description |
---|---|---|---|
1. |
CSR / FIN User |
Search Payment |
Customer Sales Representative or Finance Department User via CRM / Finance GUI searches for a Payment which should be registered. |
2. |
CRM / Finance |
Display Search Payment |
CRM / Finance System displays result of Search Payment to the User. |
3. |
CSR / FIN User |
Request for Operation |
Customer Sales Representative or Finance Department User via CRM / Finance GUI requests for Operation. |
4. |
CRM / Finance |
Call registerPayment API |
CRM / Finance System calls Register Payment API exposed by OCS.io. |
5. |
OCS.io |
Request Validation |
OCS.io validates Request whether all mandatory attributes are populated, all data types are valid, ENUMs match with definition, etc. Additionally, OCS.io validates Request against Business Logic. This typically includes, that referenced entity exists in the system, entity has proper state, etc. |
6. |
OCS.io |
Perform Business Logic |
OCS.io performs Business Logic implemented for the Use-Case. |
7. |
OCS.io |
Publish Business Transaction |
OCS.io publishes zero to many messages to Streaming Platform that impacted entities have been changed. |
8. |
OCS.io |
Publish Notification |
OCS.io publishes zero to many notifications to Streaming Platform that certain conditions have been met. |
9. |
OCS.io |
Return registerPayment Response |
OCS.io returns Response to the CRM / Finance System. |
10. |
CRM / Finance |
Result of Operation |
CRM / Finance system displays result of the operation to the User. |
11. |
Notification Handler |
Subscribe for Notifications |
Notification Handler subscribes for Notifications to be delivered by Streaming Platform. |
12. |
Notification Handler |
Process Notifications |
Notification Handler process Notifications. This typically includes delivering of Notifications to recipients, storing for audit purposes, etc. |
13. |
Finance System |
Subscribe for Business Transactions |
Finance System subscribes for Business Transactions to be delivered by Streaming Platform. |
14. |
Finance System |
Process Business Transactions |
Finance System process Business Transactions internally. This typically includes storing of changed entities, update indexes, update metrics, etc. |
15. |
DWH |
Subscribe for Business Transactions |
DWH subscribes for Business Transactions to be delivered by Streaming Platform. |
16. |
DWH |
Process Business Transactions |
DWH process Business Transactions internally. This typically includes storing of changed entities, update indexes, update metrics, etc. |
Request Validations
The following validations are performed when registering a payment:
-
If Account is provided in the request (Incoming Payment is Identified), Account must be already created in the system and must not be in Deactivated State.
-
If Account is provided in the request, Payer must be already created in the system.
-
Currency must be configured in the system.
-
Payment Method must be configured in the system.
-
If External Payment Number is provided in the request, other Incoming Payment with the same External Payment Number must not be already created in the system, it must be unique.
Perform Business Logic
-
System creates Incoming Payment with provided attributes.
-
If Account is provided in the request, system sets created Incoming Payment as Identified.