Skip to main content

Internal Bank Transfers

Internal bank transfers use the same API as other outward transfers: POST /v1/transfer-session (see Send Money to Contact). The difference is which contacts and funding sources you wire up.

Funding source pairing (SELF and virtual account)​

Set payerFundingSourceGid and fundingSourceGid so they resolve through contacts whose types include SELF and VIRTUAL_ACCOUNT, in line with your program:

  • Both sides may use SELF contacts, or
  • One side SELF and the other VIRTUAL_ACCOUNT.

Use the contact and funding-source APIs in Manage Contacts to create or verify the right GIDs before you initiate the session.

Virtual account balances​

To show balances alongside internal movement, use Get Virtual Accounts—each virtual account in the list includes balance and alert threshold fields.

What this guide does not cover​

Error handling reminder​

Inspect TransferSession.status on success responses; some issuer workflows return HTTP 200 with a declined session—see the API reference description on Initiate Transfer Session.