Appearance
Are you an LLM? You can read better optimized documentation at /guide/cheques/introduction.md for this page in Markdown format
Introduction
Treezor allows your end users to cash checks.
Checks are a traditional means of physical payment, mapped to Payin objects, with a paymentMethodId attribute set to 26.
Configuration – Checks are not enabled by default
You can request access to this feature by contacting your Treezor Account Manager.
Important – Limitations
- Recipient name on the check must match the Wallet owner name.
- Maximum amount set by Treezor. Contact your Treezor Account Manager to define your limit.
Process
Check cashing into a Wallet implies the creation of the relevant object in Treezor API and the physical handling of checks so that they can be processed.
The steps are the following:
- You create a Payin (
paymentMethodId26) - Treezor sends a
payin.createwebhook (status160001) confirming the creation - Treezor sends a
payin.createwebhook (status160003) allowing you to mail the check in - You mail in the physical check to the indicated postal address
- The check is processed by Treezor's partner and is either:
- Accepted – The
payinStatusis set toVALIDATED - Refused – The
payinStatusis set toCANCELEDand the check is mailed back to you.
- Accepted – The
The processing of a check follows strict delays:
- Delay between the check Payin creation and physical check reception can't exceed 14 days
- Delay between the physical check reception and the validation can't be lower than 11 days
Anatomy of a check
The physical check contains information that you have to include in the corresponding Payin object.

| Section | Description |
|---|---|
| CMC7 line | The unique identifier of the physical check printed in magnetic ink at the bottom of the check. Made up of:
|
| RLMC key | The 2-character key, enclosed by <> or () used to check the integrity of the CMC7 line (%97.) |
| Drawer | Information about the user who emitted the check. |
| Beneficiary | The user who receives the check and cashes it. |
Key attributes
Checks rely on the Payin object. Below are some of the relevant Payin attributes when it comes to cashing checks.
| Attribute | Type | Description |
|---|---|---|
paymentMethodId | integer | The payment method. For checks, this value is always 26. |
payinStatus | string | The status of the check cashing process. May be one of the following:
|
amount | number | The amount of the check. |
currency | string | The currency of the check. |
additionalData | object | Contains the cmc7 line, the drawer data and the RLMC key of the check. |
API – API Reference available
Refer to the Payins section in the API Reference for a complete list of Checks attributes.
Additional Data (additionalData)
The additionalData object allows you to provide information that is available on the physical check.
json
"additionalData":
{
"cheque": {
"cmc7": {
"a": "000036", // required, 1st section of CMC7 line
"b": "0230021566985", // required, 2nd section of CMC7 line
"c": "00700065456" // required, 3rd section of CMC7 line
},
"RLMCKey": "22", // required, RMLC key
"drawerData": { // required object
"isNaturalPerson": true, // required, boolean, true: physical / false: legal entity
"email": "aoak@example.com", // drawer's email
"firstName": "Alex", // drawer's firstname
"lastName": "Oak", // drawer's lastname
"address": "22 Rosewood Lane", // drawer's address
"address2": "App. 12", // drawer's address continued
"zipCode": "75001", // drawer's postcode
"city": "Paris" // drawer's city
}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Status Codes (codeStatus)
| Code | Description |
|---|---|
| 140004 | The cheque Payin has been cancelled before the reception at the treatment center. |
| 140005 | Funds received by Treezor. Payin is validated and funds are usable on the wallet. |
| 160001 | Waiting for treatement center aknowledgement |
| 160002 | The treatement center aknowledgement failed |
| 160003 | The cheque can now be sent to the treatement center |
| 151125 | The controls of the cheque have failed. |
| 151129 | Cheque has been successfully treated. Waiting for bank settlement |
| 151130 | Payment is in the 11 working days delay period, to prevent bounced cheques. |
| 151132 | The check has been received by the treatment center of our partner. |
| 151134 | The check has not been received by the treatement center in the allowed delay of 14 calendar days |
| 151136 | Check rejected |
| 170001 | Refund request |
| 170005 | Refund validated |
Check payin object
json
{
"payinId": "2xxxxx1",
"payinTag": "",
"walletId": "3xxxx4",
"userId": "1xxxx2",
"payinStatus": "CANCELED",
"paymentMethodId": "26",
"messageToUser": "",
"subtotalItems": "0.00",
"subtotalServices": "0.00",
"subtotalTax": "0.00",
"amount": "195.00",
"currency": "EUR",
"createdDate": "2020-09-22 12:43:14",
"walletEventName": "Name Test",
"walletAlias": "Alias Test",
"userFirstname": "TEST Chèque",
"userLastname": "",
"codeStatus": "151128",
"informationStatus": "Cheque cannot be treated amount is too low comparing to original demand",
"refundAmount": null,
"DbtrIBAN": null,
"forwardUrl": null,
"paymentAcceptedUrl": null,
"paymentRefusedUrl": null,
"paymentWaitingUrl": null,
"paymentExceptionUrl": null,
"paymentCanceledUrl": null,
"payinDate": "0000-00-00",
"mandateId": "0",
"creditorName": null,
"creditorAddressLine": null,
"creditorCountry": null,
"creditorIban": null,
"creditorBIC": null,
"virtualIbanId": null,
"virtualIbanReference": null,
"additionalData": {
"cheque": {
"cmc7": {
"a": "5xxxxx1",
"b": "0xxxxxxxxxx8",
"c": "1xxxxxxxxxx4"
},
"RLMCKey": "xx",
"drawerData": {"isNaturalPerson":false}
}
}
}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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Endpoints
| Endpoint | Scope |
|---|---|
/v1/payins Create a check payin | read_write |
/v1/payins Search for check payins | read_only |
/v1/payins/{payinId} Retrieve a check payin using its id | read_only |
/v1/payins/{payinId} Delete a check payin | read_write |