Investec Developer Community Wiki
  • 🏠Home
    • Investec Developer community wiki
  • βš’οΈGet Started
    • Get started overview
    • Investec Developer Docs
    • Self-enrollment guide
    • API quick start guide
      • πŸ”‘How to create your API keys
      • πŸ‘€How to authenticate against the Investec API
      • 🏦How to get your account, balance, and transaction data
      • πŸ’ΈHow to make transfers and payments
    • Programmable card quick start guide
      • πŸ™ŒHow to activate your programmable card
      • πŸš€How to add low-code snippets to your card on Investec Online
      • πŸ–₯️How to add code to your card and run a simulation using the online IDE
      • πŸ’³How to use the programmable card API
    • Sample apps
  • βš’οΈGet Building
    • Get building overview
    • Community GitHub
    • Community libraries & tools
    • Build tutorials & guides
      • πŸ’³Card | Slack Integration
      • πŸš—Card | How to create a DIY petrol card
      • 🎯API | No-code Budget Expense App
    • Build challenges & hackathons
      • 🎯[Closed] Q1 2025 Bounty Challenge | Path to Financial Health
      • 🎁[CLOSED] Q4 2024 Bounty Challenge | Festive API Wrappers
      • πŸš‚[CLOSED] Q3 2024 Bounty Challenge | Everyday Solutions
      • β˜„οΈ[CLOSED] Q2 2024 Bounty Challenge | Card Code Snippets
      • πŸ’°[CLOSED] Bounties Playground | banking.make.dev
      • πŸ‘©β€πŸ’»πŸ‘©πŸ’» [CLOSED] Mindjoy | Kid at Heart Build Challenge
      • ⚑[CLOSED] EskomSePush Build Challenge
        • EskomSePush Build Challenge Submissions
      • πŸ’³[CLOSED] 2022 Hackathon | low-code/no-code
        • 2022 Hackathon | low-code/no-code | Submissions
      • πŸ’°[CLOSED] Spreadsheet Banking | Bounties
        • πŸ‘©β€πŸ’»πŸ‘©πŸ’» Spreadsheet Banking | Basic Functions
      • πŸ”οΈ[CLOSED] Q1 2023 Bounty Challenge
      • πŸ’³[CLOSED] Q2 2023 Bounty Challenge
        • πŸ—ΊοΈChecklist for Bounty Hunters πŸ†
        • πŸš€Bounty Challenge #2: Code Snippet Showdown πŸš€
      • πŸ•[CLOSED] Q1 2024 Bounty Challenge | The Tutorial Quest
    • Open-source projects
  • πŸ™ŒCommunity
    • Get involved
    • Community champions
    • Community events
    • Community manifesto
    • Blog posts
    • Community integration pros
    • Investec Developer's QRious Puzzle Challenge
  • πŸ’¬Feedback and Support
    • Get support
    • Community FAQs
    • Feature requests
    • Submit product issues
Powered by GitBook
On this page
  • Using Postman
  • 1. Make a transfer
  • 2. Make a payment
  • cURL code snippets

Was this helpful?

  1. Get Started
  2. API quick start guide

How to make transfers and payments

PreviousHow to get your account, balance, and transaction dataNextProgrammable card quick start guide

Last updated 3 months ago

Was this helpful?

The Account information API also allows you to perform actions against their account programmatically (not just read-only). This includes transferring money between your accounts and paying money to beneficiaries.

Transfers and payments are currently only available for 🏦 Private Banking account holders.

Using Postman

