Skip to content

Release 3.1.0

Release Date: 18-12-2025

Release Notes

Overview

This release introduces comprehensive ACH file processing capabilities, including NACHA file extraction, validation, and record processing, along with several enhancements across Fraud transaction monitoring, Feature flag management, wallet operations, and system integrations to improve reliability, traceability, and operational efficiency.

Feature Updates

1. NACHA File Record Processing

  • Create APIs to check if bank account is mapped to a valid account address & fetch vendor details from core to integrate in file service.

  • Extract transaction records from valid NACHA file

  • Validate record through rule engine

2. NACHA File Extraction and Validation

  • Fetch and archive NACHA file from Vast Bank SFTP

  • Internal API in file service to get consolidated data

  • Internal API to get vendor ID for specific functionality [NACHA file publisher (Vast Bank)]

  • Seed Vast Bank as a vendor for ACH

  • Technical analysis, architecture, and design for ACH Push processing system

  • Validate NACHA file format

3. Mint, Memo Field, Transfer, and Output Generation

  • Add memo field for on-chain deposit transactions

  • Enhancement – Display partner name and correct method for ACH In transactions

  • Enhancement for story 32390 – Generate output files and send to SFTP for ACH

  • Generate output files and send to SFTP for ACH

  • Integrate SFTP NACHA file check API into UL Scheduler function app

  • Internal API in file processor to update transaction hash and structure logs in file service and payment processor service

  • Internal API to update tenant_id in ach_txn

  • Mint tokens into ACH disbursement wallet

  • Transfer tokens to user wallets

4. Enhanced Feature Flag Control for ACH-IN Transactions

  • Handling feature flag validation during NACHA file processing for ACH-IN

  • Configuring feature flag for Vast Bank ACH transactions

5. Transaction Monitoring (Fraud)

  • Modify smart contract to capture two additional fields for transaction monitoring

  • Pass on-chain transactions to Oscilar

  • Consume Oscilar response for fraud monitoring

  • Execute approved transactions on blockchain (post-fraud check)

  • Display fraud check and execution results on console

  • Decrypt and extract PII during wallet-to-wallet transaction interception

  • Simulate wallet user sending encrypted IP, device fingerprint, and memo string in USBC transactions

6. Feature Flagging for Transaction Monitoring Services – On-Chain Transactions

  • Backend – Add feature flags for on-chain transaction monitoring services

  • Frontend – Revamp UI for feature flag screen (add matrix structure)

7. Enhance OTP Verify API Response with Identifiers

  • Additional Parameters in OTP Verify API Response

8. Security Enhancements

  • Improved protection of application source code through obfuscation and additional security hardening measures. This change does not impact functionality or existing integrations.

Upgrade Notes

The sequence of steps to follow to upgrade are:

  1. Pre-requisites
  2. DB Configs and migrations
  3. Container images and configmaps
  4. Swagger APIs
  5. Azure Functions
  6. Post Release Scripts

Pre-requisites

Creating ACH Disbursment Wallet

Pre Deployment Script for Creating ACH Disbursment Wallet

Create a new ACH disbursement wallet using the tenant login. The instructions for creating ACH wallets were updated in the pre-deployment scripts[please refer to file 'pre-deployment-scripts-310.pdf']. Once the wallet is created, copy the wallet address and update the following environment variable: [ACH_DISBURSEMENT_WALLET_ADDRESS]

DB configs and migrations

All files are available to be downloaded in Assets area. The following commands should be executed with installed NodeJS version 18 or above.

DB backup

Before proceeding with remaining steps, it's strongly advised to take a database backup before proceeding.

Core Schema DB migrations

Download db_migrations_310.zip file available in Assets, unpack/unzip it in order to perform remaining instructions.

Create/update file in the following path [unzip-folder]/src/common/envs/development.env with credentials contents:

[unzip-folder]/src/common/envs/development.env
DB_HOST=[replace with db host url]
DB_USER=[replace with db user]
DB_PWD=[replace with db user password]
DB_NAME=[replace with db name]

