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

Parameter

Type

Description

'id'

Number

Unique id of transfer object

'ewallet_id'

String

Account id of the transfer destination

'amount'

Number

The amount of funds you wish to transfer

'currency'

Enum

The currency in which the transfer is made

'creditedVendorId'

string

The vendot ID to which you wish to transfer monay

'status'

Enum

Payout's status: 'Pending', 'Succeeded', 'Failed'. ?

merchantId

string

The ID of the platform, from which the transfer is made

vendorId

string

?

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.