Users and Accounts Overview

This guide provides an overview of users and accounts, two primary resources on the Solaris platform. It covers how to create and manage these resources, as well as their most common statuses and workflows.

Users and accounts at a glance

  • A user is anyone who holds an account or payment card on the Solaris platform. Users are created and managed via the Consumer API .
  • An account is an e-money (EMI) account that allows a user to accept and make payments in the UK and EEA without the need for a bank account. EMI accounts come with addressable account numbers, sort codes, BICs, IBANs and Bank IDs. Accounts are managed via the Account API .
  • All accounts are created with an associated agreement code which specifies the terms and conditions of the account including fees, charges and limits etc.

User and account lifecycle

Creating users and accounts

Postcode validation

When creating a user or updating their contact information, validation will be run on the Postcode of their current address, as detailed in the User address data section.

Users (referred to as "Consumers") are created via the Consumer/AddConsumers method, which will create both the consumer and the respective account simultaneously.

When creating a consumer, the IsSkipKYC parameter determines which KYC journey should be used:

  • If KYC is to be conducted by Solaris EMI, the partner must pass this parameter as false . This will initiate the relevant KYC checks synchronously, and there will be a delay before a response from the API as these are run.
  • If KYC is being undertaken by the partner on behalf of Solaris EMI, then this must be passed as true .

Closing accounts

Accounts can be closed either via the API or by directly requesting the account closure from Solaris.

Closing accounts via the API

To successfully action a closure via the API, the account must have:

  • An account balance and available balance of zero.
  • No pending settlement transactions.
  • No currently active sub accounts.

Provided these conditions are met, the Consumer/SetConsumerAsLockout method can be used to close the account. When successfully called:

  • The consumer's status will be set to Locked Out .
  • The associated account status will be set to Closed .
  • Any cards associated with the account will be set to Issuer Cancelled .
Closing Accounts

Setting a consumer's status to Locked Out cannot be reverted via the API.

Notes on closing accounts via the API:

  • If you are providing customer services directly to your end users and intend to use the API for account closures, you must provide your account closure process and procedures in your Customer Service Policies, which will need to be reviewed and approved by Solaris Partner Services.
  • If you intend to close a Card Program, do not use the API to close individual accounts. Card Program closure activities must be handled by Solaris.

User statuses

Outbound transfers

Unless a user's status is Active, outbound transfers are not permitted from their account.

Status Code Description Settable via API
Active 01 Live, active user with all relevant functionality permitted. Yes
Inactive 02 Prior to set up being completed. The user's account has not yet been activated. No
Checked 04 Additional information is required for setup to be completed. No transfers or transactions allowed. No
Declined 07 Account has been declined by Solaris, for example due to failure to pass the relevant KYC checks. No
Limited 09 Prior to setup being completed. Additional information may be required or a sign up fee not paid, for example. The user can receive payments into their account while in this status. No
Locked Out 12 User is locked out and will not be able to login to or access any functionality of the Solaris API. Yes
Suspended 13 The user has been suspended - all user activity is blocked. Yes

User related webhook notifications

Accounts

Account statuses

info

It is not possible to set account statuses via the API.

Status Code Description
Live (Active) 01 The account is active with all functionality permitted.
Suspended 02 Account is temporarily suspended for either investigation or as a status prior to closure.
Inactive 03 The account is in the process of being set up.
Closed 04 The account is closed. Once set to this status, the account cannot be reopened and the user will not be able to gain access to it.
Frozen 05 The account is under investigation for fraudulent activity. No fund movements into or out of the account are permitted.
Dormant 06 The account has not been used for a pre-determined time - typically 90 days without any transactions (excluding fees), and has been set as dormant to protect any funds in the account.
Limited 07 The account setup is not yet fully complete. For example, fraud (or KYC if in scope) checks are currently being performed. No transfers or transactions permitted.

Account related webhook notifications

User address data

Partners are responsible for the collection of accurate and consistently formatted address data. In order to facilitate this, Solaris' recommendation is to use a specialized third party address retrieval/validation service. This is especially pertinent for partners intending to offer physical cards, in order to mitigate against failed card delivery.

Postcode validation

Postcode validation will always be be run when calling either of the following methods:

This validation logic will be run against the PresentAddress object's Postcode parameter. The validation pattern will be based on the ISO 3166-1 numeric country code value specified in the respective ISOCountryCode parameter (shown below). An incorrectly matched post code will result in an error response with error code 3486.

Country (ISO 3166-1 numeric code) Validation pattern used
United Kingdom (826) (GIR 0AA)\|(^[A-z]{1,2}\d{1,2}([A-z]{0,1})[\x20]{0,1}([A-z]{0,1}){0,1}\d{1,2}([A-z]{1,2}))
Austria (040)
Belgium (056)
Bulgaria (100)
Hungary (348)
Liechtenstein (438)
Norway (578)
Slovenia (705)
^[0-9]{4}$
Croatia (191)
Estonia (233)
Finland (246)
France (250)
Germany (276)
Greece (300)
Italy (380)
Slovakia (703)
Spain (724)
Sweden (752)
^[0-9]{5}$
Cyprus (196) ^[0-9]{4,5}$
Denmark (208) ^(?=.{4,7}$)(?!-)(DK)?(-)?([0-9]{4})+$
Gibraltar (292) (^(GIR0AA)$)|(^(?=.{5,7}$)[A-z]{1,2}\d{1,2}([A-z]{0,1})[\x20]{0,1}([A-z]{0,1}){0,1}\d{1,2}([A-z]{1,2})$)
Iceland (352) ^[0-9]{3}$
Ireland (372) ^[0-9\s*,A-Z\s*]{3,7}$
Latvia (428) ^(?=.{4,7}$)(?!-)(LV)?(-)?([0-9]{4})+$
Lithuania (440) ^(?=.{5,8}$)(?!-)(LT)?(-)?([0-9]{5})+$
Luxembourg (442) ^(?=.{4,6}$)(?!-)(L)?(-)?([0-9]{4})+$
Malta (470) ^[A-Z]{3}[0-9]{4}$
Netherlands (528) ^[0-9]{4}[A-Z]{2}$
Poland (616) ^[0-9]{2}(-)?[0-9]{3}$
Portugal (620) ^[0-9]{4}(-)?[0-9]{3}$
Romania (642) ^[0-9]{6}$
Russian Federation (643) ^[1-6][0-9]{5}$
Solaris is the brand name for the regulated entities Contis Financial Services Ltd and UAB „Finansinės paslaugos „Contis“, which are part of the Solaris Group.