AZURE_TENANT_ID=[replace with azure tenant id]
AZURE_CLIENT_ID=[replace with azure client id]
AZURE_CLIENT_SECRET=[replace with azure client secret]
AZURE_KEYVAULT_NAME=[replace with azure keyvault name]
DEFAULT_TENANT= [replace with tenant name]

Execute migrations:

Execute migrations
npm install
npm run migrate

Omnumi ACH Funding Processor Schema DB Migrations

Download omnumi-ach-funding-processor-db-migrations-310.zip file available in Assets, unpack/unzip it in order to perform remaining instructions.

Create/update file in the following path [unzip-folder]/src/common/envs/development.env with credentials contents:

[unzip-folder]/.env
DB_HOST=[replace with db host url]
DB_USER=[replace with db user]
DB_PWD=[replace with db user password]
DB_NAME=[replace with db name]
DB_SCHEMA=payment_processor [Create new db schema]

Execute migrations:

Execute migrations
npm install
npm run migrate

Omnumi Transaction Monitor Schema DB Migrations

Download omnumi-trasnactions-db-migrations-310.zip file available in Assets, unpack/unzip it in order to perform remaining instructions.

Create/update file in the following path [unzip-folder]/src/common/envs/development.env with credentials contents:

[unzip-folder]/.env
DB_HOST=[replace with db host url]
DB_USER=[replace with db user]
DB_PWD=[replace with db user password]
DB_NAME=[replace with db name]

AZURE_TENANT_ID=[replace with azure tenant id]
AZURE_CLIENT_ID=[replace with azure client id]
AZURE_CLIENT_SECRET=[replace with azure client secret]
AZURE_KEYVAULT_NAME=[replace with azure keyvault name]
DB_SCHEMA= transaction_monitor_service [Create new db schema]

Execute migrations:

Execute migrations
npm install
npm run migrate

Omnumi ACH File Processor Schema

Database variable to change

Before executing Omnumi ACH File Processor schema migrations the schema itself should be created, where dbUser should be replaced by your database user/role

Execute SQL
-- DROP SCHEMA file_service;

CREATE SCHEMA file_service AUTHORIZATION dbUser;

-- DROP SEQUENCE goose_db_version_id_seq;

CREATE SEQUENCE file_service.goose_db_version_id_seq
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 2147483647
    START 1
    CACHE 1
    NO CYCLE;

-- Permissions

ALTER SEQUENCE file_service.goose_db_version_id_seq OWNER TO dbUser;
GRANT ALL ON SEQUENCE file_service.goose_db_version_id_seq TO dbUser;
-- file_service.goose_db_version definition

-- Drop table

-- DROP TABLE goose_db_version;

CREATE TABLE file_service.goose_db_version (
    id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
    version_id int8 NOT NULL,
    is_applied bool NOT NULL,
    tstamp timestamp DEFAULT now() NOT NULL,
    CONSTRAINT goose_db_version_pkey PRIMARY KEY (id)
);

-- Permissions

ALTER TABLE file_service.goose_db_version OWNER TO dbUser;
GRANT ALL ON TABLE file_service.goose_db_version TO dbUser;


-- file_service.ach_entries definition

-- Drop table

-- DROP TABLE ach_entries;

CREATE TABLE file_service.ach_entries (
    ach_entry_id uuid DEFAULT gen_random_uuid() NOT NULL,
    ach_file_id uuid NOT NULL,
    bank_account_number varchar(255) NOT NULL,
    amount float8 NULL,
    amount_in_cents int8 NULL,
    meta_data jsonb NULL,
    trace_number text NOT NULL,
    created_at timestamptz DEFAULT now() NULL,
    updated_at timestamptz DEFAULT now() NULL,
    reference_id text NULL,
    CONSTRAINT ach_entries_pkey PRIMARY KEY (ach_entry_id)
);
CREATE INDEX idx_ach_entries_reference_id ON file_service.ach_entries USING btree (reference_id);

-- Permissions

ALTER TABLE file_service.ach_entries OWNER TO dbUser;
GRANT ALL ON TABLE file_service.ach_entries TO dbUser;


-- file_service.ach_files definition

-- Drop table

-- DROP TABLE ach_files;

