Release 3.0.0
Release Date: 02-10-2025
Release Notes
📋 Overview
- Release v3.0.0 delivers a new Feature for RAIN Card Issuance and Transactions — a new addition to the card management systems.
Summary
Features
RAIN
- Rain – Development for Card Issuance
- Rain – Development for Transactions
- Enhancement in Onboard and Update API (Adding Four Fields)
- Enhancement in Badge Management for Identification and Information Badges
- Rain – Manage Debit Card
Other Features/Improvements
- Enhancement in Badge Update Webhook for Identification, Financial, and Information Badges
- Enhancement – Uniqueness of Email ID per Customer
Upgrade Notes
The sequence of steps to follow to upgrade are:
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.
Omnumi Frontend microservice
ConfigMap
Add/replace the following values in Omnumi Frontend microservice's ConfigMap:
Client Authorizer microservice
ConfigMap
Add/replace the following values in Client Authorizer microservice's ConfigMap:
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 client secret']
PLATFORM_KEYVAULT_VAULT_NAME: ['replace with azure keyvault name']
PLATFORM_KEYVAULT_SECRET_NAME: PSQLENCRYPTIONKEY
PLATFORM_RAIN_X_API_KEY_KEY: ['Rain Api key']
PLATFORM_CARD_RESERVATION_SERVICE_URL: [replace with card reservation service URL]
PLATFORM_CARD_SETTLEMENT_SERVICE_URL: [replace with card settelment service URL]
PLATFORM_WEBHOOK_TIMEOUT: '400'
Card Issuer microservice
Render new RAIN_SESSION_SECRET
There's the need to render a 32 chars string to be used as RAIN_SESSION_SECRET.
Execute the following command and take note of the value:
ConfigMap
Multiline
RAIN_RSA_PUBLIC_KEY_PEM group keys can be added as YAML multiline using |.
Check the indentation to avoid any errors
Add/replace the following values in Card Issuer microservice's ConfigMap:
VENDOR_RAIN: 'RAIN'
RAIN_X_API_KEY: '[Rain Api key]'
RAIN_API_BASE_URL: '[Rain Api Base Url]'
RAIN_API_VERSION: 'v1'
RAIN_RSA_PUBLIC_KEY_PEM: '[Replace with Rain Public key]'
RAIN_SESSION_SECRET: '[replace with otp generated secret]'
SANDBOX_RPC_URL: 'RPC URL'
ZERO_ADDRESS_CONTRACT: '0x0000000000000000000000000000000000002070'
CONTRACT_ADDRESS_TOKENRESERVE: 'Token Reserve Smart contract address'
RAIN_CARD_LIMIT: '1000'
Auth microservice
ConfigMap
Create a set of new private and public key per PREAUTH_TOKEN_PRIVATE_KEY and PREAUTH_TOKEN_PUBLIC_KEY group.
| Variable | Description |
|---|---|
PREAUTH_TOKEN_PRIVATE_KEY |
Private key used for Pre-Auth |
PREAUTH_TOKEN_PUBLIC_KEY |
Public key used for for Pre-Auth. |
Execute the following command and take note of the value:
Private and pub keys
The output will render both private an public to the stdout.
You should select each block and fill in the correct variable with the respective content.
Add/replace the following values in Auth microservice's ConfigMap:
Multiline
PREAUTH_TOKEN_PRIVATE_KEY and PREAUTH_TOKEN_PUBLIC_KEY group keys can be added as YAML multiline using |.
Check the indentation to avoid any errors
#PreAuth token
PREAUTH_TOKEN_PRIVATE_KEY: |
[replace with key contents]
PREAUTH_TOKEN_PUBLIC_KEY: |
[replace with key contents]
DB migrations
Omnumi Core migrations
Download DB migrations ZIP file available in Assets, unpack/unzip it in order to perform remaining instructions.
DB backup
Before proceeding with remaining steps, it's strongly advised to take a database backup before proceeding.
Update credentials
Edit/create a file named development.env inside db-migrations/src/common/envs folder
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 default tenant name]
Execute DB migrations
Execute the remaining commands located inside the extracted content folder (e.g.: db-migrations):
Client Authorizer Schema
Database variable to change
The belo SQL Command must be execute inside client_authorizer Schema
ALTER TABLE transactions
ADD COLUMN merchant_id TEXT,
ADD COLUMN merchant_city TEXT,
ADD COLUMN merchant_name TEXT,
ADD COLUMN user_last_name TEXT,
ADD COLUMN user_first_name TEXT,
ADD COLUMN merchant_country TEXT,
ADD COLUMN authorized_amount FLOAT8,
ADD COLUMN merchant_category TEXT,
ADD COLUMN authorization_method TEXT,
ADD COLUMN merchant_category_code TEXT,
ADD COLUMN previously_authorized_amount FLOAT8,
ADD COLUMN user_id TEXT,
ADD COLUMN user_email TEXT;
ALTER TABLE transactions
ADD COLUMN dss_vendor_id uuid NULL;
UPDATE transactions t
SET dss_vendor_id = v.dss_vendor_id
FROM public.dss_vendor v
WHERE t.partner = v.name;
ALTER TABLE transactions
ADD CONSTRAINT fk_transactions_dss_vendor
FOREIGN KEY (dss_vendor_id) REFERENCES public.dss_vendor(dss_vendor_id);
ALTER TABLE transactions DROP COLUMN partner;
CREATE INDEX IF NOT EXISTS idx_transactions_public_id
ON transactions (public_id);
CREATE INDEX IF NOT EXISTS idx_transactions_transaction_id
ON transactions (transaction_id);
ALTER TABLE transactions
ALTER COLUMN process_code DROP NOT NULL,
ALTER COLUMN rrn DROP NOT NULL,
ALTER COLUMN stan DROP NOT NULL,
ALTER COLUMN terminal_id DROP NOT NULL,
ALTER COLUMN acquirer_id DROP NOT NULL,
ADD COLUMN authorize_update_amount FLOAT;
INSERT INTO client_authorizer.goose_db_version (version_id,is_applied,tstamp) VALUES
(20250909072306,true,'2025-10-02 06:26:19.643882'),
(20250909072733,true,'2025-10-02 06:26:19.667698'),
(20250909143436,true,'2025-10-02 06:26:19.750763'),
(20250911115157,true,'2025-10-02 06:26:19.79371' );
Swagger APIs
Download Swagger APIs tarball file available in Assets, unpack/unzip it in order to perform remaining instructions.
Update API
Public (v2)
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
publicand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
Public.openapi-3.0.0.json
- Import method:
Update settings
- Select
PublicAPI. -
Open
Settingstab and update: -
Web service URL =
coremicroservice URL -
Save the changes.
Update methods ChainCore
- Open
Chaintab and enable Group by tag. - Expand ChainCore and update the Backend – HTTP(s) endpoint with
chain-coremicroservice URL. - Repeat operation for all listed API methods under ChainCore.
Update methods Auth
- Open
Authtab and enable Group by tag. - Expand Auth and update the Backend – HTTP(s) endpoint with
auth servicemicroservice URL. - Repeat operation for all listed API methods under Auth.
Update methods Card Issuer
- Open
Cardtab and enable Group by tag. - Expand Card and update the Backend – HTTP(s) endpoint with
card issuer servicemicroservice URL. - Repeat operation for all listed API methods under Card.
Partner (v2)
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
partnerand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
Partner-openapi-300.json
- Import method:
Update settings
- Select
PartnerAPI. -
Open
Settingstab and update: -
Web service URL =
coremicroservice URL -
Save the changes.
Update methods ChainCore
- Open
Chaintab and enable Group by tag. - Expand ChainCore and update the Backend – HTTP(s) endpoint with
chain-coremicroservice URL. - Repeat operation for all listed API methods under ChainCore.
Update methods Card Issuer
- Open
Cardtab and enable Group by tag. - Expand Card and update the Backend – HTTP(s) endpoint with
card issuer servicemicroservice URL. - Repeat operation for all listed API methods under Card.
Private: Omnumi Core
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
Private:coreand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
private-core.3.0.0.open-api.json
- Import method:
Update settings
- Select
Private:coreAPI. -
Open
Settingstab and update: -
Web service URL =
coremicroservice URL -
Save the changes.
Private: Card Issuer
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
Private:Card Issuerand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
private-card-issuer.3.0.0.open-api.json
- Import method:
Update settings
- Select
Private:Card IssuerAPI. -
Open
Settingstab and update: -
Web service URL =
card-issuermicroservice URL - Save the changes.
Private: Omnumi Rule Engine
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
Private:Rules Engineand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
Private-rules-engine-3.0.0.open-api.json
- Import method:
Update settings
- Select
Private:Rules EngineAPI. -
Open
Settingstab and update: -
Web service URL =
rule-enginemicroservice URL - Save the changes.
Image list
| Microservice name | Image tag |
|---|---|
| Omnumi Core Microservice | omnumisandbox.azurecr.io/core:3.0.0-deliverable |
| Omnumi Rule-Engine Microservice | omnumisandbox.azurecr.io/rule-engine:3.0.0-deliverable |
| Omnumi Card Resrvation Microservice | omnumisandbox.azurecr.io/omnumi-card-reservation:3.0.0-deliverable |
| Omnumi Listener Microservice | omnumisandbox.azurecr.io/listener:3.0.0-deliverable |
| Omnumi Card Issuer Microservice | omnumisandbox.azurecr.io/omnumi-card-issuer-service:3.0.0-deliverable |
| Omnumi Client Authorizer Microservice | omnumisandbox.azurecr.io/omnumi-client-authorizer:3.0.0 |
| Frontend Microservice | omnumisandbox.azurecr.io/frontend:3.0.0 |
post-release-scripts
Download Post Release Script file available in Assets, with (post-release-scripts-300.docx)