What is a Deposit Transaction?
A Deposit is a transfer of funds from an External Instrument to a Managed Instrument, both owned by the same Corporate Identity instance.
To enable a deposit transaction, the owner of the external account will first need to define the bank account details in OPC (refer to the external account API methods).
Refer to the Deposit Swagger documentation for the complete list of APIs that may be invoked in relation to the deposit transaction.
Deposit Paylet API
||POST||Retrieve a list of Deposit transactions for a Programme|
||POST||Retrieve the detail of the Deposit specified in the request|
||POST||Create a new deposit e.g. initiate the movement of funds from an external source to a managed account owned by the same corporate identity. Please note that in testing you need to have first called
||POST||Retrieve a list of Profiles that can be used to perform a Deposit transaction|
||POST||Retrieve details of the Profile specified in the request|
Deposit Instance Attributes
|Id||The ID for a Deposit transaction|
|Programme Id||The Programme ID within which the Deposit is taking place|
|Profile Id||The Profile that used to specify configuration of a Deposit|
|State||Describes the current state of a Deposit transaction|
|Timestamp||The date and time the Deposit transaction was initiated|
|Deposit currency||The currency of the Deposit transaction|
|Deposit amount||The value of the deposit. Please note that this is currently scaled to the lowest denomination of the currency e.g. to specify a deposit of 10 Euro, a value of 1000 would need to be entered|
|Source||The source from where the Deposited funds originate (e.g. external instrument)|
|Destination||The Managed Instrument the funds are to be deposited to|
|Failure Reason||Indicates the failure reason for a failed Deposit transaction|
In a live environment a Corporate user executes a transaction – through the Application. This returns a unique identifier (and destination bank account details) that is then quoted when the user is doing the bank transfer from his bank’s portal.
During development, we simulate this process through a two-step process:
- First, we simulate the ‘availability’ of funds in the external bank account. As you appreciate this is not applicable on a production system
- Second, we execute the actual deposit transaction (the one which we would have executed in a real-life scenario).
On a production environment it is expected that a Corporate user initiates a bank transfer directly from their own banking portal. To do so the user executes a Deposit transaction (returns details such as deposit reference that user has to quote when doing own bank transfer) ; once the funds are received the system automatically deposits the funds in the specified destination instrument. On a staging / test environment the Developer can simulate this process through a two-step process - first the payin method as provided in the Simulator is to be called to put funds on the External Account; subsequently the Create Deposit method is called to complete the transaction, passing the ID of the pay-in to be deposited.
On a staging/test environment, a Developer can simulate a Deposit through the payin method:
Perform a Pay-in
This function increments an External Account’s balance, as specified.
To access this method, launch Swagger:
- Select ‘Try it out’
- Specify the parameters as prompted, including the amount and currency of the pay-in
- Select ‘send request’
- To complete a pay-in, the
/deposits/_/create_from_external_accountnow needs to be called