Transfer funds between Accounts

A transfer is the action of moving funds from the platfrom's account to any of it's vendors accounts.
Funds will be available to transfer only if they are in the payable balance of the platform's account. The transferred funds will be available to the vendor immediately.

Creating a transfer consist of 2 phases:

  1. Create the transfer
  2. Commit / Cancel the transfer

🚧

Trasfers work only in one direction (from platform to vendor) and are not reversable once commited.

Before You Begin

  • Make sure you have the relevant account ID
  • Make sure you have the correct Vendor ID

Create transfer

Make a POST /transfer request:

curl --request POST \
  --url 'https://sandbox.unipaas.com/platform/transfers' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \
  --data-raw '{
         "ewalletId": "123456",
         "amount": 100,
         "currency": "GBP",
         "creditedVendorId": "abcdefg"
}'

In the response, you'll get the created transfer object:

Transfer object

ParameterTypeDescription
'id'NumberUnique id of transfer object
'ewallet_id'StringAccount id of the transfer destination
'amount'NumberThe amount of funds you wish to transfer
'currency'EnumThe currency in which the transfer is made
'creditedVendorId'stringThe vendot ID to which you wish to transfer monay
'status'EnumPayout's status: 'Pending', 'Succeeded', 'Failed'. ?
merchantIdstringThe ID of the platform, from which the transfer is made
vendorIdstring?

Commit or Cancel Transfer

Once the transfer was created, you should make a commit transfer call, to trigger the actual transfer of funds. If you do not want to proceed with the created transfer, you can cancel it by making a cancel transfer call.

Commit Transfer

Make a POST /transfer/commit request:

curl --request POST \
  --url 'https://sandbox.unipaas.com/transfers/{transferId}/commit' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \

in the response, you'll get the committed Transfer object.

Cancel Transfer

Make a POST /transfers/cancel request:

curl --request POST \
  --url 'https://sandbox.unipaas.com/platform/transfers/{transferId}/cancel
' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \

in the response, you'll get the cancelled Transfer object.