CREATE TABLE file_service.ach_files (
    ach_file_id uuid DEFAULT gen_random_uuid() NOT NULL,
    display_name varchar(255) NOT NULL,
    file_batch_name text NOT NULL,
    status varchar(10) NOT NULL,
    url text NOT NULL,
    meta_data jsonb NULL,
    partner_id uuid NOT NULL,
    created_at timestamptz DEFAULT now() NULL,
    updated_at timestamptz DEFAULT now() NULL,
    CONSTRAINT ach_files_pkey PRIMARY KEY (ach_file_id)
);
CREATE INDEX idx_ach_files_display_name ON file_service.ach_files USING btree (display_name);

-- Permissions

ALTER TABLE file_service.ach_files OWNER TO dbUser;
GRANT ALL ON TABLE file_service.ach_files TO dbUser;


-- file_service.ach_entries foreign keys

ALTER TABLE file_service.ach_entries ADD CONSTRAINT ach_entries_ach_file_id_fkey FOREIGN KEY (ach_file_id) REFERENCES ach_files(ach_file_id) ON DELETE CASCADE;


-- file_service.ach_files foreign keys

ALTER TABLE file_service.ach_files ADD CONSTRAINT ach_files_partner_id_fkey FOREIGN KEY (partner_id) REFERENCES dss_vendor(dss_vendor_id);


-- Permissions

GRANT ALL ON SCHEMA file_service TO dbUser;

Once after creating the tables, execute the below Query

Execute SQL
INSERT INTO file_service.goose_db_version (version_id,is_applied,tstamp) VALUES
     (0,true,'2025-11-15 17:31:02.507865'),
     (20250814063609,true,'2025-11-15 17:31:02.544292'),
     (20250814063638,true,'2025-11-15 17:31:02.614226'),
     (20250827092208,true,'2025-11-15 17:31:02.641762'),
     (20250829094000,true,'2025-11-15 17:31:02.666632'),
     (20250919054932,true,'2025-11-15 15:29:20.819362');


Container images and configmaps

All provided images, available in the Image List section should be downloaded and built to be LGPL compliant.

All new images tags will be used to update Kubernetes manifests.

Chain-Core microservice

ConfigMap

Add/replace the following values in Chain Core microservice's ConfigMap:

configmap.yml
    TRANSACTION_MONITOR_API: '[Replace with Transaction Monitor service url]'

Listener microservice

ConfigMap

Add/replace the following values in Listener microservice's ConfigMap:

configmap.yml
  PAYMENT_PROCESSOR_SERVICE_BASE_URL: [Replace with omnumi ach funding processor service url]

  #Create new ach disbursment wallet from tenant login, instructions to create the ach wallets was update in post release scripts, once created copy the wallet address and update here
  ACH_DISBURSEMENT_WALLET_ADDRESS: '[replace with ACH disbursment wallet]'

Card Reservation microservice

ConfigMap

Add/replace the following values in Card Reservation microservice's ConfigMap:

configmap.yml
   KAFKA_EVENT_ACH_TXN_CONSOLE_GROUP_ID: 'achTxnConsole' 
   KAFKA_EVENT_ACH_TXN_CONSOLE_TOPIC: 'achTxnConsole' 

Frontend microservice

ConfigMap

Add/replace the following values in Frontned ConfigMap:

configmap.yml
  FLUTTER_CONFIG_FLUTTER_CONFIG_VERSION: '3.1.0'

Omnumi Transaction Monitor microservice

Omnumi Transaction Monitor

With this release a new service it's been deployed and must be configured.

Kubernetes

Review

The following files are meant to be edited and adapted accordingly to your Kubernetes environment.

Namespace
namespace.yml
apiVersion: v1
kind: Namespace
metadata:
  name: omnumi-transaction-monitor
Deployment
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: omnumi-transaction-monitor
spec:
  replicas: 3
  selector:
    matchLabels:
      app: omnumi-transaction-monitor
  template:
    metadata:
      labels:
        app: omnumi-transaction-monitor
    spec:
      containers:
      - name: omnumi-transaction-monitor
        image: [replace with container registry url]/omnumi-transaction-monitor:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 3011
        envFrom:
        - configMapRef:
            name: omnumi-transaction-monitor-configmap
