Release 2.6.0
Release Notes
Sanctions Monitoring
- Implemented backend logic to block Sanctioned and PEP (Politically Exposed Person) customers and notify compliance upon detection upon Sanction Screening.
- Added functionality to maintain and display historical KYC and Account status for enhanced compliance tracking.
- Integrated webhook support to receive and store Sanction and PEP data in real time.
- Updated email notifications to provide clear and detailed sanction alerts.
Email Verification Services
- Introduced OTP-based email verification for wallet customers to enhance onboarding security.
Consolidated Webhook for Third-Party Transactions
- Enhanced the webhook system to handle Success, Failure, and Cancellation responses from third-party services such as PayPal and Stripe.
- Modified PayPal and Stripe API request parameters to ensure compatibility with new a webhook structure.
Enhancements in Risk Attribute Display
- Improved Wallet Customer Card by enhancing the display and number of risk attributes for increased transparency.
Updates to Identification Badge Rules
- Implemented history tracking for identification badge updates to improve auditability.
- Enhanced logic to update badge rules dynamically, ensuring consistency across compliance workflows.
Integration with Oscilar API (v4)
- Upgraded Oscilar API to the latest version (v4) for onboarding and account updates, to improve risk assessment and fraud detection capabilities.
Upgrade Notes
The sequence of steps to follow to upgrade are:
Azure Event Hub
Create event hub
- Navigate to the Event Hubs service.
- Select the desired Event Hub Namespace
- Create new resource using the
+ Event Hubbutton - Enter the following details:
- Name:
oscilar-events - Partition Count:
4 - Message Retention time:
24
- Name:
- Create resource
Get connection string
- Navigate to the event hub created before
- Expand
Settingsmenu and selectShared access policies - Create new policy selecting
+ Addbutton:- Policy name:
oscilar - Select (enable) all remaining options:
Manage,SendandListen
- Policy name:
- Select the newly created policy
- Take note of
Primary connection string
- Take note of
The collected value will be used throughout the remaining steps.
For more details how to create and manage Event Hubs, check Azure documentation.
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.
Core microservice
Render new OTP secret
There's the need to render a 32 chars string to be used as OTP secret.
Execute the following command and take note of the value:
ConfigMap
Add/replace the following values in Core microservice's ConfigMap:
UL_SUPPORT_EMAIL: 'Support Email'
SECRET: '[replace with otp generated secret]'
OTP_EXPIRATION: '600000'
SUCCESS_URL: '[replace with console base url]/payments/success'
FAILURE_URL: '[replace with console base url]/payments/failure'
CANCEL_URL: '[replace with console base url]/payments/cancel'
Listener microservice
Listener microservice will now rely on a new event hub to be created in your Azure subscription.
Use the values collected from the newly created event hub.
ConfigMap
Add/replace the following values in Listener microservice's ConfigMap:
OSCILAR_STORAGE_ACCOUNT_CONNECTION_STRING: '[replace with storage connection string]'
OSCILAR_CONTAINER_NAME: 'oscilar-events'
OSCILAR_EVENT_HUB_CONNECTION_STRING: '[replace with `Primary connection string` copied above]'
OSCILAR_CONSUMER_GROUP: '$default'
OSCILAR_EVENT_HUB_NAME: 'oscilar-events'
AZURE_HOST: '[replace with azure email config host]'
CONNECTION_STRING: '[replace with azure email config string]'
Azure Functions - Event
Identify the events Azure Function app name and resource group, take note of them and replace the placeholders.
Download Azure App Function - Events ZIP file available in Assets, unpack/unzip it in order to perform remaining instructions.
Deploy and build
$ az functionapp deployment source config-zip \
--src azapp_events_260.zip \
--build-remote true \
--resource-group [resource-group name] \
--name [azure-function name]
Update environment variables
After a successful deployment, must update the following environment variables:
| Environment variable | Description | Default |
|---|---|---|
CONNECTION_STRING_OSCILAR |
Update with Event Hub connection string | null |
EVENTHUB_OSCILAR |
Azure Event Hub Name | oscilar-events |
Azure Event Hub
For the EVENTHUB_OSCILAR variable, the value name is collected from the resource created before.
$ az functionapp config appsettings set \
--settings CONNECTION_STRING_OSCILAR="<REPLACE>" EVENTHUB_OSCILAR="oscilar-events" \
--resource-group [resource-group name] \
--name [azure-function name]
DB 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]
Execute DB migrations
Execute the remaining commands located inside the extracted content folder (e.g.: db-migrations):
Swagger APIs
Download Swagger APIs tarball file available in Assets, unpack/unzip it in order to perform remaining instructions.
Update API
omnumi-internal
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
omnumi-internaland expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
omnumi-internal.openapi+json-3.json
- Import method:
Update settings
After a successful import update the following fields:
- Select
omnumi-internalAPI again - Open
Settingstab and updateWeb service URLwithul-coremicroservice URL - Save the changes
Update methods chain-core
- Select
omnumi-internalAPI again - Open
Designtab and enableGroup by tag - On the list expand
ChainCoreand update theBackend - HTTP(s) endpointwithul-chain-coremicroservice URL - Repeat operation for all listed API methods on the
ChainCore
Update methods Keycloak
- Select
omnumi-internalAPI again - Open
Designtab and use theSearch Operationsfield to filter bykeycloakword - Select the
keycloakentry and update:- The
Backend - HTTP(s) endpointwith Keycloak service URL - The
Inbound processing,Add policybutton, selectAllow cross-origin resource sharing (CORS)tile and save with defaults
- The
omnumi
Upload file
- Navigate to the API Management service service.
- Expand
APIsleft blade menu and selectAPIs - Select
omnumiand expand the API option button (...) to selectImportavailable option - Select
OpenAPItile- Import method:
Update - Select file:
omnumi.openapi+json-3.json
- Import method:
Update settings
- Select
omnumiAPI again - Open
Settingstab and updateWeb service URLwithul-coremicroservice URL - Save the changes
Update methods chain-core
- Select
omnumiAPI again - Open
Designtab and enableGroup by tag - On the list expand
ChainCoreand update theBackend - HTTP(s) endpointwithul-chain-coremicroservice URL - Repeat operation for all listed API methods on the
ChainCore
Image list
| Microservice name | Image tag |
|---|---|
| Core Microservice | omnumisandbox.azurecr.io/core:20250214.2-deliverable |
| Listener Microservice | omnumisandbox.azurecr.io/listener:20250213.2-deliverable |
| Frontend Microservice | omnumisandbox.azurecr.io/frontend:20250214.1 |