Bank Account Setup
Register creditor bank accounts and set a default for settlements.
Integration guide
Goal: Register the bank account that receives settled payments and mark it as default.
Estimated time: 10 minutes
Prerequisites
- Valid IBAN for your operating region
- Sandbox credentials
Related
List existing accounts (optional)
curl https://api.sandbox.tryspare.ae/payment/bank-account \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-tenant: UAE"const existing = await client.bankAccounts.list();existing = client.bank_accounts.list()var existing = client.bankAccounts().list(ListBankAccounts.builder().build());var existing = await client.BankAccounts.ListAsync(new ListBankAccounts());existing, err := client.BankAccounts.List(ctx, &spareapi.ListBankAccounts{})
if err != nil {
log.Fatal(err)
}Register a new account
curl -X POST https://api.sandbox.tryspare.ae/payment/bank-account \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-tenant: UAE" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Settlement Account",
"type": "Business",
"accountDetails": {
"scheme": "IBAN",
"identificationNumber": "AE070331234567890123456"
},
"accountHolderDetails": {
"name": "Acme Trading LLC"
},
"bankDetails": {
"name": "Example Bank"
}
}'const account = await client.bankAccounts.create({
iban: "AE070331234567890123456",
accountHolderName: "Acme Trading LLC",
bankName: "Example Bank",
});account = client.bank_accounts.create(
iban="AE070331234567890123456",
account_holder_name="Acme Trading LLC",
bank_name="Example Bank",
)var account = client.bankAccounts().create(CreateBankAccount.builder()
.iban("AE070331234567890123456")
.accountHolderName("Acme Trading LLC")
.bankName("Example Bank")
.build());var account = await client.BankAccounts.CreateAsync(new CreateBankAccount
{
Iban = "AE070331234567890123456",
AccountHolderName = "Acme Trading LLC",
BankName = "Example Bank",
});account, err := client.BankAccounts.Create(ctx, &spareapi.CreateBankAccount{
Iban: "AE070331234567890123456",
AccountHolderName: "Acme Trading LLC",
BankName: "Example Bank",
})
if err != nil {
log.Fatal(err)
}Set as default
curl -X PUT "https://api.sandbox.tryspare.ae/payment/bank-account/default?id=BANK_ACCOUNT_ID&isDefault=true" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-tenant: UAE"await client.bankAccounts.setDefault({
bankAccountId: account.data.id,
});client.bank_accounts.set_default(bank_account_id=account.data.id)client.bankAccounts().setDefault(SetDefaultBankAccount.builder()
.bankAccountId(account.getData().getId())
.build());await client.BankAccounts.SetDefaultAsync(new SetDefaultBankAccount
{
BankAccountId = account.Data.Id,
});_, err = client.BankAccounts.SetDefault(ctx, &spareapi.SetDefaultBankAccount{
BankAccountId: account.Data.Id,
})
if err != nil {
log.Fatal(err)
}Verify default
curl https://api.sandbox.tryspare.ae/payment/bank-account/default \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-tenant: UAE"const defaultAccount = await client.bankAccounts.getDefault();default_account = client.bank_accounts.get_default()var defaultAccount = client.bankAccounts().getDefault(GetDefaultBankAccount.builder().build());var defaultAccount = await client.BankAccounts.GetDefaultAsync(new GetDefaultBankAccount());defaultAccount, err := client.BankAccounts.GetDefault(ctx, &spareapi.GetDefaultBankAccount{})
if err != nil {
log.Fatal(err)
}Key takeaways
- Register creditor accounts before creating payment requests that settle to your business.
- Only one account should be default, update with
setDefaultwhen your banking details change.