Skip to content

Introduction

A Wallet can be seen as a bank account. Each user has to have at least one Wallet to make any kind of transaction.

Types of wallets

Treezor offers 4 types of wallets.

Wallets Relations

Electronic Money Wallet (type 9)

The Electronic Money Wallet is a low-constraint Wallet (activated easily), made to support only a specific set of features. Using this Wallet Type requires EM approval of your project on your side.

Electronic Money Wallets have two subtypes: Anonymous and Nominative.

Anonymous eMoney

Anonymous eMoney doesn't require a KYC validation of the attached User (KYC Level of 0 or 1). It can benefit from a KYC at a later date, in which case it becomes a Nominative eMoney Wallet and restrictions change accordingly.

The following limits and restrictions are currently enforced in Belgium, France, Germany, and Spain. In addition, anonymous electronic money isn't allowed in Italy.

RestrictionDescription
BalanceMaximum of €150 per User.
Crediting WalletsMaximum of €150 per 30 days (sum).
Debiting WalletsMaximum of €150 per 30 days (sum).
Card transactionsMaximum of €50 online and €150 in physical shops.
Card Transaction Merchant Category Codes (MCC)Prohibited business types such as: money transfer, money order, foreign currency, liquid and cryptocurrency assets, lotteries, on-line gambling, betting, etc.
CountryAnonymous eMoney cannot be used outside of the User's country.
Info icon

Information – The €150 limit does not apply when the wallet is:

  • Used for special payment vouchers (i.e., restricted to certain categories of goods or services) and
  • Associated to a parent Legal entity that is KYC validated.

In addition, Anonymous eMoney is incompatible with the following features:

Nominative eMoney

Nominative eMoney Wallets require the corresponding user KYC validation (KYC Level of 2 or 3).

Shares the same features as the Payment Account Wallet.

Payment Account Wallet (type 10)

The Payment Account Wallet is the type of Wallet which offers the most comprehensive use for end users, as it can be used for any types of operations*(including outgoing SEPA transfers). Using this Wallet Type requires the ACPR approval of your project on your side.

This Wallet can only be used by users that have been through KYC validation, and this from the very first euro.

Mirror or Technical Wallet (type 13) Hidden

Mirror or Technical Wallets are required for certain operations to work properly. They can be used without a balance, if you manage the balance on your side. These Wallets can't be created manually, Treezor creates them when necessary.

Electronic Money Card (type 14) Internal

Electronic Money Card Wallet are required for certain operations to work properly. These Wallets can't be created manually, Treezor creates them when necessary.

Titres spéciaux de paiement (type 15)

These are technical wallets for what is called in French "Titres Spéciaux de Paiement (TSPs)", which includes payment titles that are used for specific and regulated usage (e.g., employee benefits, lunch vouchers). They are only available to certain clients as per agreement with Treezor.

Bulb icon

Tip – The Wallet type is editable up to the first operation

Once the first transaction occurred, the walletTypeId can no longer be updated.

How To Credit Wallets (Top-up)

To credit a Wallet, multiple options are available to you.

Credit with a Card Topup

Card Topups allow you to display a Card acquisition form in your application, in a similar way to a payment form on a webshop. The user can use their existing Card to credit the wallet instantly.

Credit with a SEPA Credit Transfer

SEPA Cedit Transfers (SCTR) are a type of inter-bank transfers, initiated by the debtor who needs to know the IBAN of the Wallet to credit. It usually takes a few days to appear on the Wallet.

Instantaneous SEPA Credit Transfers (SCTR Inst) are a quicker variant of the aforementioned SCTR. It usually takes a few seconds to appear on the Wallet.

Credit with a SEPA Direct Debit

SEPA Direct Debit (SDDE) are a type of inter-bank debit, initiated by the creditor who needs to know the IBAN of the account to debit and have a Mandate signed by the debtor.

Credit by cashing Checks

Traditional check cashing remains a reliable way of receiving money on a Wallet. Treezor offers the ability to first register a cheque via the API, then mail in that cheque for cashing on a Wallet. See the Checks section of the documentation for more information.

Credit with Wallet-to-Wallet transfers

Within Treezor, you can use inter-wallet Transfers that take effect immediately.

Key attributes

Below are some of the most important Wallet attributes.

AttributeTypeDescription
eventNamestringThe name of the Wallet.
soldefloatThe current Balance of the Wallet.
Prefer the Balance endpoints for more accurate values.
authorizedBalancefloatThe balance of the Wallet, including currently pending operations.
Prefer the Balance endpoints for more accurate values.
userIdintegerThe unique identifier of the User owning the Wallet.
walletTagstringCustom attribute that you can use as you see fit.
Learn more in the Object tags article.
tariffIdintegerThe fees applied to the Wallet, as defined by your contract with Treezor.
walletStatusstringThe status of the Wallet, which can be one of the following: PENDING, VALIDATED, or CANCELED.
bicstringThe Bank Unique Identifier of the bank hosting the Wallet. All Wallets at Treezor have the same BIC unless you are a Payment Institution or more broadly a Regulated Institution.
ibanstringThe automatically assigned IBAN of the Wallet.
currencystringThe currency of the Wallet, in the ISO 4217 3-letter code format. As of today, Treezor only supports EUR.
code icon

API – Swagger documentation available

For a complete list of Wallet attributes, check the Wallets section of the Swagger.

Wallet Status

codeStatuswalletStatusDescription
pending120001PENDINGSome checks are in progress.
pending120002PENDINGKYC process in progress.
canceled120003CANCELEDWallet closed by an operator.
canceled120004CANCELEDWallet closed by the end user.
yes checkmark120005VALIDATEDWallet is ready for use.

Structure

json
{
	"walletId": 0,
	"walletTypeId": 0,
	"walletStatus": "PENDING",
	"codeStatus": 0,
	"informationStatus": "string",
	"walletTag": "string",
	"userId": 0,
	"userLastname": "string",
	"userFirstname": "string",
	"jointUserId": 0, 				// Legacy attribute, do not use  
	"tariffId": 0,
	"eventName": "string",
	"eventAlias": "string",			// Legacy attribute, do not use
	"eventDate": "string",			// Legacy attribute, do not use
	"eventMessage": "string",
	"eventPayinStartDate": "string",// Legacy attribute, do not use
	"eventPayinEndDate": "string",	// Legacy attribute, do not use
	"contractSigned": 0,
	"bic": "string",
	"iban": "string",
	"urlImage": "string",
	"currency": "string",
	"createdDate": "string",
	"modifiedDate": "string",
	"payinCount": 0,
	"payoutCount": 0,
	"transferCount": 0,
	"solde": 0,
	"authorizedBalance": 0,
	"totalRows": 0
}
Thumbs icon

Best practice – Use the endpoints dedicated to Balances

You may experience some latency with the Wallet solde and authorizedBalance fields. Use the /v1/balances/{walletId} endpoint for a more performant usage. See the Balances article.

Endpoints

EndpointScope
/v1/wallets
Create a Wallet
read_write
/v1/wallets
Search for Wallets
read_only
/v1/wallets/{walletId}
Retrieve a Wallet based on its id
read_only
/v1/wallets/{walletId}
Update a Wallet
read_write
/v1/wallets/{walletId}
Set the Wallet status to CANCELED
read_write
/v1/balances/{walletId}
Retrieve the Balance of Wallets based on the walletId or userId
read_only
/core-connect/balance/{walletId}/balance
Retrieve the Balance History of a Wallet
read_only