If you’re new to APIs and want to get familiar with using the endpoints, we recommend you create a Postman account (it's free) and use the Postman collections provided to test things out.

1. Make a transfer

  1. Take note of the accountID that you would like to make the transfer to.

  2. Head over to the "Variables" table to insert your accountID - this is the account from which you would like to make the transfer. You can also set it under the Params tab on the query page.

  3. Navigate to the Accounts folder and POST transfer multiple query.

  4. Navigate to the Body tab and enter a value into each field. Here you will see that each transfer is defined by four key fields

    1. beneficiaryAccountID - this is the account where the funds will transfer to

    2. amount - the amount to pay in ZAR

    3. myReference - reference displayed on your transaction description

    4. theirReference - reference displayed on the recipient's statement

{
    "transferList": [
        {
            "beneficiaryAccountId": "3353431574710166878182963",
            "amount": "10", 
            "myReference": "API transfer",
            "theirReference": "API transfer"
        }
    ] 
}
  1. Hit Send to make a call to the API endpoint.

https://openapi.investec.com//za/pb/v1/accounts/:accountId/transfermultiple

2. Make a payment

You can only make programmatic payments to beneficiaries that have been created and paid at least once before from your account with regular online banking.

  1. Retrieve your list of beneficiaries by navigating to the Beneficiaries folder and the GET Beneficiaries query.

  2. Hit Send to make a call to the API endpoint (no additional parameters need to be set).

https://openapi.investec.com/za/pb/v1/accounts/beneficiaries
  1. Take note of the beneficiaryID of the beneficiary that you would like to make the payment to.

Example response for 🏦 Private Banking
{
  "data": [
    {
      "beneficiaryId": "LOREMIPSUMDOLOR=",
      "accountNumber": "1234567890",
      "code": "123456",
      "bank": "ACME CORP",
      "beneficiaryName": "Jane Smith",
      "lastPaymentAmount": "1.00",
      "lastPaymentDate": "10/01/2023",
      "cellNo": null,
      "emailAddress": null,
      "name": "Jane Smith",
      "referenceAccountNumber": "LOREM IPSUM DOLOR",
      "referenceName": "LOREM IPSUM",
      "categoryId": "112233445566",
      "profileId": "77889900"
    },
  ],
  "links": {
    "self": "https://openapi.investec.com/za/pb/v1/accounts/beneficiaries"
  },
  "meta": {
    "totalPages": 1
  }
}

Payment notifications will go out to the listed "cellNo" and "emailaddress" of the beneficiary. If these are null, then no notification will be sent.

  1. Head over to the "Variables" table to insert your accountID - this is the account from which you would like to make the payment. You can also set it under the Params tab on the query page.

  2. Navigate to the Beneficiaries folder and the POST Beneficiary payment query. The endpoint can receive an array list of payments and is therefore able to process multiple payments at one point.

  3. Navigate to the Body tab and enter a value into each field. Here you will see that each payment is defined by four key fields

    1. beneficiaryID - this is the account to which you want to make the payment

    2. amount - the amount to pay in ZAR

    3. myReference - reference displayed on your transaction description

    4. theirReference - reference displayed on the recipient's statement

{
  "paymentsList": [
    {
      "beneficiaryId": "01234567890",
      "amount": "10",
      "myReference": "API transfer",
      "theirReference": "API transfer"
    }
  ]
}
  1. Hit Send to make a call to the API endpoint.

https://openapi.investec.com/za/pb/v1/accounts/{accountId}/paymultiple

cURL code snippets

Get beneficiaries

curl --location 'https://openapi.investec.com/za/pb/v1/accounts/beneficiaries' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Get beneficiary categories

curl --location 'https://openapi.investec.com/za/pb/v1/accounts/beneficiarycategories' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Make a transfer

curl --location 'https://openapi.investec.com/za/pb/v1/accounts//transfermultiple' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
    "transferList": [
        {
            "beneficiaryAccountId": "3353431574710166878182963", 
            "amount": "10", 
            "myReference": "API transfer", 
            "theirReference": "API transfer" 
        }
    ] 
}'

Make a payment

curl --location 'https://openapi.investec.com/za/pb/v1/accounts//paymultiple' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
    "paymentList": [
        {
            "beneficiaryId": "{{beneficiaryId}}", 
            "amount": "10", 
            "myReference": "API demo", 
            "theirReference": "API demo2" 
        }
    ]
}'

Ensure you have and pasted in your bearer token into the "Variables" tables.

βš’οΈ
πŸ’Έ
Investec Programmable Banking Postman Collection
authenticated
Retrieve a list of your accounts and their accountIDs