Transfer Balance
In this code snippet you will see how to transfer part (or all) of the parent account's balance to a subaccount.
Example
Ensure the following variables are set to your required values using any convenient method:
| Key | Description |
|---|---|
VONAGE_API_KEY | The API key of the parent account. |
VONAGE_API_SECRET | The API secret of the parent account. |
SUBACCOUNT_KEY | The API key of the subaccount to receive the specified amount. |
AMOUNT | The amount of balance to be transferred to the specified subaccount. |
Write the code
Add the following to transfer-balance.sh:
curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/balance-transfers" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"from":"'$VONAGE_API_KEY'", "to":"'$SUBACCOUNT_KEY'", "amount": '$AMOUNT'}'Run your code
Save this file to your machine and run it:
Prerequisites
npm install @vonage/subaccountsCreate a file named transfer-balance.js and add the following code:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Write the code
Add the following to transfer-balance.js:
subAccountClient.transferBalance({
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT,
})
.then((balanceTransfer) => console.log(balanceTransfer))
.catch((error) => console.error(error));Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
Create a file named TransferBalance and add the following code to the main method:
Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.subaccounts with the package containing TransferBalance:
Prerequisites
Add the following to build.gradle:
Create a file named TransferBalance and add the following code to the main method:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Write the code
Add the following to the main method of the TransferBalance file:
MoneyTransfer receipt = client.getSubaccountsClient().transferBalance(
MoneyTransfer.builder()
.from(VONAGE_API_KEY).to(SUBACCOUNT_KEY)
.amount(SUBACCOUNT_BALANCE_AMOUNT).build()
);
System.out.println("Transfer successful: "+receipt.getId());Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.subaccounts with the package containing TransferBalance:
Prerequisites
Install-Package VonageCreate a file named TransferBalanceRequest.cs and add the following code:
Add the following to TransferBalanceRequest.cs:
Prerequisites
composer require vonage/clientCreate a file named transfer-balance.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonage python-dotenvRun your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named transfer-balance.rb and add the following code:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Write the code
Add the following to transfer-balance.rb:
client.subaccounts.transfer_balance(
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT
)Run your code
Save this file to your machine and run it:
Try it out
When you run the code you will transfer the specified amount of the parent account's balance to the specified subaccount.