Transférer le solde
Dans cet extrait de code, vous verrez comment transférer une partie (ou la totalité) du solde du compte parent vers un Subaccounts.
Exemple
Veillez à ce que les variables suivantes soient réglées sur les valeurs souhaitées en utilisant toute méthode appropriée :
| Clé | Description |
|---|---|
VONAGE_API_KEY | La clé API du compte parent. |
VONAGE_API_SECRET | Le secret API du compte parent. |
SUBACCOUNT_KEY | La clé API du Subaccounts qui doit recevoir le montant spécifié. |
AMOUNT | Le montant du solde à transférer vers le Subaccounts spécifié. |
Rédiger le code
Ajouter ce qui suit à 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'}'Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
npm install @vonage/subaccountsCréez un fichier nommé transfer-balance.js et ajoutez le code suivant :
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Rédiger le code
Ajouter ce qui suit à transfer-balance.js:
subAccountClient.transferBalance({
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT,
})
.then((balanceTransfer) => console.log(balanceTransfer))
.catch((error) => console.error(error));Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Créez un fichier nommé TransferBalance et ajoutez le code suivant à la méthode main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Rédiger le code
Ajouter ce qui suit à la méthode main du fichier TransferBalance:
val receipt = client.subaccounts.transferBalance(
from = VONAGE_API_KEY,
to = SUBACCOUNT_KEY,
amount = SUBACCOUNT_BALANCE_AMOUNT
)Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.subaccounts par le paquet contenant TransferBalance:
Conditions préalables
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Créez un fichier nommé TransferBalance et ajoutez le code suivant à la méthode main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Rédiger le code
Ajouter ce qui suit à la méthode main du fichier TransferBalance:
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());Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.subaccounts par le paquet contenant TransferBalance:
Conditions préalables
Install-Package VonageCréez un fichier nommé TransferBalanceRequest.cs et ajoutez le code suivant :
using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.TransferAmount;Ajouter ce qui suit à TransferBalanceRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Rédiger le code
Ajouter ce qui suit à TransferBalanceRequest.cs:
var request = TransferAmountRequest.Build()
.WithFrom(VONAGE_API_KEY)
.WithTo(SUBACCOUNT_KEY)
.WithAmount(amount)
.Create();
var response = await client.SubAccountsClient.TransferBalanceAsync(request);Conditions préalables
composer require vonage/clientCréez un fichier nommé transfer-balance.php et ajoutez le code suivant :
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Rédiger le code
Ajouter ce qui suit à 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);Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
pip install vonage python-dotenvRédiger le code
Ajouter ce qui suit à 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)Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
gem install vonageCréez un fichier nommé transfer-balance.rb et ajoutez le code suivant :
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Rédiger le code
Ajouter ce qui suit à transfer-balance.rb:
client.subaccounts.transfer_balance(
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT
)Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Lorsque vous exécutez le code, vous transférez le montant spécifié du solde du compte parent vers le sous-compte spécifié.