Functional requirements

The FTM sample application is a basic payment processing application that implements a mediation process between a client and a payment gateway. The payment process will also interact with two services; a payment repair service and a liquidity check service. The following figure shows the system interaction between the components of the system.

Figure 1. System interaction
SampAppSystemInteract.jpg
The client can submit a single payment or a batch of payments for processing. The payments are processed as follows:
Single Payment
The payment is validated, repaired if it is invalid, and checked by a liquidity service before being submitted to the payment gateway. Once the gateway acknowledges each payment, the client is informed that the payment is processed.
Batch Payments
This is also called bulk processing. Validation is done at the batch level and for each payment. Once the payments are de-bulked each payment must be checked by a liquidity service before being submitted to the payment gateway. Once the gateway acknowledges all payments, the client is informed that the batch is processed.