Service
service.yml
apiVersion: v1
kind: Service
metadata:
  name: omnumi-transaction-monitor
spec:
  type: ClusterIP
  ports:
  - port: 3011
  selector:
    app: omnumi-transaction-monitor
Configmap
configmap.yml
apiVersion: v1
kind: ConfigMap
metadata:
  name: omnumi-transaction-monitor-configmap
data:
  # Database Configuration
  DB_HOST: '[replace with database host]'
  DB_NAME: '[replace with database name]'
  DB_PWD: '[replace with database password]'
  DB_USER: '[replace with database user]'
  MIGRATE_DB_USER: '[this user is used to run the migrations - OPTIONAL]'
  MIGRATE_DB_PWD: '[this password is used to run the migrations - OPTIONAL]'

  # Azure Credentials
  AZURE_TENANT_ID: '[replace with azure tenant id]'
  AZURE_CLIENT_ID: '[replace with azure client id]'
  AZURE_CLIENT_SECRET: '[replace with azure client secret]'
  AZURE_KEYVAULT_NAME: '[replace with azure keyvault name]'

  OMNUMI_CORE_BASE_URL: '[replace with core url]'

  OSCILAR_API_KEY: '[replace with Osciler API key]'
  OSCILAR_BASE_URL: '[replace with Osciler Base Url]'
  OSCILAR_VENDOR_NAME: 'kyc_main'
  OSCILAR_WORKFLOW_VERSION: ''

Omnumi ACH Funding Processor microservice

Omnumi ACH Funding Processor microservice

With this release a new service it's been deployed and must be configured.

Kubernetes

Review

The following files are meant to be edited and adapted accordingly to your Kubernetes environment.

Namespace
namespace.yml
apiVersion: v1
kind: Namespace
metadata:
  name: omnumi-ach-funding-processor
Deployment
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: omnumi-ach-funding-processor
spec:
  replicas: 3
  selector:
    matchLabels:
      app: omnumi-ach-funding-processor
  template:
    metadata:
      labels:
        app: omnumi-ach-funding-processor
    spec:
      containers:
      - name: omnumi-ach-funding-processor
        image: [replace with container registry url]/omnumi-ach-funding-processor:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 3009
        envFrom:
        - configMapRef:
            name: omnumi-ach-funding-processor-configmap
Service
service.yml
apiVersion: v1
kind: Service
metadata:
  name: omnumi-ach-funding-processor
spec:
  type: ClusterIP
  ports:
  - port: 3009
  selector:
    app: omnumi-ach-funding-processor
Configmap
configmap.yml
apiVersion: v1
kind: ConfigMap
metadata:
  name: omnumi-ach-funding-processor-configmap
data:
  # Database Configuration
  DB_HOST: '[replace with database host]'
  DB_NAME: '[replace with database name]'
  DB_PWD: '[replace with database password]'
  DB_USER: '[replace with database user]'
  DB_SCHEMA: 'payment_processor'
  MIGRATE_DB_USER: '[this user is used to run the migrations - OPTIONAL]'
  MIGRATE_DB_PWD: '[this password is used to run the migrations - OPTIONAL]'

  BLOCKCHAIN_SERVICE_BASE_URL: '[replace with kong base url]'
  BLOCKCHAIN_SERVICE_API_KEY: '[replace with kong api key]' 
  UL_CORE_BASE_URL: '[replace with core url url]'
  RULES_ENGINE_BASE_URL: '[replace with rule engine url]'
  WEB3_SIGNER_URL: '[replace with tx signer base url]'

  # Kafka Configuration
  KAFKA_BROKER: '[replace with kafka host]'
  SCHEMA_REGISTRY_URL: '[replace with kafka schema registry URL]'
  KAFKA_CLIENT_ID: 'client-id'
  KAFKA_GROUP_ID: 'paymentProcessor'
  KAFKA_ACH_TXN_INIT_TOPIC_NAME: 'achTxnInitiated'
  KAFKA_ACH_TXN_CONSOLE_TOPIC_NAME: 'achTxnConsole'
  PLATFORM_KAFKA_EVENT_LOGGER_TOPIC_NAME: 'KAFKA_LOGGER_EVENT_TOPIC'
  FILE_SERVICE_BASE_URL: '[replace with ach file service url]'
  TOKEN_SYMBOL: 'USBC'

  # Blockchain URLs
  SANDBOX_RPC_URL: '[replace with  RPC URL]'
  #Create new ach disbursment wallet from tenant login, instructions to create the ach wallets was update in post release scripts, once created copy the wallet address and update here
  ACH_DISBURSEMENT_WALLET_ADDRESS: '[replace with ACH disbursment wallet]'

  # Redis Configuration
  REDIS_PORT: '6379'
  REDIS_HOST: '[replace with redis host]'
  REDIS_PASSWORD: '[replace with redis password]'
  MIN_CONFIRMATIONS: '3'

