Incoming Transfers

Incoming transfers are the transactions that increase the balance of the related account.

There are two types of incoming transfers. scope field reflects these types:
1. Internal transfers: You can create internal transfers between all of your clients. When an internal outgoing transfer is created, IF Platform creates an incoming transfer on the receiver account automatically. outgoingTransferId reflects the transaction that created this incoming transfer.
2. External transfers: External transfers are the transactions received from service providers. The scheme field includes the payment scheme used for external transfers.

Get Incoming Transfer

GET /incoming-transfers/{id}
Supported path variable:

id:

ID of outgoing transfer in UUID format

Sample Response #1 :

{
  "workflow": {},
  "data": {
    "incomingTransfer":{
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "accountId": "00000000-0000-0000-0000-000000000000",
      "transactionNumber": "20210101-ABC123",
      "status": "completed",
      "currency": "GBP",
      "amount": 100.00,
      "feeAmount": 3.00,
      "feeCurrency": "GBP",
      "outgoingTransferId": null,
      "serviceProvider": "railsbank",
      "serviceProviderId": "",
      "serviceProviderReference": "",
      "senderInformation": null,
      "senderName": "",
      "transferDate": "2021-04-25",
      "scheme": "sepa",
      "scope": "external",
      "totalAmount": 97.00,
      "senderAccount": {
        "ledgerNumber": null,
        "alias": null,
        "accountHolderName": null,
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      },
      "receiverAccount": {
        "ledgerNumber": "12345678",
        "alias": "GBP Account",
        "accountHolderName": "",
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}

Sample Response #2:

{
    "timestamp": "2022-04-08T13:50:49.211369",
    "message": "A valid incoming transfer record cannot be found with parameters (id)=(fe5d93ec-6c3c-4bb1-886d-56cffc6c307d).",
    "code": "common.coding.internal.record_not_found",
    "messageParameters": [
        "incoming transfer",
        "id",
        "fe5d93ec-6c3c-4bb1-886d-56cffc6c307d"
    ]
}

List Incoming Transfers

GET /incoming-transfers

Supported query parameters:

parameterdescription
metadata.page.number0-indexed, default=0
metadata.page.sizedefault=10
data.incomingTransfer.statusone of pending, on-hold, completed, failed
data.incomingTransfer.transactionNumberunique transaction number
data.incomingTransfer.amountFromminimum amount
data.incomingTransfer.amountTomaximum amount
data.incomingTransfer.currencyISO 4217 currency code
data.incomingTransfer.serviceProvider
data.incomingTransfer.clientIdUUID of client
data.incomingTransfer.accountIdUUID of account
data.incomingTransfer.senderInformationfree text filled by sender
data.incomingTransfer.senderNamename of sender
data.incomingTransfer.serviceProviderId
data.incomingTransfer.serviceProviderReference
data.incomingTransfer.transferDateFrom
data.incomingTransfer.transferDateTo
{
  "workflow": {},
  "data": {
    "incomingTransfers": [{
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "accountId": "00000000-0000-0000-0000-000000000000",
      "transactionNumber": "20210101-ABC123",
      "status": "completed",
      "currency": "GBP",
      "amount": 100.00,
      "feeAmount": 3.00,
      "feeCurrency": "GBP",
      "outgoingTransferId": null,
      "serviceProvider": "railsbank",
      "serviceProviderId": "",
      "serviceProviderReference": "",
      "senderInformation": null,
      "senderName": "",
      "transferDate": "2021-04-25",
      "scheme": "sepa",
      "scope": "external",
      "totalAmount": 97.00,
      "senderAccount": {
        "ledgerNumber": null,
        "alias": null,
        "accountHolderName": null,
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      },
      "receiverAccount": {
        "ledgerNumber": "12345678",
        "alias": "GBP Account",
        "accountHolderName": "",
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      }
    }]
  },
  "connect": {},
  "metadata": {}
}

Webhooks

Incoming transfer webhooks have "incoming-transfers" in the module field in the webhook container object.

There is only a single type of webhook sent for incoming transfers:

  • incoming-transfer-completed

It is exposed in the webhook.type field.

{
  "webhook": {
    "module": "incoming-transfers",
    "type": "incoming-transfer-completed"
  },
  "data": {
    "incomingTransfer": {
      "id": "00000000-0000-0000-0000-000000000000",
      "clientId": "00000000-0000-0000-0000-000000000000",
      "accountId": "00000000-0000-0000-0000-000000000000",
      "transactionNumber": "20210101-ABC123",
      "status": "completed",
      "currency": "GBP",
      "amount": 100.00,
      "feeAmount": 3.00,
      "feeCurrency": "GBP",
      "outgoingTransferId": null,
      "serviceProvider": "railsbank",
      "serviceProviderId": "",
      "serviceProviderReference": "",
      "senderInformation": null,
      "senderName": "",
      "transferDate": "2021-04-25",
      "scheme": "sepa",
      "scope": "external",
      "totalAmount": 97.00,
      "senderAccount": {
        "ledgerNumber": null,
        "alias": null,
        "accountHolderName": null,
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      },
      "receiverAccount": {
        "ledgerNumber": "12345678",
        "alias": "GBP Account",
        "accountHolderName": "",
        "accountNumber": "00000000",
        "iban": "GB99AAAA01234567890123",
        "country": "GB",
        "currency": "GBP",
        "routingCodes": {
          "bic": "AAAAGB22",
          "sort-code": "000000"
        }
      }
    }
  },
  "connect": {},
  "metadata": {}
}