Appearance
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.
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.
Restriction | Description |
---|---|
Balance | Maximum of €150 per User. |
Crediting Wallets | Maximum of €150 per 30 days (sum). |
Debiting Wallets | Maximum of €150 per 30 days (sum). |
Card transactions | Maximum 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. |
Country | Anonymous eMoney cannot be used outside of the User's country. |
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:
- Checks
- Emitted SEPA Credit Transfers (SCTE)
- SEPA Direct Debit (SDDR and SDDE)
- Transfers, except from/to:
- Payment Account Wallets, or
- Other Anonymous eMoney Wallet with user parent-children relationships, or
- Users of the same Treezor environment (i.e., belonging to your Treezor environment) who are not anonymous (e.g., KYC Level of
2
or3
).
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.
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 web shop. 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 check via the API, then mail in that check 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.
Attribute | Type | Description |
---|---|---|
eventName | string | The name of the Wallet. |
solde | float | The current Balance of the Wallet. Prefer the Balance endpoints for more accurate values. |
authorizedBalance | float | The balance of the Wallet, including currently pending operations. Prefer the Balance endpoints for more accurate values. |
userId | integer | The unique identifier of the User owning the Wallet. |
walletTag | string | Custom attribute that you can use as you see fit. Learn more in the Object tags article. |
tariffId | integer | The fees applied to the Wallet, as defined by your contract with Treezor. |
walletStatus | string | The status of the Wallet, which can be one of the following: PENDING , VALIDATED , or CANCELED . |
bic | string | The 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. |
iban | string | The automatically assigned IBAN of the Wallet. |
currency | string | The currency of the Wallet, in the ISO 4217 3-letter code format. As of today, Treezor only supports EUR . |
API – Swagger documentation available
For a complete list of Wallet attributes, check the Wallets section of the Swagger.
Wallet Status
codeStatus | walletStatus | Description | |
---|---|---|---|
120001 | PENDING | Some checks are in progress. | |
120002 | PENDING | KYC process in progress. | |
120003 | CANCELED | Wallet closed by an operator. | |
120004 | CANCELED | Wallet closed by the end user. | |
120005 | VALIDATED | Wallet 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
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
Endpoint | Scope |
---|---|
/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 |