Stack to Stack Transactions

We have provided a new API that allows for the seamless transfer of funds between stacks that a customer owns. This feature allows customers to manage their money more dynamically by allowing easy movement of funds between their stacks which can make the process of segmenting their account balance more intuitive and engaging.

When allowing for the movement of funds a key element is ensuring our clients can display the outcome of this movement of money clearly in their clients transaction summary.

Example of Using Stack to Stack API

Below we have documented an example of how the API will perform and a new attribute we have added to the transaction model to allow you to make decisions on how you display the movement of funds between stacks.

Create a Stack > Stack transaction

Stack to Stack transfer

{
  "amount": 2,
  "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "depositStackId": "2e7bd3ec-e5d3-4f36-8927-191a4d6d97c7",
  "description": "",
  "withdrawalStackId": "3dfd2f93-4db1-4226-9260-5f48ecc76b0e"
}

Then retrieve the transactions for that account

Get All Stack Transaction by Account ID

[
  {
    "hayId": "2e7bd3ec-e5d3-4f36-8927-191a4d6d97c7",
    "stackHayId": "a8656a3a-bb14-4cfb-809c-b530c7f26267",
    "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
    "notes": "iste",
    "amount": 2,
    "transactionTimeUtc": "2023-10-25T13:59:25.209729Z",
    "stack": {
      "stackHayId": "a8656a3a-bb14-4cfb-809c-b530c7f26267",
      "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
      "name": "destination stack",
      "targetAmount": 100,
      "balance": 4,
      "status": "OPEN",
      "createdAtUtc": "2023-10-25T13:33:51.863027Z",
      "imageUrl": "string"
    },
    "customerId": "51cc4fb7-d077-4840-91e6-59440ccc15bc",
    "counterpartTransactionId": "3dfd2f93-4db1-4226-9260-5f48ecc76b0e"
  },
  {
    "hayId": "3dfd2f93-4db1-4226-9260-5f48ecc76b0e",
    "stackHayId": "0a761415-47bd-41bd-8180-1689929871f8",
    "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
    "notes": "iste",
    "amount": -2,
    "transactionTimeUtc": "2023-10-25T13:59:25.193266Z",
    "stack": {
      "stackHayId": "0a761415-47bd-41bd-8180-1689929871f8",
      "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
      "name": "source stack",
      "targetAmount": 100,
      "balance": 2,
      "status": "OPEN",
      "createdAtUtc": "2023-10-25T13:33:24.512753Z",
      "imageUrl": "string"
    },
    "customerId": "51cc4fb7-d077-4840-91e6-59440ccc15bc",
    "counterpartTransactionId": "2e7bd3ec-e5d3-4f36-8927-191a4d6d97c7"
  },
  {
    "hayId": "ab981350-fb0a-4890-baee-99b2aa120967",
    "stackHayId": "0a761415-47bd-41bd-8180-1689929871f8",
    "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
    "notes": "porro",
    "amount": 3,
    "transactionTimeUtc": "2023-10-25T13:59:18.485343Z",
    "stack": {
      "stackHayId": "0a761415-47bd-41bd-8180-1689929871f8",
      "accountHayId": "183dddac-8ba7-4c8c-9569-2ad26f88d586",
      "name": "source stack",
      "targetAmount": 100,
      "balance": 2,
      "status": "OPEN",
      "createdAtUtc": "2023-10-25T13:33:24.512753Z",
      "imageUrl": "string"
    },
    "customerId": "51cc4fb7-d077-4840-91e6-59440ccc15bc"
  }
]

Our transaction model now includes "counterpartTransactionId" which demonstrates when a transaction is a movement of funds between a customers stacks.

The transaction list above shows both the credit and debit sides of the stack to stack transfer and the "counterpartTransactionId" can be used to confirm it's a stack to stack transfer as this is only populated when the transfer in question is Stack > Stack.