Request a KYC

Resources

Access to KYC requests:

- Access to requests from a user of the connected third-party application.
/api/[domaine partenaire]/users/appuserid/kyc/identitycontrol to send an ID (only usable for private individuals)
/api/[domaine partenaire]/users/appuserid/kyc/addresscontrol to send a proof od adress (only usable for private individuals)
/api/[domaine partenaire]/users/appuserid/kyc/ to send any other document

Important notice : it is essential that the adress is entirely completed before sending KYC.

1.KYC

Parameters Type Example Description
Id Long 18 ID of the KYC request
RequestDate DateTime 2013-09-10T
15:50:37.2363199+02:00
Date of the request
Status Int 0 Request status:
0 = Incomplete
1 = Ongoing
2 = Rejected
3 = Accepted
Reason String Reason why the request has been rejectedR
VoucherCopies List<Attachment> List of supporting documents
response string "YES" This field is mandatory when using route POST /checkkyc
Accepted value: "YES"

2.Attachment

Parameter Type Example Description
Id Long Id File ID
Name String "ID" File name
ContentType String "image/png" Image type

Approved types are:
PNG
JPEG
TIFF
PJPEG
X-PNG
PDF
BMP
Size Long 523010 Size of the attached file (in octet)
Type Long 1 Null = Unknown
0 = Bank account details
1 = ID
2 = Proof of adress
3 = KBIS
4 = Other
Status Int 1 0 = Pending
1 = Valid
2 = Invalid
3 = Incomplete
4 = Not verified
5 = In progress
7 = Ignored
Message String Not verified Reason entered by the operator
AdditionalStatus Int 0 0 = Not vérified
1 = Compliant, consistent and valid
2 = Falsified (if ID falsified or minor)
3 = Unreadable or cut
4 = Item missing or out of scope (If ID: Only Verso with missing back / if bank account details: Bank out of scope / if proof of adress: Provider out of scope)
5 = Not consistent / data (if ID: Name - surname are reversed / if proof of adress: error on the holder)
6 = Not consistent / data: other error
7 = Expired
8 = Compliant, consistent and valid but not qualifiable (If bank account details or proof of adress: verified except for name of the holder not verified)
9 = Out of scope
TreatmentDate 2017-05-24T17:06:08 Completion date of the item
ReceivedDate 2017-05-24T17:06:08 Receipt date of the item
href Url Link to the attached file

Create a KYC request

To create a KYC request via the API, please refer to the example in the right margin of this page.

3 entry point are available according to the type of document sent:

- POST /users/appuserid/kyc/identitycontrol to send an ID (only usable for private individuals)

- POST /users/appuserid/kyc/addresscontrol to send a proof of adress (only usable for private individuals)

- POST /users/appuserid/kyc to send any other supporting document

Sending the first item opens the request, then the next sendings will contribute to the request.
Warning: the name of the file sent must not exceed 100 caracters. The maximum size allowed in the request is 20 MB, the size per piece is 10 MB.

Validation of rejection of a KYC request

Verifying KYC requests takes a few seconds when using /idcontrol or /addresscontrol.
Please note that front and back sides of ID need to be sent in the same request in two different files. In addition, for the tests, proofs of adress and ID need to be real to be validated.

S-money verifies KYC requests within 48h. When the request is being processed, a notification is sent to the third-party server.

Retrieve a single KYC request

To retrieve a single KYC request, please refer to the example to the right margin of this page.

Retrieve KYC requests of a user

To retrieve the list of KYC requests of a user, please refer to the example to the right margin of this page.

Send data to the third-party server

Send data to the third-party server

The third-party server has to make available a server url enabling the S-money server to notify it when a request item is validated or rejected. With every notification the status and the fonction of the user can evolve.

The call to the S-money server is made using the method HTTP POST with a content-type : application/json

The HTTP request parameters are:

Parameters Type Description
type Int Operation type
4 = KYC
parameters parameters Callback details

Parameters

Parameters Type Description
user user Object displaying user details
demand demand Object displaying details of the request associated with the user
attachments [attachment] Tab displaying the detail of one or several items

User

Parameter Type Description
id long Client S-money ID
appuserid string Client ID for the third-party application
status int 1 = OK
2 = Frozen
3 = On the fly
4 = Closing
5 = Closed
6 = Waiting for KYC (transfers blocked)
7 = Blocked
role int 1 = Client
2 = Extended client (KYC)

Demand

Parameter Type Description
id long KYC request ID
status int 0 = Incomplete
1 = Pending
2 = Rejected
3 = Accepted
message string Reason entered by the operator

Attachment

Parameter Type Description
id long Item ID
status int 0 = Pending
1 = Valid
2 = Invalid
3 = Incomplete
4 = Not verified
5 = In progress
7 = Ignored
type int 0 = Bank account details
1 = ID
2 = Proof of adress
3 = KBIS
4 = Other
additionalStatus int 0 = Not vérified
1 = Compliant, consistent and valid
2 = Falsified (if ID falsified or minor)
3 = Unreadable or cut
4 = Item missing or out of scope (If ID: Only Verso with missing back / if bank account details: Bank out of scope / if proof of adress: Provider out of scope)
5 = Not consistent / data (if ID: Name - surname are reversed / if proof of adress: error on the holder)
6 = Not consistent / data: other error
7 = Expired
8 = Compliant, consistent and valid but not qualifiable (If bank account details or proof of adress: verified except for name of the holder not verified)
9 = Out of scope (Not an ID, or not bank account details, or not a proof of adress)
message string Reason entered by the operator

Retrieve the list of items

To retrieve the list of items associated with a client, please refer to the example in the right margin of this page.

Delete a piece

You can delete an item, as long as the KYC request has not been processed.

The first entry point to delete an item is:
DELETE /api/[domaine partenaire]/users/appuserid/attachments/idAttachment

The second entry point to delete an item is:
DELETE /api/[domaine partenaire]/users/appuserid/kyc/idDeLaDemande/attachments/idAttachment

To delete an item, please refer to the example in the right margin of this page.

Retrieve an item

To retrieve an item associated with a client, please refer to the example in the right margin of this page.

Mock automatic KYC status change

There is a mock service that makes it possible to automatically accept or refuse the KYC demand. The attachment filenames are used to decide if it should be approved or refused.
This feature must first be activated, so please send us an email: support@s-money.zendesk.com

https://api.s-money.fr/IMG/pdf/automatisation_kyc_ect_-_v2.0.pdf

KYC remediation

In order to remediate incorrect client information, S-Money exposes a route checkKyc which informs S-Money that the client information is correct.

Read more in the attached document: