Test Scenarios - Transfers
Test Scenarios - Transfers
Overview
In the Sandbox, the Business Integration Services - Transfers services operate in mocked mode, allowing the client to verify the request/response structure, authorization mechanism, validations, retrieval of transfer IDs and status requests without executing a real banking operation.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /bab/v1/transfers/single | Import single transfer orders |
| POST | /bab/v1/transfers/batch | Import a batch transfer order |
| GET | /bab/v1/transfers/single/{transferId}/status | Get single transfer status |
| GET | /bab/v1/transfers/batch/{batchId}/status | Get batch transfer status |
| GET | /bab/v1/transfers/single/{transferExternalId} | Get single transfer transferId by requestId |
| GET | /bab/v1/transfers/batch/{batchTransferExternalId} | Get batch transfer batchId by requestId |
Test accounts allowed in the Sandbox
| Account Number | Currency |
|---|---|
| GE29TB7777777777777777 | GEL / USD / EUR |
| GE29TB9999999999999999 | GEL / USD / EUR |
Important validation rules for Sandbox testing:
- SingleTransferOrders is required and must not be empty; a maximum of 10 single transfer orders can be sent in one request.
- If one or more single transfer orders fail validation, the entire request will not be rejected. Only the invalid transfer orders will be rejected, while all valid transfer orders will continue to be processed.
- TransferOrders is required in a batch request and must not be empty; a maximum of 1000 orders is allowed in one batch.
- If transferExternalId / batchTransferExternalId is provided, it must be unique within the request.
- The maximum length of the description field is 140 characters, while the maximum length of the additionalDescription field is 210 characters.
- TreasuryTransfer must be in GEL and must include a 9-digit treasuryCode.
- For the TransferToOtherBankForeignCurrency type, beneficiary details and chargeDetails are required; allowed values are SHA and OUR.
Test Scenarios
Scenario 1: TransferToOwnAccount - transfer between own accounts
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TransferToOwnAccount",
"transferExternalId": "12345",
"documentNumber": 10001,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 3.45,
"currency": "GEL"
},
"description": "Own account transfer",
"additionalDescription": "Test transfer",
"creditAccount": {
"accountNumber": "GE29TB9999999999999999",
"accountCurrencyCode": "GEL"
}
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19827
}
],
"failed": []
}Scenario 2: TransferWithinBank - create a single transfer
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TransferWithinBank",
"transferExternalId": "12345",
"documentNumber": 10001,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 3.45,
"currency": "GEL"
},
"description": "Transfer Within Bank",
"additionalDescription": "Test transfer",
"creditAccount": {
"accountNumber": "GE29TB9999999999999999",
"accountCurrencyCode": "GEL"
}
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19806
}
],
"failed": []
}Scenario 3: TreasuryTransfer - treasury transfer
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TreasuryTransfer",
"transferExternalId": "12345”,
"documentNumber": 10001,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 1,
"currency": "GEL"
},
"description": "Treasury payment",
"additionalDescription": "Test treasury transfer",
"treasuryCode": "101001000"
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19808
}
],
"failed": []
}Scenario 4: TreasuryTransfer - treasury transfer with taxpayer details
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TreasuryTransfer",
“transferExternalId": "12345”,
"documentNumber": 10001,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 1,
"currency": "GEL"
},
"description": "Treasury payment",
"additionalDescription": "Test treasury transfer",
"taxpayerCode": "123456789",
"taxpayerName": "Name Surname",
"treasuryCode": "101001000"
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19811
}
],
"failed": []
}Scenario 5: TransferToOtherBankNationalCurrency - GEL transfer to another bank
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TransferToOtherBankNationalCurrency",
“transferExternalId": "12345”,
"documentNumber": 10002,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 100,
"currency": "GEL"
},
"description": "National currency transfer",
"additionalDescription": "Test transfer to other bank",
"creditAccount": {
"accountNumber": "GE90BG0000000589021505",
"accountCurrencyCode": "GEL"
},
"beneficiaryName": "Test Beneficiary",
"beneficiaryTaxCode": "12345678901"
}
]
}
{
"succeeded": [
{
"position": 1,
"transferId": 19801
}
],
"failed": []
}Scenario 6: TransferToOtherBankForeignCurrency - foreign currency transfer to another bank
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TransferToOtherBankForeignCurrency",
“transferExternalId": "12345”,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "EUR"
},
"documentNumber": 0,
"amount": {
"amount": 1,
"currency": "EUR"
},
"position": 1,
"description": "Test transfer",
"additionalDescription": "Postman test",
"creditAccount": {
"accountNumber": "CZ6508000000192000145399",
"accountCurrencyCode": "EUR"
},
"beneficiaryName": "Beneficiary Name",
"beneficiaryAddress": "Beneficiary Address",
"beneficiaryBankCode": "0800",
"beneficiaryBankName": "Czech Bank",
"intermediaryBankCode": "string",
"intermediaryBankName": "string",
"chargeDetails": "SHA"
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19802
}
],
"failed": []
}Scenario 7: SingleTransferOrders - multiple single transfer orders
POST /bab/v1/transfers/single
{
"singleTransferOrders": [
{
"transferType": "TransferWithinBank",
"transferExternalId": "269011",
"documentNumber": 10001,
"position": 1,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 10,
"currency": "GEL"
},
"description": "Transfer Within Bank",
"additionalDescription": "Test transfer",
"creditAccount": {
"accountNumber": "GE29TB9999999999999999",
"accountCurrencyCode": "GEL"
}
},
{
"transferType": "TransferToOwnAccount",
"transferExternalId": "606905",
"documentNumber": 10001,
"position": 2,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 20,
"currency": "GEL"
},
"description": "Transfer To Own Account",
"additionalDescription": "Test transfer",
"creditAccount": {
"accountNumber": "GE29TB9999999999999999",
"accountCurrencyCode": "GEL"
}
},
{
"transferType": "TransferToOtherBankNationalCurrency",
"transferexternalId": "209511",
"documentNumber": 10002,
"position": 3,
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"amount": {
"amount": 30,
"currency": "GEL"
},
"description": "National currency transfer",
"additionalDescription": "Test transfer to other bank",
"creditAccount": {
"accountNumber": "GE29TB9999999999999999",
"accountCurrencyCode": "GEL"
},
"beneficiaryName": "Test Beneficiary",
"beneficiaryTaxCode": "12345678901"
}
]
}{
"succeeded": [
{
"position": 1,
"transferId": 19802
},
{
"position": 2,
"transferId": 19803
},
{
"position": 3,
"transferId": 19804
},
{
"position": 4,
"transferId": 19805
}
],
"failed": []
}Scenario 8: Create a batch transfer
POST /bab/v1/transfers/batch
{
"batchTransferExternalId": "12345",
"batchName": "Name",
"debitAccount": {
"accountNumber": "GE29TB7777777777777777",
"accountCurrencyCode": "GEL"
},
"transferOrders": [
{
"transferType": "TransferWithinBank",
"documentNumber": 1,
"position": 1,
"amount": {
"amount": 1,
"currency": "GEL"
},
"description": "transfer within bank",
"additionalDescription": "string",
"beneficiaryName": "Name",
"creditAccount": {
"accountNumber": "GE44TB0600051509630891",
"accountCurrencyCode": "GEL"
}
},
{
"transferType": "TransferToOwnAccount",
"documentNumber": 2,
"position": 2,
"amount": {
"amount": 2,
"currency": "GEL"
},
"description": "transfer to own account",
"additionalDescription": "string",
"creditAccount": {
"accountNumber": "GE41TB7849963286076183",
"accountCurrencyCode": "GEL"
}
},
{
"transferType": "TransferToOtherBankNationalCurrency",
"documentNumber": 3,
"position": 3,
"amount": {
"amount": 30,
"currency": "GEL"
},
"description": "transfer to other bank",
"additionalDescription": "string",
"beneficiaryName": "Other Bank Beneficiary",
"beneficiaryTaxCode": "123456789",
"beneficiaryBankCode": "TB",
"beneficiaryBankName": "TBC Bank",
"creditAccount": {
"accountNumber": "GE90BG0000000589021505",
"accountCurrencyCode": "GEL"
}
}
]
}{
"batchTransferId": 3364
}Scenario 9: Get single transfer status
GET /bab/v1/transfers/single/19806/status
➡️201 OK: returns the overall status and singleTransferData
Scenario 10: Get batch transfer status
GET /bab/v1/transfers/batch/3364/status
➡️201 OK: returns the overall status and batchTransferData
Scenario 11: Get single transferId by transferExternalId
GET /bab/v1/transfers/single/12345
➡️201 OK: returns transferId
Scenario 12: Get batchId by batchTransferExternalId
GET /bab/v1/transfers/batch/12345
➡️201 OK: returns batchId
Updated 10 days ago
