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.