トランスファー・バランス

このコード・スニペットでは、親アカウントの残高の一部(または全部)を Subaccounts に移す方法を説明します。

以下の変数が、便利な方法で必要な値に設定されていることを確認してください:

キー 説明
VONAGE_API_KEY 親アカウントのAPIキー。
VONAGE_API_SECRET 親アカウントのAPIシークレット。
SUBACCOUNT_KEY 指定された金額を受け取るSubaccountsのAPIキー。
AMOUNT 指定したSubaccountに移される残高の金額。

コードを書く

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'}'

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

bash transfer-balance.sh

前提条件

npm install @vonage/subaccounts

transfer-balance.js という名前のファイルを作成し、以下のコードを追加する:

const { SubAccounts } = require('@vonage/subaccounts');

const subAccountClient = new SubAccounts({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

全文を見る

コードを書く

transfer-balance.js に以下を追加する:

subAccountClient.transferBalance({
  from: VONAGE_API_KEY,
  to: SUBACCOUNT_KEY,
  amount: AMOUNT,
})
  .then((balanceTransfer) => console.log(balanceTransfer))
  .catch((error) => console.error(error));

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

node transfer-balance.js

前提条件

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

TransferBalance という名前のファイルを作成し、main メソッドに以下のコードを追加する:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

全文を見る

コードを書く

TransferBalance ファイルのmain メソッドに以下を追加する:

val receipt = client.subaccounts.transferBalance(
    from = VONAGE_API_KEY,
    to = SUBACCOUNT_KEY,
    amount = SUBACCOUNT_BALANCE_AMOUNT
)

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.kt.subaccountsTransferBalance を含むパッケージに置き換えてアプリケーションを実行する:

gradle run -Pmain=com.vonage.quickstart.kt.subaccounts.TransferBalance

前提条件

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk:9.3.1'

TransferBalance という名前のファイルを作成し、main メソッドに以下のコードを追加する:

VonageClient client = VonageClient.builder()
		.apiKey(VONAGE_API_KEY)
		.apiSecret(VONAGE_API_SECRET)
		.build();

全文を見る

コードを書く

TransferBalance ファイルのmain メソッドに以下を追加する:

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());

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.subaccountsTransferBalance を含むパッケージに置き換えてアプリケーションを実行する:

gradle run -Pmain=com.vonage.quickstart.subaccounts.TransferBalance

前提条件

Install-Package Vonage

TransferBalanceRequest.cs という名前のファイルを作成し、以下のコードを追加する:

using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.TransferAmount;

全文を見る

TransferBalanceRequest.cs に以下を追加する:

var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);

全文を見る

コードを書く

TransferBalanceRequest.cs に以下を追加する:

var request = TransferAmountRequest.Build()
    .WithFrom(VONAGE_API_KEY)
    .WithTo(SUBACCOUNT_KEY)
    .WithAmount(amount)
    .Create();
var response = await client.SubAccountsClient.TransferBalanceAsync(request);

全文を見る

前提条件

composer require vonage/client

transfer-balance.php という名前のファイルを作成し、以下のコードを追加する:

$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

全文を見る

コードを書く

transfer-balance.php に以下を追加する:

$transferRequest = new \Vonage\Subaccount\Request\TransferBalanceRequest(VONAGE_API_KEY);
$transferRequest
    ->setFrom(VONAGE_API_KEY)
    ->setTo(SUBACCOUNT_KEY)
    ->setAmount(250);

$subaccount = $client->subaccount()->makeBalanceTransfer($transferRequest);

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

php transfer-balance.php

前提条件

pip install vonage python-dotenv

コードを書く

transfer-balance.py に以下を追加する:

from vonage import Auth, Vonage
from vonage_subaccounts import Transfer, TransferRequest

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

request = TransferRequest(
    from_=VONAGE_API_KEY, to=SUBACCOUNT_KEY, amount=SUBACCOUNT_BALANCE_AMOUNT
)

transfer: Transfer = client.subaccounts.transfer_balance(request)

print(transfer)

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

python subaccounts/transfer-balance.py

前提条件

gem install vonage

transfer-balance.rb という名前のファイルを作成し、以下のコードを追加する:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

全文を見る

コードを書く

transfer-balance.rb に以下を追加する:

client.subaccounts.transfer_balance(
  from: VONAGE_API_KEY,
  to: SUBACCOUNT_KEY,
  amount: AMOUNT
)

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

ruby transfer-balance.rb

試してみる

このコードを実行すると、親 Account の残高の指定された金額が、指定された Subaccounts に転送されます。