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:

parameter

description

metadata.page.number

0-indexed, default=0

metadata.page.size

default=10

data.incomingTransfer.status

one of pending, on-hold, completed, failed

data.incomingTransfer.transactionNumber

unique transaction number

data.incomingTransfer.amountFrom

minimum amount

data.incomingTransfer.amountTo

maximum amount

data.incomingTransfer.currency

ISO 4217 currency code

data.incomingTransfer.serviceProvider

data.incomingTransfer.clientId

UUID of client

data.incomingTransfer.accountId

UUID of account

data.incomingTransfer.senderInformation

free text filled by sender

data.incomingTransfer.senderName

name 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": {}
}