What is a Transfer Transaction?
A Transfer moves funds across Managed Instruments within OPC. The source and destination Managed Instruments must be owned by the same Corporate Identity.
Refer to the Transfer Swagger documentation for the complete list of APIs that may be invoked in relation to the transfer transaction.
Transfer Paylet API
||POST||Retrieve a list of Transfer instances within the specified programme|
||POST||Retrieve details of the Transfer transaction specified in the request|
||POST||Create a Transfer transaction to move money between a source and a destination Managed instruments|
||POST||Retrieve a list of Profiles that can be used to create a Transfer transaction|
||POST||Retrieve details of a specified Transfer Profile|
Transfer Instance Attributes:
|Id||The ID of the Transfer transaction|
|Programme Id||The Programme within which the Transfer transaction is being executed|
|Profile Id||The ID of the Profile used to configure the Transfer transaction|
|State||The current state of the Transfer transaction. It can be one of: Initialised, Completed or Failed.|
|Timestamp||The date and time when the Transfer transaction was initiated|
|Transfer currency||The currency of the Transfer transaction|
|Transfer amount||The value of the Transfer transaction. Note that this is currently scaled to the lowest denomination of the currency e.g. to specify a transfer of 10 Euro, a value of 1000 would need to be entered|
|Source||Source Instrument from which funds are to be transferred|
|Destination||Destination Instrument to which funds are to be transferred|
|Calculated Fees||The fee to be applied during the execution of a Transfer transaction specifying the amounts to be taken as a fee from the source / destination Instruments. The fee source may be one of the source or destination Instruments or, another instrument belonging to the same Corporate Identity.|
|Failure Reason||Provides details in case of errors during a Transfer transaction|
A Developer can specify a fee to be collected upon the execution of a Transfer transaction.
In general the /transfers/_/create method allows for the definition of more than one fee to be specified.
Please note that there is currently a constraint of a maximum of one fee definition.
Both the source and destination Instruments must be in an active state for a Transfer transaction to be executed. If there are any restrictions of any sort on an Instrument (e.g. a single-spend card which has already processed an Authorisation request; or a Managed Account that has exceeded the maximum number of allowed transactions within a 24-hour period).
A Transfer transaction is executed if:
- The Transfer is in one of the supported currencies
- There are sufficient funds to cover the Transfer and any associated fees
- The source and destination Instruments are both active, not blocked or destroyed, and owned by the same identity
- The Transaction Profile is in an active state
- The Fee Instrument indicated (if different from source or destination Instruments) has sufficient funds and is not blocked