Omnumi Ach File Processor microservice

Omnumi Ach File Processor microservice

With this release a new service it's been deployed and must be configured.

Kubernetes

Review

The following files are meant to be edited and adapted accordingly to your Kubernetes environment.

Namespace
namespace.yml
apiVersion: v1
kind: Namespace
metadata:
  name: omnumi-ach-file-processor
Deployment
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: omnumi-ach-file-processor
spec:
  replicas: 1
  selector:
    matchLabels:
      app: omnumi-ach-file-processor
  template:
    metadata:
      labels:
        app: omnumi-ach-file-processor
    spec:
      containers:
      - name: omnumi-ach-file-processor
        image: [replace with container registry url]/omnumi-ach-file-processor:latest
        imagePullPolicy: Always
        ports:
            containerPort: 3010
        envFrom:
        - configMapRef:
            name: omnumi-ach-file-processor-configmap
Service
service.yml
---
apiVersion: v1
kind: Service
metadata:
  name: omnumi-ach-file-processor
spec:
  type: LoadBalancer
  selector:
    app: omnumi-ach-file-processor
  ports:
  - port: 3010
Configmap

New Database Schema Required

This service depends on the new database schema named file_service. Please ensure it is applied before deploying the service.

configmap.yml
apiVersion: v1
kind: ConfigMap
metadata:
  name: omnumi-ach-file-processor-configmap
data:
  PLATFORM_DATABASE_HOST: '[replace with database host]'
  PLATFORM_DATABASE_PORT: '[replace with database port]'
  PLATFORM_DATABASE_USERNAME: '[replace with database username]'
  PLATFORM_DATABASE_PASSWORD: '[replace with database password]'
  PLATFORM_DATABASE_DB: '[replace with database name]'
  PLATFORM_DATABASE_SCHEMA: 'file_service'
  PLATFORM_DATABASE_SSLMODE: 'disable'
  PLATFORM_DATABASE_MAX_IDLE_CONNS: '10'
  PLATFORM_DATABASE_MAX_OPEN_CONNS: '100'
  PLATFORM_DATABASE_CONN_MAX_LIFE: '1800'
  PLATFORM_DATABASE_CONN_MAX_IDLE: '900'

   PLATFORM_KEYVAULT_TENANT_ID: '[replace with azure tenant id]'
  PLATFORM_KEYVAULT_CLIENT_ID: '[replace with azure client id]'
  PLATFORM_KEYVAULT_CLIENT_SECRET: '[replace with azure clietn secret]'
  PLATFORM_KEYVAULT_VAULT_NAME: '[replace with azure keyvault name]'
  PLATFORM_KEYVAULT_SECRET_NAME: PSQLENCRYPTIONKEY
  PLATFORM_WEB_SERVER_PORT: '3010'

  PLATFORM_STORAGE_AZURE_BLOB_STORAGE_CONNECTION_STRING: '[Replace with azure storage connection string]'
  PLATFORM_STORAGE_AZURE_BLOB_STORAGE_ACH_CONTAINER_NAME: ach-file-storage

  PLATFORM_KAFKA_BROKER: '[replace with kafka broker address]'
  PLATFORM_KAFKA_SCHEMA_REGISTRY_URL: '[replace with schema registry URL]'
  PLATFORM_KAFKA_SCHEMA_REGISTRY_TIMEOUT: "5000"
  PLATFORM_KAFKA_PRODUCER_SOCKET_TIMEOUT_MS: "10000"
  PLATFORM_KAFKA_PRODUCER_ACKS: all
  PLATFORM_KAFKA_PRODUCER_RETRIES: "3"
  PLATFORM_KAFKA_PRODUCER_RETRY_BACKOFF_MS: "1000"
  DOMAIN_ACH_TXN_TOPIC_NAME: achTxnInitiated
  PLATFORM_CORE_SERVICE_URL: '[Replace with core url]'
  PLATFORM_PAYMENT_PROCESSOR_SERVICE_URL: '[replace with ach funding processor url]'

  PLATFORM_KAFKA_EVENT_LOGGER_TOPIC: 'KAFKA_LOGGER_EVENT_TOPIC' 
  DOMAIN_RECONCILIATION_FILE_BATCH_SIZE: '1000'
  DOMAIN_RECONCILIATION_FILE_RATE_LIMIT_DELAY: '100'
  PLATFORM_STORAGE_SFTP_HOST: '[replace with sftp host]'
  PLATFORM_STORAGE_SFTP_PORT: '22'
  PLATFORM_STORAGE_SFTP_USERNAME: '[replace with sftp username]'
  PLATFORM_STORAGE_SFTP_PASSWORD: '[replace with sftp password]'
  PLATFORM_STORAGE_SFTP_INCOMING_PATH: '/vastbank/INCOMING' [inside sftp create the following folder]
  PLATFORM_STORAGE_SFTP_OUTGOING_PATH: '/vastbank/OUTGOING' [inside sftp create the following folder]
  PLATFORM_STORAGE_SFTP_PROCESSED_PATH: '/vastbank/PROCESSED' [inside sftp create the following folder]
  PLATFORM_STORAGE_SFTP_FAILED_PATH: '/vastbank/FAILED' [inside sftp create the following folder]

Swagger APIs

Download Swagger APIs tarball file available in Assets, unpack/unzip it in order to perform remaining instructions.

Update API

Public

Here’s the updated doc for Public API (v2), written as new API creation with API URL suffix included:


Public (v2)

Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select Add API.
  3. Choose OpenAPI tile

  4. Import method: Create new

  5. Select file: Public.openapi+json.json
Update settings
  1. Select Public API.
  2. Open Settings tab and update:

  3. Web service URL = core microservice URL

  4. API URL suffix = v2
  5. Save the changes.
Update methods ChainCore
  1. Open Design tab and enable Group by tag.
  2. Expand ChainCore and update the Backend – HTTP(s) endpoint with chain-core microservice URL.
  3. Repeat operation for all listed API methods under ChainCore.
Update methods Auth
  1. Open Design tab and enable Group by tag.
  2. Expand Auth and update the Backend – HTTP(s) endpoint with auth service microservice URL.
  3. Repeat operation for all listed API methods under Auth.
Update methods Card Issuer
  1. Open Design tab and enable Group by tag.
  2. Expand Card and update the Backend – HTTP(s) endpoint with card issuer service microservice URL.
  3. Repeat operation for all listed API methods under Card.

Partner (v2)

Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select Add API.
  3. Choose OpenAPI tile

  4. Import method: Create new

  5. Select file: omnumi-partner.json
Update settings
  1. Select Partner API.
  2. Open Settings tab and update:

  3. Web service URL = core microservice URL

  4. API URL suffix = v2/partner
  5. Save the changes.
Update methods ChainCore
  1. Open Design tab and enable Group by tag.
  2. Expand Chain and update the Backend – HTTP(s) endpoint with chain-core microservice URL.
  3. Repeat operation for all listed API methods under ChainCore.
Update methods Card Issuer
  1. Open Design tab and enable Group by tag.
  2. Expand Card and update the Backend – HTTP(s) endpoint with card issuer service microservice URL.
  3. Repeat operation for all listed API methods under Card.

Private: Omnumi Core

Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select Add API.
  3. Choose OpenAPI tile

  4. Import method: Create new

  5. Select file: private-omnumi-core.json
Update settings
  1. Select Omnumi Core API.
  2. Open Settings tab and update:

  3. Web service URL = core microservice URL

  4. API URL suffix = v2/private/core
  5. Save the changes.

Private: Omnumi Auth Service

Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select Add API.
  3. Choose OpenAPI tile

  4. Import method: Create new

  5. Select file: private-omnumi-auth.json
Update settings
  1. Select Omnumi Auth Service API.
  2. Open Settings tab and update:

  3. Web service URL = auth-service microservice URL

  4. API URL suffix = v2/private/auth
  5. Save the changes.

Private: Omnumi File Processor Service

Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select Add API.
  3. Choose OpenAPI tile

  4. Import method: Create new

  5. Select file: private-omnumi-file-processor.json
Update settings
  1. Select Omnumi File Processor Service API.
  2. Open Settings tab and update:

  3. Web service URL = omnumi-file-processor-service microservice URL

  4. API URL suffix = v2/private/file-processor
  5. Save the changes.

Azure Functions - Scheduler

Identify the Scheduler Azure Function app name and resource group, take note of them and replace the placeholders.

Download Azure App Function - Scheduler ZIP file available in Assets, unpack/unzip it in order to perform remaining instructions.

File: azapp_scheduler_310.zip

Deploy and build

Deploy the Function Using VS Code
  • In VS Code, open the Azure panel (click the Azure logo in the sidebar).
  • Under Functions, sign in to your Azure account if not already.
  • Find your subscription and locate your Function App.
  • Right-click the Function App name and select:
    Deploy to Function App...
  • Choose the folder to deploy (ul-scheduler).
  • Confirm "Yes" when prompted about overwriting existing content.

☁️ This will package and deploy your function to Azure.

Verify Deployment
  • Go to the Azure Portal.
  • Navigate to your Function App.
  • Check if the deployed function appears under the Functions section.
Update environment variables

After a successful deployment, must update the following environment variables:

Environment variable Description Default
FILE_SERVICE_ACH_REQUEST_METHOD API Request method POST
FILE_SERVICE_ACH_URL ach file processor Service URL [Replace with ach file processor service url/api/files/process]

Azure Functions

For the FILE_SERVICE_ACH_URL variable, the value name is collected from the resource created before.

Update environment variables
$ az functionapp config appsettings set \ 
    --settings FILE_SERVICE_ACH_URL="<baseURL>/api/files/process" FILE_SERVICE_ACH_REQUEST_METHOD="POST" \
    --resource-group [resource-group name] \
    --name [azure-function name]

Image list

Microservice name Image tag
Omnumi Core Microservice omnumisandbox.azurecr.io/core:3.1.0-deliverable
Omnumi Chain-core Microservice omnumisandbox.azurecr.io/chain-core:3.1.0-deliverable
Omnumi Frontend Microservice omnumisandbox.azurecr.io/frontend:3.1.0
Omnumi Auth Microservice omnumisandbox.azurecr.io/ul-auth:3.1.0-deliverable
Omnumi Card Reservation Microservice omnumisandbox.azurecr.io/omnumi-card-reservation:3.1.0-deliverable
Omnumi Listener Microservice omnumisandbox.azurecr.io/listener:3.1.0-deliverable
Omnumi Transactions Monitoring Microservice omnumisandbox.azurecr.io/omnumi-transaction-monitor:1.0.0-deliverable
Omnumi ACH Funding processor Microservice omnumisandbox.azurecr.io/omnumi-ach-funding-processor:1.0.0-deliverable
Omnumi ACH File processor Microservice omnumisandbox.azurecr.io/omnumi-ach-file-processor:1.0.0
Omnumi TX Signer Microservice omnumisandbox.azurecr.io/omnumi-tx-signer:3.1.0-deliverable
Omnumi Rule-Engine Microservice omnumisandbox.azurecr.io/rule-engine:3.1.0-deliverable
Omnumi Card Settelement Microservice omnumisandbox.azurecr.io/omnumi-card-settlement:3.1.0-deliverable
Omnumi Reports Microservice omnumisandbox.azurecr.io/report:3.1.0-deliverable
Omnumi Card Issuer Microservice omnumisandbox.azurecr.io/omnumi-card-issuer-service:3.1.0-deliverable

post-release-scripts

Download Post Release Script file available in Assets, with (post-deployment-310.docx)

Assets

Login into files portal