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.

MethodEndpointPurpose
POST/bab/v1/transfers/singleImport single transfer orders
POST/bab/v1/transfers/batchImport a batch transfer order
GET/bab/v1/transfers/single/{transferId}/statusGet single transfer status
GET/bab/v1/transfers/batch/{batchId}/statusGet 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 NumberCurrency
GE29TB7777777777777777GEL / USD / EUR
GE29TB9999999999999999GEL / 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.
  • 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"
      }
    }
  ]
}
{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19827
    }
  ]
}

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"
      }
    }
  ]
}
{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19806
    }
  ]
}

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"
    }
  ]
}
{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19808
    }
  ]
}

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"
    }
  ]
}
{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19811
    }
  ]
}

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"
    }
  ]
}

{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19801
    }
  ]
}

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"
    }
  ]
}
{
  "singleTransferResults": [
    {
      "position": 1,
      "transferId": 19802
    }
  ]
}

Scenario 7: 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 8: Get single transfer status

GET /bab/v1/transfers/single/19806/status

➡️201 OK: returns the overall status and singleTransferData

Scenario 9: Get batch transfer status

GET /bab/v1/transfers/batch/3364/status

➡️201 OK: returns the overall status and batchTransferData

Scenario 10: Get single transferId by transferExternalId

GET /bab/v1/transfers/single/12345

➡️201 OK: returns transferId

Scenario 11: Get batchId by batchTransferExternalId

GET /bab/v1/transfers/batch/12345

➡️201 OK: returns batchId