Import Batch Payments

Import Batch Payments

Import batch payment order functionality allows external systems to import only 1 batch of single payment orders per request.
In one call 1 to 1000 single payment orders of different types can be imported.

Payment Order Attribute Formats

Attribute format defines allowed character set and maximal number of characters in the attribute value.
Exclamation mark (!) means that value should contain exactly the specified number of characters; e.g.:

  • '22!S' – value should contain exactly 22 characters that correspond to 'S' charset;
  • '22S' – value can contain up to 22 characters that correspond to 'S' charset;
  • '13n.2n' – digits and decimal point: up to 13 digits before point and up to 2 digits after the point.
Format CodeAllowed Charset
nDigits: 0123456789
ACapital letters of the Latin alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
SCapital letters of the Latin alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Digits: 0123456789
Characters: / - ? : ( ) . , ` + _ * < > & SPACE
RGeorgian (Unicode, UTF-8) letters: აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰ
Lower case letters of the Latin alphabet: abcdefghijklmnopqrstuvwxyz
Capital letters of the Latin alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Digits: 0123456789
Characters: / - ? : ( ) . , ' + space

🚧

Characters < > & must be represented as:

Characters must be represented: "<" as &lt; ">" as &gt; "&"as &amp;

List Of Request Attributes In ImportpatchPaymentOrders Web Service

AttributeTypeDescription
batchPaymentRequestIdLong
19n
payment request ID. This attribute is optional; when specified, system will check whether there is already imported batch payment order with the same request ID for the same client and if yes – then the import will fail.
debitAccountIdentificationAccountIdentificationIoDebit account identification (account from which all payments in this batch will be made see section AccountIdentificationIo object )
batchNameStringName of batch
paymentOrderPaymentOrderIoList of payment orders to be processed (can be various types. see section Available payment order types)

AccountIdentificationIo Object

AttributeTypeComment
accountNumberString 34S – for creditAccount in transfer to other bank in foreign currency;
22!S – for all other cases.
Account number in IBAN format
(creditAccount in transfer to other bank in foreign currency can have different format)
accountCurrencyCodeString 3!AAccount currency code. For debitAccount
element this is MANDATORY

ImportBatchPaymentOrder Method

If the external system needs to import more than 1 batch it has to call the WS multiple times.

MethodDescriptionReturns
ImportBatchPaymentOrderList of payment orders
(can be various types)
Returns imported batch payment ID

Available Payment Order Types

Available payment order types and their XSD element equivalents:

Payment order typexsd element name
Transfer to own account - debit and credit accounts have same currency or have different currencies (currency exchange)TransferToOwnAccountPaymentOrderIo
Transfer within TBC BankTransferWithinBankPaymentOrderIo
Transfer to Other Bank in National CurrencyTransferToOtherBankNationalCurrencyPaymentOrderIo
Transfer to Other Bank in Foreign CurrencyTransferToOtherBankForeignCurrencyPaymentOrderIo
Treasury TransferTreasuryTransferPaymentOrderIo
Treasury Transfer for other person or companyTreasuryTransferPaymentOrderIo

List of request attributes in Import Single Payment

📘

NOTE

To be able to import batch payments user must be granted appropriate rights.

Example 13: Import Batch Payment Order

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:myg="http://www.mygemini.com/schemas/mygemini" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header>
      <wsse:Security>
         <wsse:UsernameToken>
            <wsse:Username>USERNAME</wsse:Username>
            <wsse:Password>PASSWORD</wsse:Password>
            <wsse:Nonce>1111</wsse:Nonce>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <myg:ImportBatchPaymentOrderRequestIo>
        <!--optional
        <myg:batchPaymentRequestId>1602114232243</myg:batchPaymentRequestId>-->
         <myg:debitAccountIdentification>
             <myg:accountNumber>GE48TB7044436080100017</myg:accountNumber>           
             <myg:accountCurrencyCode>GEL</myg:accountCurrencyCode>
         </myg:debitAccountIdentification>
         <myg:batchName>Batch import example</myg:batchName>
         <myg:paymentOrder xsi:type="myg:TransferToOwnAccountPaymentOrderIo">
            <myg:creditAccount>
               <myg:accountNumber>GE34TB0600000016467345</myg:accountNumber>
               <myg:accountCurrencyCode>GEL</myg:accountCurrencyCode>
            </myg:creditAccount>
            <myg:documentNumber>300000</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>GEL</myg:currency>
            </myg:amount>
            <myg:position>1</myg:position>
            <myg:description>Transfer to Own Account</myg:description>
         </myg:paymentOrder>
         <myg:paymentOrder xsi:type="myg:TransferToOwnAccountPaymentOrderIo">
            <myg:creditAccount>
               <myg:accountNumber>GE50TB0500000051070890</myg:accountNumber>
               <myg:accountCurrencyCode>USD</myg:accountCurrencyCode>
            </myg:creditAccount>
            <myg:documentNumber>300001</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>USD</myg:currency>
            </myg:amount>
            <myg:position>2</myg:position>
            <myg:description>Currency Exchange</myg:description>
         </myg:paymentOrder>         
         <myg:paymentOrder xsi:type="myg:TransferWithinBankPaymentOrderIo">
            <myg:creditAccount>
               <myg:accountNumber>GE72TB7630636010100004</myg:accountNumber>
            </myg:creditAccount>
            <myg:documentNumber>300002</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>GEL</myg:currency>
            </myg:amount>
            <myg:position>3</myg:position>
            <myg:additionalDescription>Transfer within TBC Bank Example</myg:additionalDescription>
            <myg:description>Transfer within TBC Bank</myg:description>
            <myg:beneficiaryName>Some Company Ltd</myg:beneficiaryName>
         </myg:paymentOrder>
         <myg:paymentOrder xsi:type="myg:TransferToOtherBankNationalCurrencyPaymentOrderIo">
            <myg:creditAccount>
               <myg:accountNumber>GE33BG0000000263255500</myg:accountNumber>
            </myg:creditAccount>
            <myg:documentNumber>300003</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>GEL</myg:currency>
            </myg:amount>
            <myg:position>4</myg:position>
            <myg:additionalDescription>Transfer to Other Bank in NC Example</myg:additionalDescription>
            <myg:description>Transfer to Other Bank in National Currency</myg:description>
            <myg:beneficiaryName>Some Company Ltd</myg:beneficiaryName>
            <myg:beneficiaryTaxCode>100200300</myg:beneficiaryTaxCode>
         </myg:paymentOrder>
         <myg:paymentOrder xsi:type="myg:TreasuryTransferPaymentOrderIo">
            <myg:documentNumber>300005</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>GEL</myg:currency>
            </myg:amount>
            <myg:position>6</myg:position>
            <myg:additionalDescription>Treasury Transfer Example</myg:additionalDescription>
            <myg:treasuryCode>100071003</myg:treasuryCode>
         </myg:paymentOrder>
        <myg:paymentOrder xsi:type="myg:TreasuryTransferPaymentOrderIo">
            <myg:documentNumber>300006</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>GEL</myg:currency>
            </myg:amount>
            <myg:position>7</myg:position>
            <myg:additionalDescription>Treasury Transfer for other Example</myg:additionalDescription>
            <myg:taxpayerCode>100200300</myg:taxpayerCode>
            <myg:taxpayerName>Other Company Ltd</myg:taxpayerName>
            <myg:treasuryCode>100071003</myg:treasuryCode>
         </myg:paymentOrder>
         <myg:paymentOrder xsi:type="myg:TransferToOtherBankForeignCurrencyPaymentOrderIo">
         <myg:creditAccount>
               <myg:accountNumber>CZ6508000000192000145399</myg:accountNumber>
            </myg:creditAccount>
            <myg:documentNumber>200004</myg:documentNumber>
            <myg:amount>
               <myg:amount>2</myg:amount>
               <myg:currency>USD</myg:currency>
            </myg:amount>
            <myg:position>5</myg:position>
            <myg:additionalDescription>TRANSFER TO OTHER BANK IN FC EXAMPLE</myg:additionalDescription>
            <myg:description>TRANSFER TO OTHER BANK IN FC</myg:description>
            <myg:beneficiaryName>SOME COMPANY LTD</myg:beneficiaryName>
            <myg:beneficiaryAddress>COUNTRY</myg:beneficiaryAddress>
            <myg:beneficiaryBankCode>MYBANKCODE</myg:beneficiaryBankCode>
            <myg:beneficiaryBankName>MY SPECIAL BANK NAME</myg:beneficiaryBankName>
            <myg:intermediaryBankCode>BDLEIT21300</myg:intermediaryBankCode>
            <myg:intermediaryBankName></myg:intermediaryBankName>
            <myg:chargeDetails>SHA</myg:chargeDetails>
         </myg:paymentOrder>
      </myg:ImportBatchPaymentOrderRequestIo>
   </soapenv:Body>
</soapenv:Envelope>

List Of Response Attributes In ImportpatchPaymentOrders Web Service

AttributeTypeComment
mygeminiBatchIdLongInternal ID of batch assigned by Bank's digital channels (Internet/Mobile banking; DBI integration service)

👍

Example 14: Success Response For ImportpatchPaymentOrders

<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:ns2="http://www.mygemini.com/schemas/mygemini">
	<SOAP-ENV:Header/>
	<SOAP-ENV:Body>
		<ns2:ImportBatchPaymentOrderResponseIo
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<ns2:mygeminiBatchId>75</ns2:mygeminiBatchId>
		</ns2:ImportBatchPaymentOrderResponseIo>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

❗️

Example 15: Error When There Is Already Imported Batch Payment Order With The Same Request ID

<s:Envelope
	xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
	<s:Header/>
	<s:Body>
		<s:Fault>
			<faultcode
				xmlns:a="http://www.mygemini.com/schemas/mygemini">a:DUPLICATED_BATCH_PAYMENT_REQUEST
			</faultcode>
			<faultstring xml:lang="en">There is already imported batch payment order with the same request ID ('1602114232243') for the same client.</faultstring>
		</s:Fault>
	</s:Body>
</s:Envelope>