import cobo_waas2
from cobo_waas2.models.create_bank_withdrawal_request import (
CreateBankWithdrawalRequest,
)
from cobo_waas2.models.payment_bank_withdrawal import PaymentBankWithdrawal
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.PaymentApi(api_client)
create_bank_withdrawal_request = cobo_waas2.CreateBankWithdrawalRequest(
request_id="123e457-e89b-12d3-a456-426614174004",
source_bank_account_id="dst_ba_1234567890",
target_bank_account_id="dst_ba_0987654321",
currency="USD",
amount="100.00",
remark="Withdraw funds from VA to payout bank account",
)
try:
# Create bank withdrawal
api_response = api_instance.create_bank_withdrawal(
create_bank_withdrawal_request=create_bank_withdrawal_request
)
print("The response of PaymentApi->create_bank_withdrawal:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->create_bank_withdrawal: %s\n" % e)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.PaymentApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
PaymentApi apiInstance = new PaymentApi();
CreateBankWithdrawalRequest createBankWithdrawalRequest =
new CreateBankWithdrawalRequest()
.requestId("123e457-e89b-12d3-a456-426614174004")
.sourceBankAccountId("dst_ba_1234567890")
.targetBankAccountId("dst_ba_0987654321")
.currency("USD")
.amount("100.00")
.remark("Withdraw funds from VA to payout bank account");
try {
PaymentBankWithdrawal result = apiInstance.createBankWithdrawal(createBankWithdrawalRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#createBankWithdrawal");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createBankWithdrawalRequest := *coboWaas2.NewCreateBankWithdrawalRequest("123e457-e89b-12d3-a456-426614174004", "dst_ba_1234567890", "dst_ba_0987654321", "USD", "100.00")
remark := "Withdraw funds from VA to payout bank account"
createBankWithdrawalRequest.Remark = &remark
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.PaymentAPI.CreateBankWithdrawal(ctx).
CreateBankWithdrawalRequest(createBankWithdrawalRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.CreateBankWithdrawal``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateBankWithdrawal`: PaymentBankWithdrawal
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.CreateBankWithdrawal`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.PaymentApi();
const opts = {
CreateBankWithdrawalRequest:
CoboWaas2.CreateBankWithdrawalRequest.constructFromObject({
request_id: "123e457-e89b-12d3-a456-426614174004",
source_bank_account_id: "dst_ba_1234567890",
target_bank_account_id: "dst_ba_0987654321",
currency: "USD",
amount: "100.00",
remark: "Withdraw funds from VA to payout bank account",
}),
};
apiInstance.createBankWithdrawal(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"bank_withdrawal_id": "123e4567-e89b-12d3-a456-426614174000",
"request_id": "123e457-e89b-12d3-a456-426614174004",
"source_bank_account_id": "dst_ba_1234567890",
"target_bank_account_id": "dst_ba_0987654321",
"currency": "USD",
"amount": "100.00",
"status": "Pending",
"created_timestamp": 1744689600,
"remark": "Withdraw funds from VA to payout bank account",
"failed_reason": "The target bank account is invalid."
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Create bank withdrawal
This operation creates a bank withdrawal from a virtual account to a target bank account.
import cobo_waas2
from cobo_waas2.models.create_bank_withdrawal_request import (
CreateBankWithdrawalRequest,
)
from cobo_waas2.models.payment_bank_withdrawal import PaymentBankWithdrawal
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.PaymentApi(api_client)
create_bank_withdrawal_request = cobo_waas2.CreateBankWithdrawalRequest(
request_id="123e457-e89b-12d3-a456-426614174004",
source_bank_account_id="dst_ba_1234567890",
target_bank_account_id="dst_ba_0987654321",
currency="USD",
amount="100.00",
remark="Withdraw funds from VA to payout bank account",
)
try:
# Create bank withdrawal
api_response = api_instance.create_bank_withdrawal(
create_bank_withdrawal_request=create_bank_withdrawal_request
)
print("The response of PaymentApi->create_bank_withdrawal:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->create_bank_withdrawal: %s\n" % e)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.PaymentApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
PaymentApi apiInstance = new PaymentApi();
CreateBankWithdrawalRequest createBankWithdrawalRequest =
new CreateBankWithdrawalRequest()
.requestId("123e457-e89b-12d3-a456-426614174004")
.sourceBankAccountId("dst_ba_1234567890")
.targetBankAccountId("dst_ba_0987654321")
.currency("USD")
.amount("100.00")
.remark("Withdraw funds from VA to payout bank account");
try {
PaymentBankWithdrawal result = apiInstance.createBankWithdrawal(createBankWithdrawalRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#createBankWithdrawal");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createBankWithdrawalRequest := *coboWaas2.NewCreateBankWithdrawalRequest("123e457-e89b-12d3-a456-426614174004", "dst_ba_1234567890", "dst_ba_0987654321", "USD", "100.00")
remark := "Withdraw funds from VA to payout bank account"
createBankWithdrawalRequest.Remark = &remark
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.PaymentAPI.CreateBankWithdrawal(ctx).
CreateBankWithdrawalRequest(createBankWithdrawalRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.CreateBankWithdrawal``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateBankWithdrawal`: PaymentBankWithdrawal
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.CreateBankWithdrawal`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.PaymentApi();
const opts = {
CreateBankWithdrawalRequest:
CoboWaas2.CreateBankWithdrawalRequest.constructFromObject({
request_id: "123e457-e89b-12d3-a456-426614174004",
source_bank_account_id: "dst_ba_1234567890",
target_bank_account_id: "dst_ba_0987654321",
currency: "USD",
amount: "100.00",
remark: "Withdraw funds from VA to payout bank account",
}),
};
apiInstance.createBankWithdrawal(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"bank_withdrawal_id": "123e4567-e89b-12d3-a456-426614174000",
"request_id": "123e457-e89b-12d3-a456-426614174004",
"source_bank_account_id": "dst_ba_1234567890",
"target_bank_account_id": "dst_ba_0987654321",
"currency": "USD",
"amount": "100.00",
"status": "Pending",
"created_timestamp": 1744689600,
"remark": "Withdraw funds from VA to payout bank account",
"failed_reason": "The target bank account is invalid."
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}import cobo_waas2
from cobo_waas2.models.create_bank_withdrawal_request import (
CreateBankWithdrawalRequest,
)
from cobo_waas2.models.payment_bank_withdrawal import PaymentBankWithdrawal
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.PaymentApi(api_client)
create_bank_withdrawal_request = cobo_waas2.CreateBankWithdrawalRequest(
request_id="123e457-e89b-12d3-a456-426614174004",
source_bank_account_id="dst_ba_1234567890",
target_bank_account_id="dst_ba_0987654321",
currency="USD",
amount="100.00",
remark="Withdraw funds from VA to payout bank account",
)
try:
# Create bank withdrawal
api_response = api_instance.create_bank_withdrawal(
create_bank_withdrawal_request=create_bank_withdrawal_request
)
print("The response of PaymentApi->create_bank_withdrawal:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->create_bank_withdrawal: %s\n" % e)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.PaymentApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
PaymentApi apiInstance = new PaymentApi();
CreateBankWithdrawalRequest createBankWithdrawalRequest =
new CreateBankWithdrawalRequest()
.requestId("123e457-e89b-12d3-a456-426614174004")
.sourceBankAccountId("dst_ba_1234567890")
.targetBankAccountId("dst_ba_0987654321")
.currency("USD")
.amount("100.00")
.remark("Withdraw funds from VA to payout bank account");
try {
PaymentBankWithdrawal result = apiInstance.createBankWithdrawal(createBankWithdrawalRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#createBankWithdrawal");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createBankWithdrawalRequest := *coboWaas2.NewCreateBankWithdrawalRequest("123e457-e89b-12d3-a456-426614174004", "dst_ba_1234567890", "dst_ba_0987654321", "USD", "100.00")
remark := "Withdraw funds from VA to payout bank account"
createBankWithdrawalRequest.Remark = &remark
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.PaymentAPI.CreateBankWithdrawal(ctx).
CreateBankWithdrawalRequest(createBankWithdrawalRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.CreateBankWithdrawal``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateBankWithdrawal`: PaymentBankWithdrawal
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.CreateBankWithdrawal`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.PaymentApi();
const opts = {
CreateBankWithdrawalRequest:
CoboWaas2.CreateBankWithdrawalRequest.constructFromObject({
request_id: "123e457-e89b-12d3-a456-426614174004",
source_bank_account_id: "dst_ba_1234567890",
target_bank_account_id: "dst_ba_0987654321",
currency: "USD",
amount: "100.00",
remark: "Withdraw funds from VA to payout bank account",
}),
};
apiInstance.createBankWithdrawal(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
Authorizations
The API key. For more details, refer to API key.
In the API playground, enter your API secret, and your API key will be accordingly calculated.
Body
The request body to create a bank withdrawal.
The request ID that is used to track a bank withdrawal request. The request ID is provided by you and must be unique.
"123e457-e89b-12d3-a456-426614174004"
The source bank account ID. The destination bank account must be tagged as VA. Cobo uses the mapped VA account to initiate the withdrawal.
"dst_ba_1234567890"
The target bank account ID that receives the bank withdrawal.
"dst_ba_0987654321"
The fiat currency of the bank withdrawal.
"USD"
The bank withdrawal amount.
"100.00"
The remark for the bank withdrawal.
"Withdraw funds from VA to payout bank account"
Response
The bank withdrawal was successfully created.
The bank withdrawal ID generated by Cobo.
"123e4567-e89b-12d3-a456-426614174000"
The request ID provided by you when creating the bank withdrawal.
"123e457-e89b-12d3-a456-426614174004"
The source bank account ID. The destination bank account must be tagged as VA.
"dst_ba_1234567890"
The target bank account ID that receives the bank withdrawal.
"dst_ba_0987654321"
The fiat currency of the bank withdrawal.
"USD"
The bank withdrawal amount.
"100.00"
The status of the bank withdrawal:
Pending: The bank withdrawal has been created and is awaiting processing.Processing: The bank withdrawal is being processed.Completed: The bank withdrawal has been completed.Failed: The bank withdrawal failed.
Pending, Processing, Completed, Failed "Pending"
The creation time of the bank withdrawal, represented as a UNIX timestamp in seconds.
1744689600
The remark for the bank withdrawal.
"Withdraw funds from VA to payout bank account"
The reason why the bank withdrawal failed.
"The target bank account is invalid."
