Server Automation Scripts
Within the Innovation Studio, there are server scripts that execute several actions, which embody a business need such as: checking the database, setting the flow status, returning details and validating payments. On-demand automation scripts are called from any object or context. Here is a list of the scripts used in this solution.
This script confirms the existence of funds.
Input: string IBAN; currency; value.
Output: CorebankingFundsAvailablity.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AccountConfirmationOfFunds', {
iban: 'InsertIBAN',
currency: 'BGN',
value: '200'
}).then(function(e) {
console.log(e)
})This script returns the Core Banking ID of a customer. It is used in custom user journey named FTOS_IB_Search_CB in afterGenerate.js
Input: var A from entity Account, AE from entity FTOS_IB_AccountExt.
Output: var rows.
Based on the transactionId, this script returns the transaction details called with ID. The Id is mapped from the Accounts_AcquireTransactionList response. The response is kept in session storage, and displayed to the user based on the mapping. It is used in in the custom user journey named FTOS_IB_FO_AccountDetails in afterGenerate.js and in the custom user journey named FTOS_IB_FO_TransactionHistory in afterGenerate.js.
Input: var transactionId; accounts;
Output: balanceAfterCurrencyID; balanceAfterValue; balanceBeginDateAfterCurrencyId; balanceBeginDateValue; bookingType; bookingDay; creditorAccountNumber; creditorName; currencyRate; debitorAccountNumber; debitorName; document; paymentType; registrationDate; remittanceInformation; transactionAmountCurrencyId; transactionAmountLocalCurrencyID; transcationAmountLocalValue; transactionAmountValue; transactionId; transactionStatus; transcationStatusCode; transactionTypeName; transactionTypeValue; valueDate.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AccountsAcquireTransactionDetails', {
transactionId: '341'
}).then(function(e) {
console.log(e)
})This script returns the transaction list based on the filters set by the user of Online and Mobile Banking. The response is kept in session storage, and displayed to the user based on the mapping. It is used in custom user journey named FTOS_IB_FO_AccountDetails in afterGenerate.js and in the custom user journey named FTOS_IB_FO_TransactionHistory in afterGenerate.js.
Input: iban; dateFrom; dateTo; noTransactions; bookingTypeFilter; transactionStatus.
Output: balanceAfterCurrencyID; balanceAfterValue; balanceBeginDateAfterCurrencyId; balanceBeginDateValue; bookingType; correspondanteName; paymentBookingDate; status; statusCode; transactionAmountInAccountCurrency; transactionCurrencyIdInAccountCurrency; transactionId; valueDate.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AccountsAcquireTransactionList', {
iban: 'BG97T',
dateFrom: '2019-05-31T15:16:31.752Z',
dateTo: '2019-05-31T15:16:31.752Z',
noTransactions: '5',
bookingTypeFilter: 'Debit',
transactionStatus: ''
}).then(function(e) {
console.log(e)
})This script retrieves the list of all transactions with all the details.
Input: iban; dateFrom; dateTo; noTransactions; bookingTypeFilter; transactionStatus.
Output: balanceAfterCurrencyID; balanceAfterValue; balanceBeginDateAfterCurrencyId; balanceBeginDateValue; bookingType; correspondanteName; paymentBookingDate; status; statusCode; transactionAmountInAccountCurrency; transactionCurrencyIdInAccountCurrency; transactionId; valueDate.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AccountsAcquireTransactionListXData', {
iban: 'BG345678',
dateFrom: '2019-05-31T15:16:31.752Z',
dateTo: '2019-05-31T15:16:31.752Z',
noTransactions: '5',
bookingTypeFilter: 'Debit',
transactionStatus: ''
}).then(function(e) {
console.log(e)
})This script returns the data of an account.
Input: var identificationType; identificationValue.
Output: if statement response.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AcquireAccountDetailedData', {
iban: 'InsertIBAN'
}).then(function(e) {
console.log(e)
})This script retrieves the account details. It is used in the form driven flow named FTOS_IB_Payment, in the step ConfirmSendToOrderList in afterGenerate.js.
Input: string iban.
Output: accountNo; accountTypeId; activeDebitCards; actualBalanceCurrencyId; actualBalanceValue; actualBalance; balanceTimestamp; bankCode; bankId; bankName; blockAmountCurrencyId; blockAmountValue; coreBankingProductTypeCode; coreBankingProductTypeid; currencyId; currencyValue; frozen; iban; isActive; openDate; productCurrencyId; productId; productTemplateName; productTemplateValue.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_AcquireAccountSummaryData', {
iban: 'BG9345678'
}).then(function(e) {
console.log(e)
})It runs at every 5 minutes, getting only the payments that have the status SentToCorebanking, get the corebanking ids for each of the payments retrieved above and then send them to the aggregator function, and finally, for each of the payments, updates the status in FTOS_IB_Payment and FTOS_IB_PaymentsQueue.
Input: paymentStatusId, corebankingId, paymentId, queuePaymentId.
Output: businessStatusId
This script adds the currency on entity UserxCustomer. It is used in the form driven flow FTOS_IB_UserXCustomer in Step1 in afterGenerate.js.
Input: var UserXCustomer; UserXBankAccount; BankAccount; Bank; SecurityProfilesid; Currency.
Output: string defaultCurrencyBank.
This script sets the currency for the security limit of a user. It is used in the form driven flow FTOS_IB_UserSecurityLimit in Step1 in afterGenerate.js.
Input: var SecurityProfilesid; UserSecurityLimit; Currency.
Output: string currencyDetails
It is used for the login the application.
Input: const requestId.
Output: object response.
This script checks the status of the database.
Input: const requestId.
Output: object response.
This script is called from the FTOS_IB_AuthorizationFlow client script library (library called from the FTOS_IB_Payment form driven flow, step name ReviewPayment in After Events). It updates the payment status, and it records in the entity FTOS_IB_PaymentExt whether or not the payment is in the case of an authorization exception.
Input: paymentId; status; requiredSCA.
Output: Boolean value.
This script updates the corresponding UserxBankAccounts only if BankAccount is inactivated and sets expired bank account to inactive. It is used in the entity FTOS_IB_BankAccount, in entity form named default in afterGenerate.js.
Input: var BankAccount; UserBankAccount
Output: if statement sets Boolean is Active to false for expired bank accounts.
This script returns the list of bulk payments.
Input: const customerId.
Ouput: object result.
This script update the business status for each massPaymentID from the status Authorized to
Registered > Sent
Posted > Successful
Partially Posted > Rejected Core.
Input: var BLF; var bws; var ops; const PA.
Output: property result.
This script checks if the rule is locked for the signature of a payment and how many people have signed already the payment and sets the status of the payment.
Input: const ah; const recordId; let nextStatusName; const signatureData.
Ouput: requestAuthResponse.
This script checks the number of users to sign the bulk payment.
Input: const systemUserId; const recordId; const ah.
Output: sets the navigation to the step of the journey depending on the outcome.
This script checks the OTP code inserted and the maximum number of retries. If the maximum number has been reached, the system rejects the payment.
Input: var rejectReason.
Output: sets the page to reload depending on the outcome.
This script calculates the fees for a payment based on the input values. It is used in Transferring Money. It calls the FTOS_IB_Fees library depending on schemaType parameter.
Input: var schemaType; transferType; paymentSystem; debtorAccountNumber; amountCurrency; amountValue; creditorAccountNumber; paymentRings; creditorAgent; expensesType; valorType.
Output: return the list of custom objects
Example for calling
ebs.callActionByNameAsync('FTOS_IB_CalculateFees', {
schemaType: 'A01',
countrySpecificSchema: 'SEPA',
debtorAccountNumber: 'InsertIBAN',
amountCurrency: 'EUR',
amountValue: '20',
creditorAccountNumber: 'InsertIBAN',
creditorAgent: 'PO2',
valorType: '',
expensesType: 'SHA'
}).then(function(e) {
console.log(e)
})This script calculates what to display in the field flow status depending on what is the status in the entities FTOS_IB_UserXCustomer, FTOS_IB_UserXBankAccount and FTOS_IB_SignEngRule. Additionally, it decides whether or not to display the buttons Pick Up and Approve & Activate.
Input: var UC; UBA; SER.
Output: var output.
This script changes the business status.
Input: const id; const canceledStatusId.
Output: changes the status.
This script set the status of the payment depending on the page number. It is used in the script FTOS_IB_ChangeBusinessStatusParametrized.
Input: if statement: if page number is 1, then the status is Initialized; else status is AuthorizationRequired.
Output: N/A, sets business status.
This script
Input: N/A
Output: N/A
This script checks the structure of the password inserted in the process of Online and Mobile Banking Application.
Input: const currentSystemUserId; const oldPassword.
Output: N/A
This script is used for utility payments. When the check bill button is clicked, it returns the due date and amount. It is used to obtain the obligation to a merchant of a subscriber who identifies with SUBSCR_NUMBER .
Input: var checkBillResponse
Output: var checkBillResponse
Example for calling
ebs.callActionByNameAsync('FTOS_IB_EasyPay_CheckBill', {
merchantId: "0",
subscriberNo: "1"
}).then(function(e) {
console.log(e)
})This script checks the payments queue.
Input: var paymentQueueId; var paymentQueue; var rowPaymentQueue.
Output: response.
Calling example
ebs.callActionByNameAsync('FTOS_IB_CreateAndConfirmPayment', {
paymentQueueId: "3BD6"
}).then(function(e) {
console.log(e)
})This script checks the bill which has been blocked. It is used in Utility Payments.
Input: var utilityServiceProvider; subscr_number; transactionId; dt; checkBlockBillResponse.
Output: var checkBlockBillResponse.
This script returns the existence or not of a relationship between User and Customer.
Input: var customerId; IbUserId.
Output: boolean uxcExists true-false of the existance of the relationship.
This scrip checks the IBAN to have a certain structure.
Input: var B; I;
Output: array result.
This script checks to see if the contract already exists in the database of the utility payments contracts.
Input: var UtilityPaymentContract.
Output: Boolean value
This script checks that the invoice is not blocked by another user.
Input: string Utility3rdProviderBankAccount, Utility3rdPartyPaymentProvider, UtilityPaymentContract, UtilityPaymentService, UtilityPaymentServiceProvider, UtilityServiceProvider.
Output: N/A
This script checks to see if there is a rule for signing the payment.
Input: var list1Id; var list2Id; var list3Id; var list4Id; var bankAccountId; var transactionTypeId; var customerId.
Output: var result.
This script is triggered when a user accesses the review payment screen. It checks whether or not the user can sign the payment.
Input: const systemUserId; const recordId; const entityName; const status.
Output: const ok.
This script returns if the username is already taken by another user of Online and Mobile Banking.
Input: var searchUsername; Users.
Output: Boolean true, username is already taken, false, username is not taken by someone else.
This script in the Make a Payment screen checks to see if the input template name already exists in the database.
Input: object tplExists, const paymentTemplate; const contactTemplate; const customerId.
Output: object tplExists.
This script checks the username and its correspondence with the Core Banking ID.
Input: var username; coreBankingId, IbUsers.
Output: if statement: Boolean userExists true, user exists, false, user does not exist.
This script checks the UserxCustomer liaison by checking if the user has document number and personalId and if the user is already associated to the customer. It is used in the form driven flow FTOS_IB_UserXCustomer, in Step1 in afterGenerate.js
Input: var userId; customerId; pin; documentNo.
Output: Boolean uxcExistsId; uxcHasPin; uxcHasDocNo.
This script is used to generate the Dashboard Client Report.
Input: const transactions.
Output: object data.
This script checks if the execution date of the payment is not yet passed (based on the banking date received from API for System_ AcquireServerStatus and the cut-off already calculated and stored in the FTOS_PaymentExt cutOff). If the cut off for the execution date of the payment is passed then, the system checks the system parameter if ='YES', then the system updates FTOS_IB_Payment executionDate to currentdate. Initial Execution date remains logged in the FTOS_IB_PaymentExt attrribute initialExecutionDate.
Input: let isAuthorizable; const executionDateTime; const executionCutoffDateTime.
Output: isAuthorizable.
This script is used when the user signs for the contract.
Input: const systemUserId; const contractId; const ah.
Output: N/A
This script is used to reject the user if they have inserted the wrong code too many times.
Input: const rejectReason; const recordId.
Output: N/A
The script receives an amount and currency pair (parameters amount and fromCurrency) and a desired currency (toCurrency) in which the amount should be converted.
Input: const amount; const fromCurrency; const toCurrency.
Output: sets the first element from the object result equals to rate * amont.
This script searches for the customers. It is used in the form driven flow FTOS_IBCORE_Customer, in Step1 in afterGenerate.js
Input: var customerName; customerIdCB; pin; companyRegNo; mobilePhone; iban;
Output: var uniqueCustomers.
This script gets the user details. It is used in the Custom User Journey named FTOS_IB_CB_AddUsersFrom in afterGenerate.js and in the automation script FTOS_IB_getUserDetails.js and in the form driven flow FTOS_IB_Users, in Step 2 in afterGenerate.js
Input: var Account; AccountExt; SystemUser;
Output: array result.
This script seraches in the entity Account the users. It is used in the custom journeys named FTOS_IB_CB_AddUsersFrom in afterGenerate.js and in the form driven flow FTOS_IB_Users in Step1 in afterGenerate.js.
Input: var customerName; customerIdCB; pin.
Output: local var rowsF.
This script creates a payment.
Input: const payerAccount; payerFullName; payerAddress; debtorPhoneNumber; currency; totalPaymentDebit; organisationCode; beneficiaryBankName; creditorAccountNumberType; beneficiaryIBANAccount; beneficiaryName; beneficiaryAddress; beneficiaryCountry; paymentSystem; paymentReason; detailsOfcharges; valorType; FTOS_IB_PaymentExtid;
Output: if statement
Example for calling
ebs.callActionByNameAsync('FTOS_IB_CreateAndConfirmCurrencyTransfer', {
payerAccount: "InsertIBAN",
payerFirstName: "ime",
payerLastName: "test",
payerAddress: "",
debtorPhoneNumber: "",
currency: "EUR",
totalPaymentDebit: "160",
organisationCode: "",
beneficiaryBankName: "",
creditorAccountNumberType: "IBAN",
beneficiaryIBANAccount: "InsertIBAN",
beneficiaryName: "test",
beneficiaryAddress: "street",
beneficiaryCountry: "",
paymentSystem: "",
paymentReason: "contract 15",
detailsOfcharges: "",
valorType: "",
FTOS_IB_PaymentExtid: "1165"
}).then(function(e) {
console.log(e)
})
Mapped answer
let transactionStatus = null;
let ftosTransactionStatus = null;
switch (confirmation.transcationStatus) {
case "ACSC":
transactionStatus = "Transaction is in settlement";
ftosTransactionStatus = "SentToCorebanking"
break;
case "ASCP":
transactionStatus = "Transaction is booked";
ftosTransactionStatus = "Executed";
break;
case "PDGN":
transactionStatus = "Transaction is pending";
ftosTransactionStatus = "SentToCorebanking";
break;
case "CANC":
transactionStatus = "Transaction is canceled";
ftosTransactionStatus = "Rejected";
break;
}
let itemToPush = {
transactionId: confirmation.transsactionID
, currencyIdAccountBalance: confirmation.currencyIdAccountBalance
, valueAccountBalance: confirmation.valueAccountBalance
, paymentExecutionDate: confirmation.paymentExecutionDate
, transactionStatusCode: confirmation.transactionStatus
, paymentStatus: ftosTransactionStatus
}
returnArray.push(itemToPush);This script is responsible for the anonymization of the data for GDPR reasons, the records in FTOS_IB_UserXCustomer with the status Inactive that are older than fives years (the value is returned by ) are anonymized by the system automatically. It creates a request with the requestNo having the prefix ''Automated Request'' followed by the date. The records are anonymized by the system based on a rule used by the scheduled job.
Input: contextName; GDPR; Account; and GDPR User;
Output: anonymization of data
This script creates a payment from a template.
Input: const customerId; templateId.
Output: string paymentId.
This script creates the system user.
Input: var SystemUserTypeAlias; SecurityRoleAlias.
Output: var userName.
This script gets the customer based on the Id.
Input: var id; Customer.
Output: array rows.
This script inserts accounts for legal persons in the system.
Input: var coreId; var name; var email; var mobilePhone; var regNo; var pin.
Output: sets the customerId to accountIdInsert.
This script creates a new business unit with the name from account. The business unit has the parent root. In Account, it searches for the business unit, sets its id and updates in the entity Account the businessunitid.
Input: var coreId; name; email; mobilePhone; regNo; pin;
Output: string customerId.
This script deletes the bulk files based on the Id.
Input: const id.
Output: updates isDeleted to true.
This script deletes the utility contract
Input: const contractId.
Output: delete contract.
This script changes the business status of a template.
Input: var id; businessStatusID.
Output: N/A
This script deletes the utility payment contract. Ff there is no id, delete by id the template.
Input: var id.
Output: N/A
This script displays the settlement type for Euro payments.
Input: const param.
Output: N/A
This script downloads the file on the local drive.
Input: N/A
Output: N/A
This script logs a message Am trimis email.
Input: N/A
Output: N/A
This script sends the email with the welcome message.
Input: N/A
Output: N/A
This script returns whether or not a country is part of European Union.
Input: const BNI; const C; const CE; let res; const countryCodeParam.
Output: res.
This script calculates the fees for a foreign currency transfer. It is used in the server automation script library named FTOS_IB_Fees.
Input: const paymentSystem; debtorAccountNumber; amountCurrency; amountValue; creditorAccountNumber; creditorAgent; valorType; expensesType;
Output: currencyId; value.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_FeesCalculateForeignCurrencyTransferFee', {
paymentSystem: 'SEPA',
debtorAccountNumber: 'BG91T456789',
amountCurrency: 'EUR',
amountValue: '20',
creditorAccountNumber: 'IT08',
creditorAgent: 'POSOIT22',
valorType: '',
expensesType: 'SHA'
}).then(function(e) {
console.log(e)
})This script calculates the fees for a local currency transfer. It is used in the server automation script library named FTOS_IB_Fees.
Input: const paymentSystem; debtorAccountNumber; amountCurrency; amountValue; creditorAccountNumber; creditorAgent; valorType; expensesType;
Output: currencyId; value.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_FeesCalculateLocalCurrencyTransferFee', {
transferType: 'CreditTransfer',
debtorAccountNumber: 'InsertIBAN',
amountCurrency: 'BGN',
amountValue: '200',
creditorAccountNumber: 'InsertIBAN',
paymentRings: 'false'
}).then(function(e) {
console.log(e)
})This script searches for a record based on the cutsomerId and their flow status.
Input: var E.
Output: if statement
This script displays the account details. It is used in the custom user journeys named FTOS_IB_FO_AccountDetails.
Input: var iba; ibx; uxc; ibu; uxt; tt; crr; bp; bpc.
Output: array res.
This script displays the bank account data. The values are hard-coded.
Input: var data .
Output: var data.
This script sets the colors of the UI based on the system aparmeter.
Input: const whiteLabelSysParam.
Output: N/A
This script gets the list of accounts with their balances. It is used in the custom user journey named FTOS_IB_FO_AccountDetails in afterGenerate.js.
Input: var userId; iba; ibx; uxc; ibu; uxt; tt; crr.
Output: if statement: array accountDetails or array final.
This script sets the colors of the UI based on the system aparmeter.
Input: const whiteLabelSysParam.
Output: N/A
This script outputs the list of loans in the homepage.
Input: let rows.
Output: object final.
This scrip displays the information about the bank accounts & user. It displays the data about the user logged in and it converts the balance in local currency.
Input: N/A.
Output: array final.
This script gets the system parameter value.
Input: N/A
Output: N/A
This script gets the currencies with FCYPaymentAllowed = true and the local currency. In case the local currency has FCYPaymentAllowed = false, it is subsequently added to the array which fills in the currency drop-down.
Input: const CE.
Output: allowedCurrencies; lcy.
This script creates the transaction number using the sequencer.
Input: var transactionId.
Output: var transactionId.
This script returns the currencies allowed for transactions.
Input: var CE; P; PC.
Output: array allowedCurrencies.
This script gets the status for UserxCustomer, User Bank Account, Signature Engine Rules Users and updates the statuses. It is used in the journey Account in Step2 in afterGenerate.js.
Input: var UC; UBA; SER; U.
Output: array updated.
This script gets the bank account details. It is used in the form driven floe named FTOS_IB_Payment in the step MakePayment in afterGenerate.js.
Input: var iban; BA; A; C; P.
Output: array result.
This script returns the bank account for the customer.
Input: var BA;
Output: array customerBankAccounts.
This script returns the bank from the BIC code.
Input: var B;
Output: array rows.
This scrip returns the bank from the IBAN code. It is used in the default entity form testv in afterGenerate.js. It is used each time a change is made on the Make a payment screen.
Input: var I;
Output: array rows.
This script displays a message based on the status of the bulk file.
Input: const recordId.
Output: N/A
This script
Input:
Output:
The script returns the bulk files payments.
Input: var BF;
Output: const bulkFiles.
This script returns the confirmation message for a payment. The confirmation screen of a payment displays different messages according to different scenarios. This script calculates the message which should be displayed. The payment status is Authorized and is ready to be handled by the queuing process. However, an exception to this rule would be the instant payments (Local Currency Instant, SEPA Instant). It is used in the journey FTOS_IB_Payment in the step ConfirmPayment in afterGenerate.js and in the journey FTOS_IB_Payment in the step ConfirmSendToOrderList in afterGenerate.js.
Input: const paymentId; P; PT; CE; PE.
Output: N/A
This script returns the currency for the Review payment screen. It is used in the journey FTOS_IB_Payment in the step ReviewPayment in afterGenerate.js.
Input: const P; C; A; B; var I;
Output: array result.
This scrip displays the current user’s data.
Input: var U; UBA; UC; UTT; BATT; BA; C; A; AT; AC.
Output: array rows.
This script returns the companies for a user. It is used in the journey named FTOS_IB_UtilityPaymentContract in the step Temporary - SelectCustomer in afterGenerate.js.
Input: var U; UC; A; AE; BA.
Output: array companies.
This script is used to return the business unit of a customer based on the statuses Active and ToBeInactivated.
Input: var U; var UC; var A; var AE; var businessUnitId.
Output: object rows.
A script that returns the CustomerId when you feed it the IBAN account.
Input: var iban; var BA.
Output: var customerId.
This script returns the customers based on the entity Account.
Input: const name.
Output: object customers.
This script returns the difference between the date as evaluated in the UTC time zone, and the date as evaluated in the local time zone.
Input: N/A
Output: var result.
This script returns the document types. It is used in the journey named FTOS_IB_Payment in the step MakePayment in afterGenerate.js.
Input: var D;
Output: array rows
This script calls the .
Input: N/A
Output: N/A
This script calls the .
Input: N/A
Output: N/A
This script returns the currencies for the transaction.
Input: const name; const C.
Output: object currencies.
The script receives the currency grid as an input and returns the corresponding code in order to display the commission currencies.
Input: const name; const C.
Output: object result.
This script returns the exchange rate from a currency to local currency. It is called the FTOS_IB_MakePayment client library, when checking the available balance for instant payments. Both currencies are passed as parameters, because the front-office only knows the local currency code as a system parameter and the id is received when loading the Make a payment screen. It is used in the Client Script Libraries FTOS_IB_MakePayment in code.js and in the journey FTOS_IB_Payment in the step MakePayment in afterGenerate.js.
Input: const localCurrencyId; currencyId;
Output: const rate.
This script returns the exchange rates.
Input: var ER; CU;
Output: array exRates.
This script calls the system parameter FTOS_IB_GetFXPaymentReason.
Input: N/A
Output: N/A
The script gets the ibUserId with the same personal identification number.
Input: var ibUserId;
Output: array result.
Result
{
"loans_AcquireLoanSummaryDataResponse": {
"loans_AcquireLoanSummaryDataResult": {
"header": {
"requestID": "12",
"requestResult": "Success",
"errorData": {
"error": "",
"errorMessage": ""
}
},
"productID": "11",
"contractNumber": "70",
"productTemplateID": {
"value": 1,
"name": "Test"
},
"contractDescription": {
"value": 12,
"name": "Test"
},
"currency": "BGN",
"mainCustomerCode": "31",
"status": "Approved",
"branch": {
"value": 216,
"name": "Test"
},
"contractDate": "2021-01-04T00:00:00",
"openDate": "2021-01-04T00:00:00",
"openingAmount": {
"currency": "BGN",
"value": 17
},
"loanAmount": {
"currency": "BGN",
"value": 17
},
"loanPurpose": {
"value": 10,
"name": "Test"
},
"approveDate": "2021-01-04T00:00:00",
"PayoffAccounts": [
{
"type": "CurrentAccount",
"accountNumber": "BG034567",
"accountCurrency": "BGN"
}
],
"installmentDay": 5,
"ovеrdueAmount": {
"currency": "BGN",
"value": 18
},
"nextInstallmentDate": "2021-07-05T00:00:00",
"nextInstallmentAmount": {
"currency": "BGN",
"value": 18
},
"fee": {
"currency": "BGN",
"value": 0
},
"dueAmount": {
"currency": "BGN",
"value": 36
},
"interestBase": "360/360",
"BasicInterestRatesData": [
{
"type": "RegularCapital",
"interestRate": 4
},
{
"type": "OverdueCapital",
"interestRate": 50
},
{
"type": "OverdueInterestForRegularCapital",
"interestRate": 10
},
{
"type": "OverdueTaxes",
"interestRate": 10
}
],
"gracePeriodBegin": "0001-01-01T00:00:00",
"balance": {
"currency": "BGN",
"value": 1106
},
"availableAmount": {
"currency": "BGN",
"value": 0
},
"regularPrincipalInterestAmount": {
"currency": "BGN",
"value": 25.13
},
"overduePrincipalAmount": {
"currency": "BGN",
"value": 136
},
"overdueInterestAmount": {
"currency": "BGN",
"value": 42.4
},
"overdueFeesAmount": {
"currency": "BGN",
"value": 0
},
"lastPaymentDate": "2021-04-19T00:00:00",
"disbursedAmount": {
"currency": "BGN",
"value": 17
},
"payedInstallmentsCount": 5,
"remainInstallmentsCount": 7,
"installmentNumber": 12,
"payableAmount": {
"currency": "BGN",
"value": 13
},
"delayDaysCount": 20,
"overduePrincipalDate": "2021-06-05T00:00:00",
"overdueInterestDate": "2021-06-05T00:00:00",
"repaymentScheduleType": "AnnuityInstallment",
"repaymentEndDate": "2022-01-05T00:00:00",
"insurance": false,
"propertyInsurance": false
}
}
}This script gets the .
Input: N/A
Output: var result.
This script returns the list of loans with details.
Input: const productId
Output:
Example for calling
ebs.callActionByNameAsync('FTOS_IB_GetLoanDetails', {
productId: "11"
}).then(function(e) {
console.log(e)
})Result
{
"loans_AcquireLoanSummaryDataResponse": {
"loans_AcquireLoanSummaryDataResult": {
"header": {
"requestID": "12",
"requestResult": "Success",
"errorData": {
"error": "",
"errorMessage": ""
}
},
"productID": "11",
"contractNumber": "7",
"productTemplateID": {
"value": 1062,
"name": "Test"
},
"contractDescription": {
"value": 121,
"name": "Test Test"
},
"currency": "BGN",
"mainCustomerCode": "31",
"status": "Approved",
"branch": {
"value": 216,
"name": "Test"
},
"contractDate": "2021-01-04T00:00:00",
"openDate": "2021-01-04T00:00:00",
"openingAmount": {
"currency": "BGN",
"value": 17
},
"loanAmount": {
"currency": "BGN",
"value": 17
},
"loanPurpose": {
"value": 101,
"name": "Test"
},
"approveDate": "2021-01-04T00:00:00",
"PayoffAccounts": [
{
"type": "CurrentAccount",
"accountNumber": "12345",
"accountCurrency": "BGN"
}
],
"installmentDay": 5,
"ovеrdueAmount": {
"currency": "BGN",
"value": 180.26
},
"nextInstallmentDate": "2021-07-05T00:00:00",
"nextInstallmentAmount": {
"currency": "BGN",
"value": 18
},
"fee": {
"currency": "BGN",
"value": 0
},
"dueAmount": {
"currency": "BGN",
"value": 36
},
"interestBase": "360/360",
"BasicInterestRatesData": [
{
"type": "RegularCapital",
"interestRate": 40
},
{
"type": "OverdueCapital",
"interestRate": 50
},
{
"type": "OverdueInterestForRegularCapital",
"interestRate": 10
},
{
"type": "OverdueTaxes",
"interestRate": 10
}
],
"gracePeriodBegin": "0001-01-01T00:00:00",
"balance": {
"currency": "BGN",
"value": 110
},
"availableAmount": {
"currency": "BGN",
"value": 0
},
"regularPrincipalInterestAmount": {
"currency": "BGN",
"value": 25.13
},
"overduePrincipalAmount": {
"currency": "BGN",
"value": 13
},
"overdueInterestAmount": {
"currency": "BGN",
"value": 4
},
"overdueFeesAmount": {
"currency": "BGN",
"value": 0
},
"lastPaymentDate": "2021-04-19T00:00:00",
"disbursedAmount": {
"currency": "BGN",
"value": 175
},
"payedInstallmentsCount": 5,
"remainInstallmentsCount": 7,
"installmentNumber": 12,
"payableAmount": {
"currency": "BGN",
"value": 131
},
"delayDaysCount": 20,
"overduePrincipalDate": "2021-06-05T00:00:00",
"overdueInterestDate": "2021-06-05T00:00:00",
"repaymentScheduleType": "AnnuityInstallment",
"repaymentEndDate": "2022-01-05T00:00:00",
"insurance": false,
"propertyInsurance": false
}
}
}This script returns the list with loans. It is used in the Html Widget named FTOS_IB_FO_TotalBalance in afterGenerate.js, in the journey named Account in Step2 in afterGenerate.js and in the journey FTOS_IB_Payment in the step ConfirmSendToOrderList in afterGenerate.js.
Input: const pin.
Output: if statement.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_GetLoanList', {
pin: "731"
}).then(function(e) {
console.log(e)
})This script compares the data from the database and the response from the API. It inactivates the loans which are in the database, but not in the API response and it updates the database if the information coming from the API is different. It is used in the Html Widget named FTOS_IB_FO_TotalBalance in afterGenerate.js, the journeyAccount in Step2 in afterGenerate.js and in the journey FTOS_IB_Payment/User Journeys in the step ConfirmSendToOrderList in afterGenerate.js.
Input: const pin; const customerId; var BA; var A; var P;
Output: array dbResponse.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_GetLoanListDetails', {
pin: "731"
}).then(function(e) {
console.log(e)
})This script is used to calculate the days when a user can make a payment based on the non-working days, the cut-off date and the current hour.
Input: const schemaTypeCode.
Output: min; max.
This script maps the security role to the system user. It is used in the journeys Account in Step2 in afterGenerate.js and in Step3 in afterGenerate.js, in FTOS_IB_SignEngRule in Step1 in afterGenerate.js and in FTOS_IB_UserXCustomer in Step1 in afterGenerate.js
Input: var SSR; SR;
Output: var roles.
A user is redirected to the ConfirmSendToOrderList page in the FTOS_IB_Payment form when they cannot sign a payment, where there is a default message set to be displayed. In case no approvers have been identified, this script sends a message to replace the default message.
Input: const recordId; const entityName.
Output: const noApproversMsg.
This script gets the details from the entity FTOS_DPA_MessageQueue.
Input: const recordId.
Output: N/A
This script gets the
Input: N/A
Output: N/A
This is the endpoint to get data from the entity FTOS_IB_ParticipantBanksSchemas, depending on the BIC sent as parameter. If there is not parameter being sent, it synchronizes data for all entities.
Input: N/A
Output: object updateItem.
This script get the values of the .
Input: N/A
Output: result.
This script returns the payment categories depending on the payment schema.
Input: PC; P;
Output: array rows.
The script retrieves the payment details that are displayed in the screen and that are used to assign the code to this particular payment. This script is used for Operation Authorization, called from the FTOS_IB_PaymentDynamicLinking custom flow.
Input: const paymentId; var P; var C;
Output: array operation.
This script is gets the length of a field for each type of payment schema. It is used in the Client Script Library named FTOS_IB_MakePayment. It is called each time a change is made in the Make a payment screen.
Input: var F; P; C; ATTR;
Output: array rows.
This script retrieves the payments of a user for a certain customer. It is used in the html widget named FTOS_IB_FO_Transactions in afterGenerate.js and in the custom journey named FTOS_IB_FO_ListOfOrders in afterGenerate.js (in List of Orders and Multiple Authorizations) and in the journey named FTOS_IB_Payment in the step Temporary_OrderListin afterGenerate.js.
Input: const customerId; const userId; var searchText;
Output: array mappedResult2.
This script gets the payment type by its id. It is used in Client Script Library named FTOS_IB_AuthorizationFlow in code.js.
Input: const type; const PT.
Output: array rows.
This script renders the payment types.
Input: const PT.
Output: array rows.
This script retrieves the purpose of payment based on the payment schema. It is used in Client Script Library named FTOS_IB_MakePaymen in code.js.
Input: var PP; P;
Output: rows array.
This script retrieves the payment name in the Review Payment screen. It is used in the journey FTOS_IB_Payment in the step ReviewPayment in afterGenerate.js.
Input: var P;
Output: array rows.
This script retrieve the services and providers for the utility payments. It is used in the journey FTOS_IB_UtilityPaymentContract in Step1 in afterGenerate.js and in the journey FTOS_IB_UtilityPaymentTransaction in the step makePayment in afterGenerate.js.
Input: var serviceId;
Output: array services.
This script generates a suggestion for the payment and beneficiary templates. It is used in the journey FTOS_IB_Payment in the step MakePayment in afterGenerate.js.
Input: N/A
Output: String paymentSuggestion.
This script searches for the active templates. It is used in the data form FTOS_IB_CustomerTemplates for the entity Account in afterGenerate.js and in the journey FTOS_IB_Payment in the step MakePayment in afterGenerate.js
Input: const customerId; const search;
Output: array rows.
This script retrieves the list of templates for payments and beneficiary. A parameter (filters) is passed that is of type object { type: String!, searchText: String } which allows to get only the desired results. The inactiveBusinessStatusId is used for comparison in order to find out whether or not to display a warning when user tries to create a payment from an Inactive template. It is used in the data form FTOS_IB_CustomerTemplates for the entity Account in afterGenerate.js.
Input: const customerId; const filters; const searchText.
Output: array rows.
This script evaluates the size of the file of bulk payments.
Input: var file; var size;
Output: if statement: if the size is bigger than 5000000, it is moved to trash, else the system gets the file content.
This script retrieves for the type of rule authorizer the default value.
Input: const TR.
Output: array id.
This script gets the system parameter named FTOS_IB_afterUserMigrationURL that holds the link to the front-office environment.
Input: N/A
Output: N/A
To be done.
based on the userId, the system gets the associated customers and other users with the same Personal Id number and associates those customers to the users with the same Personal ID number and then gets the user details.
Input: var personalID.
Output: array result.
This script returns the users enrollments from the entity FTOS_IB_UsersEnrollment.
Input: array returnList
Output: array returnList
This joins the users, transaction types and the accounts.
Input: var customerId; var currentUserId;
Output: array result.
This script gets the utility contracts. It is used in FTOS_IB_Payment in the step Temporary_OrderList in afterGenerate.js and in the journey FTOS_IB_Payment in the step Temporary_UtilityContracts in afterGenerate.js
Input: string customerId
Output: array mappedResult.
This script loads a page from an entity form. It is used in the journey FTOS_IB_SignEngRule in Step1 in afterGenerate.js and in the journey FTOS_IB_UserXCustomer in Step1 in afterGenerate.js.
Input: var formName, sectionName, entityName, recordId.
Output: string url.
This script executes checks for the particular user which is logged in:
- if the user has access to the payer account
- if the user has the transaction type "Account Balance & Details" for the payer account
- if the user has the transaction type required by the payment type for the payer account
- if the user has the "Authorizer" role within the customer
- if the corresponding limits are greater (converted into local currency) than the payment amount (converted into local currency).
It is used in FTOS_IB_Payment form in Step3 named Review Payment to check if the current user has perimission to authorize a certain payment. It is called in the Client Script Library named FTOS_IB_AuthorizationFlow in code.js, which is then used in: the entity form FTOS_IB_Payment from the entity FTOS_IB_Payment for in afterGenerate.js, in the journey FTOS_IB_Payment in the step SCA afterGenerate.js and in the entity form named FTOS_IB_UtilityPaymentTransaction for the entity named FTOS_IB_UtilityPaymentTransaction in afterGenerate.js.
Input: const entityData; const systemUserId ;
Output: N/A
This script inactivates a user from the entity Account for the customers with the attribute isActive set to false. It is used in the journey Account in Step1 in afterGenerate.js.
Input: var Customers, AE.
Output: array rows.
This sets the limit profile for a user. It is used in the journey FTOS_IB_UserXCustomer in Step1 in afterGenerate.js.
Input: var SecurityProfilesid.
Output: N/A
This script checks to see if the IBAN matches the Bulgarian IBAN structure and if the payment is budget. It is called in the Client Script Library named FTOS_IB_MakePayment in code.js. This library is then used in the entity form FTOS_IB_Payment for the entity FTOS_IB_Payment in afterGenerate.js.
Input: var bgPayment; var iban; var localCurrency; var currencyCode; var cc;
Output: array bgPayment.
This script joins some data from the entities FTOS_IB_Mailbox_IN_Messages and FTOS_IB_Users.
It is used in the entity form named accountInsertForm from the entity Account in template.html and in the entity form named default from the entity FTOS_IB_Mailbox_IN_Messages in template.html and in the entity form named default from the entity FTOS_IB_MailboxCategories in template.html and in the entity form named default from the entity FTOS_IB_Users in template.html.
Input: array returnList.
Output: array returnList.
This script joins some data from the entities FTOS_IB_Users with FTOS_IB_Mailbox_OUT_Messages.
It is used in the entity form named accountInsertForm for the entity FTOS_IB_Mailbox_IN_Messages in template.html and in the entity form named default for the entity FTOS_IB_Mailbox_OUT_Messages in template.html and in the entity form named default for the entity FTOS_IB_MailboxCategories in template.html and in the entity form named default for the entity FTOS_IB_Users in template.html.
Input: array returnList.
Output: array returnList.
Abandonata
This script displays the days when the bank is not working. It is called in the Client Script Library named FTOS_IB_MakePayment in code.js.
Input: var holidayCalander; var PymtTypeCurrency; var Currency;
Output: array holidayCalander.
This script
It is used in in the journey FTOS_IB_BulkFiles in Step1 in afterGenerate.js.
Input: N/A
Output: N/A
This script returns whether or not a utility bill has been paid. It is used in Client Script Library named FTOS_IB_UtilityPayment in code.js and in the journey FTOS_IB_UtilityPaymentTransaction in the step named confirmPayment in afterGenerate.js.
Input: var payBilResponse.
Output: string payBilResponse.
This script gets the bank account IBAN and the payments made with that account. It is used in the journey FTOS_IB_Payment in the step MakePayment afterGenerate.js
Input: const P; const BA.
Output: array rows.
This script requests the Operation Authorization. It is called from custom flow FTOS_IB_PaymentDynamicLinking. The instructions are contained in a try-catch statement, as there are several check which are made internally before the authorization flow starts. As a result, there are several scenarios where it might fail. It is used as well in the journey FTOS_IB_Payment in the step Section SCA in afterGenerate.js.
Input: N/A
Output: N/A
This script calls API to get the status of a bulk file payment previously submitted, based on the coreBankingMassPaymentId, which was previously returned from Core Banking when submitting the payment.
Input: const corebankingMassPaymentID; const corebankingValidationDate.
Output: everything is handled in afterJs & the currency needs to be checked against FTOS_CMB_Currency & status needs to be retrieved 2 columns, statusCode + statusName (mapping as defined above); massPaymentId + massPaymentDate is retrieved mapped (as in the call).
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_AcquireMassPaymentRequestStatus', {
corebankingMassPaymentID: "test",
corebankingValidationDate: "2021-04-03T10:26:00Z"
}).then(function(e) {
console.log(e)
})This script calls the API to get the details of a payment previously submitted, based on its transactionRequestId, which was returned from Core Banking previously when the payment was submitted.
Input: const transactionRequestID
Output:
{
"paymentRequests_AcquirePaymentRequestDetailsResponse": {
"paymentRequests_AcquirePaymentRequestDetailsResult": {
"header": {
"requestID": "",
"requestResult": "Success",
"errorData": {
"error": "",
"errorMessage": ""
}
},
"userDefinedFields": {
"Fields": []
},
"requestStatus": "Confirmed",
"transactionStatus": "ASCP",
"transferType": "CreditTransfer",
"paymentSystem": "BISERA6",
"debtorName": "Joe Smith",
"debtorAccountNumber": "BG97T",
"debtorAgent": "BBGSF",
"debtorAgentName": "TB",
"amount": {
"currency": "BGN",
"value": 1
},
"creditorName": "Jane",
"creditorAccountNumber": {
"type": "IBAN",
"value": "BG31SOM"
},
"creditorAgent": "SF",
"creditorAgentName": "Demo",
"remittanceInformation": "TEST",
"dateOfExecution": "2021-07-13T00:00:00",
"paymentRings": false,
"currencyExchangeRate": 1,
"transactionFee": {
"currency": "BGN",
"value": 0.5
},
"budgetTransferDetails": {
"regulatoryReportType": 0,
"creditorPaymentCategory": 0,
"debtorPaymentCategory": 0,
"documentNumber": "",
"documentDate": "0001-01-01T00:00:00",
"ultimateDebtorName": "",
"taxPayerType": "EGN",
"taxPayerID": "",
"beginDate": "0001-01-01T00:00:00",
"endDate": "0001-01-01T00:00:00"
},
"currencyTransferDetails": {
"valorType": "",
"expensesType": "",
"debtorAddress": "",
"creditorAddress": ""
},
"transactionID": ""
}
}
}Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_AcquirePaymentRequestDetails', {
transactionRequestID: "340"
}).then(function(e) {
console.log(e)
})This script calls the API to get the status of a payment previously submitted, based on the transactionRequestId, which was returned from Core Banking previously when the payment was submitted.
Input: const transactionRequestID.
Output: var requestStatus; transactionStatus.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_AcquirePaymentRequestStatus', {
transactionRequestID: "340"
}).then(function(e) {
console.log(e)
})
This script calls the API to submit a SEPA Instant
SEPA Instant Credit Transfers or SCT Inst is a transfer that is executed 24/7/365 and reaches the recipient within seconds. payment. Core Banking will respond with the transactionRequestId, which is later used for checking the status or getting the details from core of the payment.
Input: const referenceID; const amount; const benAccount; const paymentDetails; const benName; const benAddress; const benAddressCountry.
Output: N/A.
This script calls the API to confirm the payment request previously sent, based on the id of the request, which was returned previously from Core Banking by creating the payment request,
Input: const transactionRequestId.
Output: N/A.
This scripts calls the API to submit a budget payment transfer to Core Banking with the parameters based on the Data Models. Core Banking answers with the transactionRequestID, based on which we can interrogate and find out the status or the details of this payment.
Input: const debtorAccountNumber; const amountCurrency; const amountValue; const creditorAccountNumber; const creditorName; const remittanceInformation; const paymentRings; const paymentReferenceId; const transactionRequestId; const regulatoryReportType; const creditorPaymentCategory; const debtorPaymentCategory; const documentNumber; const documentDate; const ultimateDebtorName; const taxPayerType; const taxPayerID; const beginDate; const endDate;
Output: N/A.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_CreateAndConfirmBudgetTransfer', {
debtorAccountNumber: "InsertIBAN",
amountCurrency: "BGN",
amountValue: "100",
creditorAccountNumber: "InsertIBAN",
creditorName: "poluchatel",
remittanceInformation: "test",
paymentRings: "1",
paymentReferenceId: "52",
regulatoryReportType: "1",
creditorPaymentCategory: "441400",
debtorPaymentCategory: "0",
documentNumber: "",
documentDate: "0001-01-01T15:11:00.000Z",
ultimateDebtorName: "test",
taxPayerType: "EIK",
taxPayerID: "130892321",
beginDate: "0001-01-01T15:11:00.000Z",
endDate: "0001-01-01T15:11:00.000Z"
}).then(function(e) {
console.log(e)
})Mapped answer
let transactionStatus = null;
let ftosTransactionStatus = null;
switch (confirmation.transcationStatus) {
case "ACSC":
transactionStatus = "Transaction is in settlement";
ftosTransactionStatus = "SentToCorebanking"
break;
case "ASCP":
transactionStatus = "Transaction is booked";
ftosTransactionStatus = "Executed";
break;
case "PDGN":
transactionStatus = "Transaction is pending";
ftosTransactionStatus = "SentToCorebanking";
break;
case "CANC":
transactionStatus = "Transaction is canceled";
ftosTransactionStatus = "Rejected";
break;
}
let itemToPush = {
transactionId: confirmation.transsactionID
, currencyIdAccountBalance: confirmation.currencyIdAccountBalance
, valueAccountBalance: confirmation.valueAccountBalance
, paymentExecutionDate: confirmation.paymentExecutionDate
, transactionStatusCode: confirmation.transactionStatus
, paymentStatus: ftosTransactionStatus
}
returnArray.push(itemToPush);This script calls the API to submit and confirm a credit transfer (a payment) to Core Banking with the parameters based on the Data Models. Core Banking answers with the transactionRequestID, based on which we can interrogate and find out the status or details of this payment.
Input: const payerAccount; const amountCurrency; const totalPaymentDebit; const beneficiaryIBANAccount; const beneficiaryName; const paymentReason; const paymentRings; const FTOS_IB_PaymentExtid; const transactionRequestId.
Output: N/A.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_CreateAndConfirmCreditTransfer', {
payerAccount: "InsertIBAN",
amountCurrency: "BGN",
totalPaymentDebit: "20",
beneficiaryIBANAccount: "InsertIBAN",
beneficiaryName: "test",
paymentReason: "test",
paymentRings: "0",
FTOS_IB_PaymentExtid: "102"
}).then(function(e) {
console.log(e)
})Mapped Answer
let transactionStatus = null;
let ftosTransactionStatus = null;
switch (confirmation.transcationStatus) {
case "ACSC":
transactionStatus = "Transaction is in settlement";
ftosTransactionStatus = "SentToCorebanking"
break;
case "ASCP":
transactionStatus = "Transaction is booked";
ftosTransactionStatus = "Executed";
break;
case "PDGN":
transactionStatus = "Transaction is pending";
ftosTransactionStatus = "SentToCorebanking";
break;
case "CANC":
transactionStatus = "Transaction is canceled";
ftosTransactionStatus = "Rejected";
break;
}
let itemToPush = {
transactionId: confirmation.transsactionID
, currencyIdAccountBalance: confirmation.currencyIdAccountBalance
, valueAccountBalance: confirmation.valueAccountBalance
, paymentExecutionDate: confirmation.paymentExecutionDate
, transactionStatusCode: confirmation.transactionStatus
, paymentStatus: ftosTransactionStatus
}
returnArray.push(itemToPush);This script calls the API to create a budget payment in Core Banking. The parameters used are based on the Data Models; Core Banking responds with the transactionRequestId that is later used for confirmation of the budget payment.
Input: const debtorAccountNumber; const amountCurrency; const amountValue; const creditorAccountNumber; const creditorName; const remittanceInformation; const paymentRings; const paymentReferenceId; const userDefinedFields; const transactionRequestId; const regulatoryReportType; const creditorPaymentCategory; const debtorPaymentCategory; const documentNumber; const documentDate; const ultimateDebtorName; const taxPayerType; const taxPayerID; const beginDate; const endDate;
Output: N/A.
This script calls the API to create a credit transfer (a payment) to Core Banking, the parameters are mentioned based on the Data Models.
Input: const debtorAccountNumber; const amountCurrency; const amountValue; const creditorAccountNumber; const creditorName; const remittanceInformation; const paymentRings; const paymentReferenceId; const userDefinedFields; const transactionRequestId; const regulatoryReportType; const creditorPaymentCategory; const debtorPaymentCategory; const documentNumber; const documentDate; const ultimateDebtorName; const taxPayerType; const taxPayerID; const beginDate; const endDate.
Output: array itemToPush
Example
Example for calling:
ebs.callActionByNameAsync('FTOS_IB_Payments_CreateCreditTransfer',{payerAccount:"IBANExample",amountCurrency:"BGN",totalPaymentDebit:"1", beneficiaryIBANAccount:"InsertIBAN",beneficiaryName:"THOR", paymentReason:"TEST",paymentRings:"0",FTOS_IB_PaymentExtid:"?",userDefinedFields:[]}).then(function(e){console.log(e)})Mapped answer
let itemToPush = {
transactionRequestId: confirmation.transactionRequestID
, feeCurrencyId: currencyIdTransactionFee
, feeValue: confirmation.transactionFee.value
, currencyExchangeRate: confirmation.currencyExchangeRate
, requestStatus: confirmation.requestStatus
}This script calls the API to create a bulk file payment transfer to Core Banking, the parameters are mentioned based on the Data Models. The API returns with a corebankingMassPaymentId, based on which we can interrogate the Core Banking and find out details the payment. The endpoint is called with 3 params: IBAN; productId; productType; fileData; bulkFileName.
Input: const iban; const fileData; const bulkFileName;
Output: N/A.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_CreateMassPaymentRequest', {
iban: "InsertIBAN",
fileData: "InsertYourData",
bulkFileName: "test",
FTOS_IB_BulkFilesid: "InsertID"
}).then(function(e) {
console.log(e)
})
This script calls the API to submit an utility payment to Core Banking, with the parameters based on the Data Models. Core Banking answers with the transactionRequestID, based on which we can interrogate and find out the status or the details of this utility payment.
Input: const iban; const utilityBillId; const amountValue; const amountCurrency; const remittanceInformation; const subscriptionNumber; const providerId.
Output: transcationID; dateOfExecution; registrationDate.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_CreateAndConfirmPayment', {
paymentQueueId: "3BD6D78B-Test"
}).then(function(e) {
console.log(e)
});Mapped Answer
{
"paymentRequests_UtilityPaymentRequestResponse": {
"paymentRequests_UtilityPaymentRequestResult": {
"header": {
"requestID": "",
"requestResult": "Failed",
"errorData": {
"error": "SumNotCorrectOrNoAvailability",
"errorMessage": "There is not enough funds available."
}
},
"transactionID": "", //FTOS_IB_Payment.
"dateOfExecution": "0001-01-01T00:00:00",
"registrationDate": "0001-01-01T00:00:00"
}
}
}This script calls the API to validate a bulk file payment in Core Banking, with the parameters based on the Data Models. When validating the bulk file payment, Core Banking starts processing the payment and returns with the corebankingMassPaymentId, based on which we can return and find out the details or the status of the transaction.
Input: const iban; const fileData; const bulkFileName;
Output: N/A; does the mapping as per FTOS fields mentioned & determines the currencyId based on FTOS_CMB_Currency & handles the status.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_Payments_ValidateMassPaymentRequest', {
iban: "ibanNumber",
fileData: "01QO0RQOzIwMjEwNTIwO1RCSUJCR1NGO0JHMTNUQklCOTMxMDEwMDAwMDE4MTY70trQw87C0crOIMTQ08bF0dLCzjtCR047MTAwLjAwOzAwMzs7CkRQO8ji4O0gyOLg7e7iO1NUU0FCR1NGO0JHNTVTVFNBOTMwMDExMTExMTExMTE7xNHKIMHg7eogxcDEOzMwLjAwO/Ll8fIxOzMxMTvByNHF0MA7MDAyOzsKRFA7yOLg7SDI4uDt7uI7U1RTQUJHU0Y7Qkc1NVNUU0E5MzAwMTExMTExMTExMTvE0cogweDt6iDFwMQ7NjAuMDA78uXx8jE7MzExO8HI0cXQwDswMDI7OwpEUDvM6PLq7iDM6PLq7uI7SU9SVEJHU0Y7QkcyMElPUlQ3Mzc3MTAxMjM1NDU2NTvI7eLl8fIgweDt6iDFwMQ7MTAuMDA78uXx8jI7MzExO8HI0cXQwDswMDI7Ow==",
bulkFileName: "FileName_Test_01"
}).then(function(e) {
console.log(e)
})This script retrieves the user phone number and obfuscates it. It is called in the journey FTOS_IB_Payment in the step SCA in afterGenerate.js.
Input: const systemUserId; const IBU.
Output: N/A
This script calls the API to submit a currency transfer (a payment) to Core banking , with the parameters based on the Data Models. Core Banking answers with the transactionRequestID, based on which we can interrogate and find out the status or the details of this currency payment.
Input: const payerAccount; const payerFullName; const payerAddress; const debtorPhoneNumber; const currency; const totalPaymentDebit; const organisationCode; const beneficiaryBankName; const creditorAccountNumberType; const beneficiaryIBANAccount; const beneficiaryName; const beneficiaryAddress; const beneficiaryCountry; const paymentSystem; const paymentReason; const detailsOfcharges; const valorType; const FTOS_IB_PaymentExtid; const userDefinedFields.
Output: N/A
Example for caling
ebs.callActionByNameAsync('FTOS_IB_PaymentsCreateCurrencyTransfer', {
payerAccount: "InsertIBAN",
payerFullName: "Jane",
payerAddress: "DEBs ADDRESS",
debtorPhoneNumber: "",
currency: "EUR",
totalPaymentDebit: "4",
organisationCode: "BXX",
beneficiaryBankName: "BANK OF FRANCE",
creditorAccountNumberType: "IBAN",
beneficiaryIBANAccount: "InsertIBAN",
beneficiaryName: "John",
beneficiaryAddress: "PARIS",
beneficiaryCountry: "FRANCE",
paymentSystem: "",
paymentReason: "TEST",
detailsOfcharges: "SHA",
valorType: "Normal",
FTOS_IB_PaymentExtid: "",
userDefinedFields: []
}).then(function(e) {
console.log(e)
})Mapped answer
let itemToPush = {
transactionRequestId: confirmation.transactionRequestID
, feeCurrencyId: currencyIdTransactionFee
, feeValue: confirmation.transactionFee.value
, currencyExchangeRate: confirmation.currencyExchangeRate
, requestStatus: confirmation.requestStatus
}This script is responsible for the process of Queuing Payments (insufficient balance). It inserts a new record in FTOS_IB_PaymentsQueue, it checks for the number of retries to be smaller than the maximum number, checks if Core Banking is in operational mode. If it is, then, it checks for the account balance to be bigger to the amount to be paid and performs more checks for payment date and currency cut off. It is used in the Automation Script Library named FTOS_IB_Payment_GetDetailsForQueue.js and in the script named FTOS_IB_GetConfirmationScreenMessages.js and in the script named FTOS_IB_PaymentsQueue.js and in the default entity form for the entity named FTOS_IB_Payment in template.html and in the default entity form for the entity named FTOS_IB_PaymentsQueue in template.html
Input: var maxNoRetriesQueueing.
Output: The payment is rejected or not.
This script calls the API to return the payment status for multiple requests previously done. The API is called with an array of transaction request ids, which were previously returned from Core Banking when submitting the payment. It calls the paymentStatusAgregator method on FTOS_IB_Payemnts library. The paymentStatusAgregator method receives a list of transactionRequestID and calls the acquirePaymentRequestStatus method for each element in the list, and returns the response for each one.
Input: var transactionRequestIDs.
Output: return the list of custom objects
Example for calling
ebs.callActionByNameAsync('FTOS_IB_PaymentStatusAgregator', {
transactionRequestIDs: ["340-42-202TEST", "Test04"]
}).then(function(e) {
console.log(e)
})Mapped Answer
0: {isSuccess: false, resultMessage: "Failed", errorMessage: "Result API error: \nPayment request '340-42-20200103' doesn't exist", outputMessage: null, initialTransactionRequestID: "340-42-20200103"}
1: {isSuccess: false, resultMessage: "Failed", errorMessage: "Result API error: \nPayment request '340-42-20200104' doesn't exist", outputMessage: null, initialTransactionRequestID: "340-42-20200104"}
This script executes the DBTask named FTOS_IB_PopulateAccountExt.
Input: var result.
Output: var result.
This script gets the payment type.
Input: const response.
Output: const response.
This script resets the modifications from the User Client List. It is used in the journey Account in Step2 in afterGenerate.js.
Input: business statuses Initiatedand Modified from FTOS_IB_UserXCustomer, FTOS_IB_UserXBankAccount, FTOS_IB_SignEngRule.
Output: array rows
This script runs at very one minute to get the status of the payment. There are 5 attempts at every 2 minutes each and if the correct status is still not received, the application should do another 5 attempts at every 2 minutes distance at each hour. It gets the subscriber number and the provider id for each transaction, which will be later used in the payBill and reverseBill parameters.
Input: var now; var UPT; var UPC; var P;
Output: N/A
For the records with the business statuses Initiated, Modified and ToBeInactivated for the records in FTOS_IB_UserXCustomer, FTOS_IB_SignEngRule and FTOS_IB_UserXBankAccount to reset the modifications done by the maker. It is used in the journey Account in Step2 in afterGenerate.js.
Input: var UC; var UBA; var SER; var businessStatusIdUCInitiated; var businessStatusIdUBAInitiated; var businessStatusIdSERInitiated; var businessStatusIdUC; var businessStatusIdUBA; var businessStatusIdSER.
Output: N/A.
This script returns the modifications to the maker for the records with the business statuses Initiated, Modified and ToBeInactivated for the records in FTOS_IB_UserXCustomer, FTOS_IB_SignEngRule and FTOS_IB_UserXBankAccount. It is used in the journey Account in Step2 in afterGenerate.js.
Input: var UC; var UBA; var SER; var businessStatusIdUCInitiated; var businessStatusIdUBAInitiated; var businessStatusIdSERInitiated; var businessStatusIdUC; var businessStatusIdUBA; var businessStatusIdSER; var businessStatusIdUCTBI; var businessStatusIdUBATBI; var businessStatusIdSERTBI; var flowStatusInitiatedId.
Output: array rows.
It is used in the entity form named FTOS_IB_UserMigration for the entity FTOS_IB_UserMigration in beforeGenerate.js and in the entity form named FTOS_IB_FO_UsersEnrollment for the entity FTOS_IB_UsersEnrollment in beforeGenerate.js.
Input: var activeStatus; var entityIdByName; var dateName; var sessId.
Output: N/A.
This script runs when the inserted OTP is correct. It opens a record edit form.
Input: N/A
Output: N/A
This script runs when the inserted OTP is correct. It opens a record edit form
Input: var rejectReason.
Output: N/A
This script updates the transaction bill.
Input: var reverseBillResponse
Output: update FTOS_IB_UtilityPaymentTransaction.
This script calls the API to synchronize the customers in Account.
Input: const CustomerName, CustomerIdCB, Pin, CompanyRegNo, MobilePhone.
Output: produce an array of accounts, depending on the search criterias (the input parametres mentioned above)
Example for calling
ebs.callActionByNameAsync('FTOS_IB_SearchAccounts', {
customerName: "a"
}, function(e) {}, function(err) {});This scrip searches for the old username of the customer. It is used in the journey FTOS_IB_UserMigration in Step 1 - Old User Verification in afterGenerate.js and in the journey FTOS_IB_Users in Step 1 - Old User Verification in afterGenerate.js.
Input: const IBUsersAlias.
Output: N/A
This script sends an email with the questionable activity of a user.
Input: const params.
Output: sends email.
This script sends an SMS notification.
Input: const tenant; const secret; const restProcId; const restProcCode; const phoneNumber; const language; const otp;
Output: N/A
This script synchronizes the bank account list from FintechOS the list form Core Banking, based on the customer core banking ID. When syncing, the bank accounts activate or deactivate based on:
- if the bank account is found in the database from FintechOS and not in Core Banking, they are deactivated.
- if the bank account is found in the database from FintechOS and in Core Banking as well, it gets the status from Core Banking
Input: var customerCoreBankingId.
Output: array dbResponse; return the list of custom objects.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_SyncAccountList', {
customerCoreBankingId: '7412'
}).then(function(e) {
console.log(e)
});Result
accountTypeId: "The value received is not existing in the database => Влогова сделка"
balance: 800
currencyId: "8cdThis script synchronizes the banking product factory that will be used for Online and Mobile Banking by calling an API.
Input: N/A.
Output: N/A.
This script synchronizes the countries list from FTOS_CMB_Country with the list from Core Banking.
The script has the following behaviour at each execution:
- It grabs the list of countries and internal ids from the bank’s endpoint.
For all the countries in this list:
- If the country’s id cannot be found in FTOS_CMB_COUNTRY, it checks if that particular country’s name exists in the table and, if not, it creates a new record for that country (and also populates the new BankId attribute).
- If the country already has a record in FTOS_CMB_COUNTRY, it updates the BankId attribute value.
- If we have countries in FTOS_CMB_COUNTRY that are not available in the bank’s countries list, they are left unmodified.
If the request can be made (the bank’s endpoint responds) but the response is a negative one, the response error message is logged.
- A scheduled job was created FTOS_IB_SyncCountries, with a “Pool Time” schedule type.
Input: const restProcId; const restProcCode; const requestDictionaryCode; const requestId; const requestTimestamp; const userName; const authKey.
Output: update list of countries.
To be done
This script creates a request to the server.
Input: N/A
Output: CoreBankingAccountDate; CoreBankingStatus.
Example for calling
ebs.callActionByNameAsync('FTOS_IB_SystemAcquireServerStatus', {}).then(function(e) {
console.log(e)
})This script validates the template. It is used in entity form named FTOS_IB_CustomerTemplates for the entity Account in afterGenerate.js.
Input: string id, type, customerId, account, inactiveStatusId.
Output: boolean Ok.
This script tests the utility payment. It is used in in the entity form named FTOS_IB_UtilityCheckDailyDebt_CustomForm for the entity FTOS_IB_UtilityCheckDailyDebt in afterGenerate.js
Input: var integrationProcessId.
Output: N/A
Input: N/A
Output: N/A
This script updates the system user as authorized. It is used in the journey FTOS_IB_Users in the step EditUser in afterGenerate.js.
Input: var sysUserId; var isAuthorizedVar.
Output: boolean isAuthorized.
This script updates the authorization limit. It is used in the journey FTOS_IB_UserSecurityLimit in Step1 in afterGenerate.js and FTOS_IB_UserXCustome in Step1 in afterGenerate.js.
Input: var tempSecurityLimitProfile
Output: N/A
This script updates the system user for the migration and the creation of a user. It is used in the journey FTOS_IB_UserMigration in Step 3 - Set New Username & Password in afterGenerate.js and FTOS_IB_Users in Step 3 - Set New Username & Password in afterGenerate.js.
Input: var SystemUserTypeAlias; var SecurityRoleAlias; var sysUserType.
Output: N/A
The script receives the template values set by the user as parameters and does the following checks:
- if there already is a template with the same IBAN, but a different beneficiary name, it throws an error.
- if there already is a template with this specified name, it overwrites the values.
- if no hits are found for either of the above checks, new records are inserted.
It is used in the journey FTOS_IB_Payment in MakePayment in afterGenerate.js.
Input: let beneficiaryParams; let paymentParams; const T.
Output: N/A
This script returns the users based on their CoreBankingId. It is used in Client Script Library named FTOS_IB_Search in code.js.
Input: var coreBankingId; var User.
Output: array rows.
This script checks the user data such as document number and country to see if there is a system user.
Input: var userName; var userFirstName; var userLastName; var userPersonalIdNumber; var userCorebankingCustomerId; var userCountryIssuedTheDocument; var userDocumentNo; var userUserName; var userEmail; var userMobilePhoneNumber.
Output: N/A
This script allows for the inactivation of an id for the FTOS_IB_UserXBankAccount. It inactivates the get expired bank accounts as well. Then, it updates the files in FTOS_IB_UserXCustomer. It is used in the entity form FTOS_IB_UserXBankAccount_necessaryFields of the entity named FTOS_IB_UserXBankAccount in afterGenerate.js.
Input: N/A
Output: displays a message with the expired bank accounts.
This script gets the user and the customer and the flow status for FTOS_IB_UserXCustomer, it gets the type of role Authorize for FTOS_IB_TypeOfRole and gets the get security profile from FTOS_IB_SecurityProfilesid. It updates the businessUnitId for the UserXCustomer.
Input: var userId; var coreId.
Output: string uxcId.
This script updates the transcation types when the role of a user is changed. It gets the get current UserXTransactionTypes and the TransactionTypes for the new role. It is used in the journey FTOS_IB_UserXCustomer in Step1 in afterGenerate.js.
Input: var userCustomerId; customerId; ibUserId; typeOfRoleId.
Output: N/A
This script joins the records from the entity Account with FTOS_IB_AccountExt with FTOS_IB_UserXCustomer with FTOS_IB_SignEngRule with FTOS_IB_UserXBankAccount to display the requests sent to approval to a checker. See details in It is used in the html Widget named FTOS_IB_myRequestsSentToApproval in afterGenerate.js.
Input: fetch from the entities above
Output: array uniqueResult
This script joins the records from the entity Account with FTOS_IB_AccountExt with FTOS_IB_UserXCustomer with FTOS_IB_SignEngRule with FTOS_IB_UserXBankAccount to remove duplicates and send them to the be approved. It is used in the html widget named FTOS_IB_requestsSentToApproval in afterGenerate.js.
Input: fetch from the entities above
Output: array uniqueResult
It is used in the journey Account in Step4 in afterGenerate.js when modifying a row from the grid onRowUpdating.
Input: const bankAccountId; addedTransactionsTypeIds; removeTransactionTypeIs; ibUserId;
Output: var response.
This script validates the file content for bulk payments. It is used in the journey FTOS_IB_BulkFiles in Step1 in afterGenerate.js.
Input: string textFromFile, string userid.
Output: string headerMess.
This script checks the validation for the bulk payments.
Input: var userId; executionDate; ibanOrderingParty; nameOrderingParty; totalAmount; sumLinesAmounts; transactionType; sixDigits; orderingPartyIban; nr; docDate; iban.
Output: string idBeneficiary
This script verifies the legacy password of the user. If the password is correct, the user can migrate to the Online and Mobile Banking offered by FintechOS. It is used in the journey FTOS_IB_UserMigration in Step 1 - Old User Verification in afterGenerate.js and in the journey FTOS_IB_Users in Step 1 - Old User Verification in afterGenerate.js.
Input: var random_boolean
Output: var random_boolean.
It generates mock data based on the parameters and executes the DB Task FTOS_IB_IntegrationMock_generateMockData.
Input: importing the library FTOS_IB_IntegrationMock
Output: var responseValidateParams.
This script gets the messages from FTOS_IB_Mailbox_IN_Messages and from FTOS_IB_Mailbox_OUT_Messages, compares the dates and sets the data for the messages received.
Input: customerId; toDate; fromDate.
Output: receivedMessages.
This script retrieves the messages for a customer.
Input: recordId
Output: receivedMessages; sentMessages.
This script retrieves the user data related to the number of wrong codes they have inserted in the signature step of a payment.
Input: N/A
Output: isAuthorized; maxRetryNo; wrongCodesCount.
This script generates the email sent to the user during the Online User Enorolment.
Input: id;
Output: object rows, sessionId.
Mock for actual fees API. It is called from client Script Lib FTOS_IB_MakePayment/The values are hardcoded.
Input: const schemaTypeCode; const paymentAmount; const detailsOfCharges
Output: value, currency.
This script gets several system parameters and it sets the data for bank accounts and loans.
Input: const accCateg2; const accCateg3; const accCateg4; const loanCategory1; const loanCategory2; const loanCategory3; const loanCategory4;
Output: bankAccountCategories; loanCategories
This script gets the value from several system parameters: FTOS_IB_AccTran_DefaultNoTransactionsHomePage
and FTOS_IB_AccTran_DefaultDaysFrom
Input: N/A
Output: N/A
This script returns based on the account type, status, BankAccountTransactionType, the payment business status, and the transaction types.
Input: N/A
Output: typeOfCustomer, paymentStatus, transactionType.
The script for getting result in the ChannelManager dashboard once filters have been set for the Transactions reportgenerated by the backoffice.
Input: const customerName; const customerType; const paymentStatus; const currency; const transactionType; const dateFrom; const date; const scaSigning; const attachments.
Output: N/A
This script inserts the data to the entity FTOS_IB_Users.
Input: N/A
Output: N/A
This script generates object mockLibrary with the method generateMockTemplate
Input: N/A
Output: N/A
This script decides whether or not to display the loans widget in the FintechOS Portal for the end-user (based on the userId).
Input: N/A
Output: Boolean res, if true, then the Loans Widget is displayed, false, then the loan is not displayed.
This script changes the business status of a record in the entity FTOS_IB_Mailbox_IN_Messages from Sent to Mailbox to Read.
Input: N/A
Output:N/A
Input: isPopup
Output: categories
This script gets the data from the entities FTOS_IB_Mailbox_IN_Messages And FTOS_IB_Mailbox_OUT_Messages that match ceratin criterias, among which Channel is equal to Mailbox_Pop up messages, bw is Sent to Mailbox, If not return the data based on the FTOSIBMailboxINMessagesId to be equal to messageId, respectively FTOSIBMailboxOUTMessagesId equal to messageId.
Input: var IM; var OM
Output: POCO object
This script gets the sequence number for the entity FTOS_IB_Mailbox_RecordId.
Input:N/A
Output: id
This script tests to see whether or not msgType is IN. If it is, it gets the BW for the entity FTOS_IB_Mailbox_IN_Messages based on the statusId. It it is not, it gets the bw Sent to Bank for the entity FTOS_IB_Mailbox_OUT_Messages.
Input: var subject; var category; var bodyMessage; var attachments; var customerPIN; var userName ; const requestId
Output: Boolean value.
This script uploads the Mailbox Messages Success or Error.
Input: var subject; var category; var bodyMessage; var attachments; var customerPIN; var username; const requestId;
Output: object response.
This script updates the data in the entity FTOS_IB_Templates and the object values, and the beneficiaryParams.
Input: const beneficiaryParams; const paymentParams; const existingBeneficiaryTemplateId; const existingPaymentTemplateId.
Output: Returns a IFtosScriptableEbsExecutionContext JSON object containing key – value pairs that describe the transaction.
This script queries the entity FTOS_IB_BankAccount, creates a projection for the entity and then
Input: const BA
Output: object rows
This script calls the API to create a bulk file payment transfer in Core Banking, the parameters are mentioned based on the IB data model, the API returns with a corebankingMassPaymentId, based on which we can interrogate Core Banking and find out details of it.
Input: const iban; const bulkFileName; const FTOS_IB_BulkFilesid; const fileData
Output: Boolean, updates the entity FTOS_IB_BulkFiles & the object updateBulkFileEntity, or updates the business status for the entity record.
The script calls the API to validate a bulk file payment in the Core Banking, the parameters are mentioned based on the IB data model; when validating the bulk file payment. Core banking starts processing the payment and return with the corebankingMassPaymentId, based on which we can return and find out the details/status of the transaction.
Input: const iban; const bulkFileName; const fileData; const totalAmount; const recordId
Output: update the data in businessStatusId, totalFees, equivalentAmou in the entity FTOS_IB_BulkFiles
This script calls the API to validate a bulk file payment in Core Banking, the parameters are mentioned based on the IB data model; when validating the bulk file payment, the core will start processing the payment and return with the corebankingMassPaymentId, based on which we can return and find out the details/status of the transaction.
Input: N/A
Output: N/A
If the status of the response is 00, the system adds the data in the response, otherwise, an error message is displayed.
Input: var releaseBillResponse
Output: N/A
To be done.
Input: var A; var AE; var SU; var IBU; var UXC; var BU; var SUBU
Output: N/A
This script gets the bulk payments that have the status Imported and the next business status Under Core validation.
Input: var customerId
Output: object itemToInsert
This script checks to see the people who have to sign the payment, by getting the list of approvers, the rules for signing and the number of signatures.
Input: const recordId; const entityName; const systemUserId; const customerId
Output: const ok
This script synchronizes the bank account list from the Core Banking, based on the customer core banking ID. When syncing, the bank accounts activate/de-activate based on the following logic:
i) if the bank account is found in FTOS and not in Core Banking -> de-activate
ii) if the bank account is found in FTOS and in Core Banking -> get status from core
Input: const customerCoreBankingId; const pin; const customerId; const commercialRegistration
Output: Boolean, if true, then the data is set for dbResponse and for apiResponse, if false, then an error message is displayed.
This script calls the API to get the currency rates for a specific currency code; if no currency code is passed as a parameter, the script syncs all currency rates.
Input: array currencyCode
Output: Boolean, if false, an error message is logged.
This script updates the system user to be un-authorized.
Input: N/A
Output: isAuthorized: false
This script updates the data in manualSecurityLimitProfile if the authorizationLimits is not Signature Engine Rules Defined or Temporary Transaction Security Profile Limit or Default Security Profile.
Input: authorizationListId
Output: manualSecurityLimitProfile
This script updates customerInfo.
Input: const accountId
Output: N/A
This script registers the first code that was inserted by the user in the interface.
Input: const value; const IBU
Output: firstCodeAttempt
This script updates the Online and Mobile Banking Application after the user inserts the new alias.
Input: const UXBA
Output: object uxbaUpdated
Input: const ibUserId; const customerId; const securityProfileLimitId
Output: N/A
Input: N/A
Output: N/A
Input: const SystemUserAlias
Output: set data for sysUser
This script gets the system parameter localCurrency.
Input: N/A
Output: localCurrency
This script initiates the authorization component for utility contracts. Depending on whether or not the application is in whitelabel mode, the component uses a different authorization scenario (in order to be able to fill in the code automatically for whitelabel mode). Moreover, the system uses this script for both authorization scenarios (signing and deleteing a contract), as both actions require OTP signature.
Input: const recordId
Output: sets requestAuthResponse to reqResponse
This script inserts a record in the ftos_ib_payment and ftos_ib_paymentext when creating a new utility payment transaction by getting paymentTypeId for intra bank other customer payment type, then getting 3rdparty utility payment provider's name, iban and currency based on the utility provider id
Input: N/A
Output: N/A
This script updates the business status of FTOS_IB_Payment.
Input: const UPT
Output: Boolean value, if true, then the status is Authorized; if not update valuesForUpdate in the entity FTOS_IB_Payment
TranscationStatus is mapped:
Value | Description |
|---|---|
ACSC | Transaction is in settlement |
ASCP | Transaction is booked |
PDNG | Transaction is pending |
CANC | Transaction is canceled |