Transfer Funds between Financial Accounts
Overview
You can transfer funds between Highnote accounts in real time. Transferring funds between Highnote accounts is used for various use cases:
- Rewards redemptions: Transfer funds from your product funding account to an account holder's financial account.
- Internal company transfers: Set up intra-company transfers between financial accounts for the same business account holder.
- Peer-to-peer transfers: You can enable peer-to-peer transfers of funds from one account holder's financial account to another.
To enhance funds transfer management and organization, Highnote offers transfer purposes. For available transfer purposes, see TransferStatus in the API Reference.
Initiate internal transfer
Use the following mutation to initiate a transfer between Highnote financial accounts:
InitiateTransferBetweenFinancialAccounts
Query
mutation InitiateTransferBetweenFinancialAccounts(
$input: InitiateTransferBetweenFinancialAccountsInput!
) {
initiateTransferBetweenFinancialAccounts(input: $input) {
__typename
... on InterFinancialAccountTransfer {
id
status
statusReason
createdAt
updatedAt
memo
purpose
amount {
value
currencyCode
}
ledgers {
name
}
}
... on UserError {
errors {
code
errorPath
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{ "input": { "toFinancialAccountId": "FINANCIAL_ACCOUNT_ID", "fromFinancialAccountId": "FINANCIAL_ACCOUNT_ID", "purpose": "GENERAL", "memo": "p2p", "amount": { "value": 10000, "currencyCode": "USD" } } }
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"initiateTransferBetweenFinancialAccounts": {
"__typename": "InterFinancialAccountTransfer",
"id": "ACCOUNT_TRANSFER_ID",
"status": "COMPLETED",
"createdAt": "2023-02-23T03:40:07.230Z",
"updatedAt": "2023-02-23T03:40:07.230Z",
"memo": "p2p",
"purpose": "GENERAL",
"amount": {
"value": 1000,
"currencyCode": "USD"
}
}
}
}
Check internal transfer status
You can query and display the status of internal transfers between financial accounts. The InitiateTransferBetweenFinancialAccounts mutation has the following statuses:
| Status | Description |
|---|---|
PENDING | The platform is currently validating and executing the transfer. |
COMPLETED | The platform has completed the transfer. |
FAILED | The platform was not able to complete the transfer. See Failed Status Values for more information. |
Failed status values
If a transfer returns a FAILED status, it returns a statusReason code, with one of the following values:
| Status Reason Code | Description |
|---|---|
ACCOUNT_CLOSED | The associated account is closed. |
ACCOUNT_NOT_FOUND | The account was not found. |
Use the following query to check the status of an internal transfer:
CheckAccountTransferStatus
Query
query CheckAccountTransferStatus($id: ID!) {
node(id: $id) {
__typename
... on InterFinancialAccountTransfer {
id
status
statusReason
}
}
}
Variables
{
"id": "TRANSFER_ID"
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"node": {
"__typename": "InterFinancialAccountTransfer",
"id": "TRANSFER_ID",
"status": "COMPLETED",
"statusReason": null
}
}