Seller KYC Integration

What is it?

The KYC (Know your customer) process, is the mandatory process of collecting client information to verify their identify before opening an account.

How it works?

The Seller KYC Process takes place via a KYC Dashboard which is unique for every Seller. In order the URL for the KYC Dashboard to be created and the KYC status to be tracked, Webhook activation is prerequisite.

Step 1: KYC webhook activation

Go to your account settings page from the Dashboard interface (https://dashboard.everypay.gr) – after logging in with your credentials. Select Webhooks from the account settings page. Then press “Add Webhook”. A new box appears.

  • Fill in the URL field in the form https://{yourDomain}/webhooks
  • Tick the box next to “Active”
  • Tick the box next to “KYC Seller Status”
  • Press “Add“
Screenshot

The webhook for the KYC will have the following form:

{
    "type": "object",
    "properties": {
        "event_type": {
            "type": "string",
            "enum": [
                "SELLER_KYC.STATUS"
            ],
            "example": "SELLER_KYC.STATUS"
        },
        "version": {
            "type": "string",
            "enum": [
                "v1"
            ],
            "example": "v1"
        },
        "payload": {
            "type": "object",
            "properties": {
                "seller_token": {
                    "type": "string",
                    "example": "sel_lkPJrywRlDAp5oKrqOeRHEt0"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "initial",
                        "pending",
                        "verified",
                        "rejected"
                    ],
                    "example": "initial"
                },
                "category_status": {
                    "type": "object",
                    "properties": {
                        "company_info": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "gov_kyc": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "proof_of_id": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "proof_of_funds": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "proof_of_business_establishment": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "proof_of_financials": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "proof_of_residence": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        },
                        "other_documents": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in-progress",
                                "approved",
                                "rejected",
                                "bypass"
                            ],
                            "example": "initial"
                        }
                    }
                },
                "date": {
                    "type": "string",
                    "format": "date-time",
                    "example": "2022-12-21T17:32:28.000Z"
                },
                "kyc_process_url": {
                    "type": "string",
                    "format": "url",
                    "example": "https://kyc.everypay.gr/sel_lkPJrywRlDAp5oKrqOeRHEt0"
                }
            }
        }
    }
}

Step 2: New sellers creation

Upon the creation of a new seller, via an API call (https://docs.everypay.gr/apireference/#create-a-seller) by your side, the KYC Status in webhook will take one of the following values:

Note: The KYC status field provides the overall status for the KYC process.

Possible valuesExplanation
InitialThis is the initial KYC status set in cases where the seller’s tin is not found in Everypay’s system. In place of kyc_process_url a unique KYC dashboard link will also appear.
ExistingThis is the initial KYC status set in cases where the seller’s tin is already in Everypay’s system. EveryPay’s operator must check if KYC is required and change the status accordingly to initial of verified/rejected.

Step 3: KYC dashboard link communication

  • If the KYC Status is Initial, the seller should be notified by the marketplace to start the KYC process by using the URL which is indicated in the field kyc_process_url
  • If the KYC Status is Εxisting, the marketplace should hold on the communications until EveryPay’s operator updates the KYC status accordingly. After the assessment, the KYC status can take one of the following values:
Possible valuesExplanation
InitialThe seller must go through the KYC process. The seller should be notified by the marketplace to start the KYC process by using the URL which is indicated in the field kyc_process_url.
VerifiedIndicates that the KYC application is approved.The seller is authorized by EveryPay. Final successful status.
RejectedIndicates that the KYC application is rejected. Final unsuccessful status.

Step 4: Seller visits the KYC dashboard

After the link has been shared, the seller is expected to visit the dashboard and start the KYC process. The KYC dashboard contains the following categories:

Field name(EN)Field name(GR)Requirement
Company infoΣτοιχεία επιχείρησηςMandatory
EGovΕπιβεβαίωση στοιχείων εκπροσώπουMandatory
Proof of IDΤαυτοποίηση εκπροσώπουMandatory
Proof of ResidenceAποδεικτικό κατοικίαςMandatory
Proof of fundsΑποδεικτικό εισοδήματοςMandatory
Proof of financialsΑποδεικτικό οικονομικών στοιχείων καταστάσεωνMandatory
Proof of business establishmentΑποδεικτικό επιχείρησηςMandatory
Other documentsΆλλα έγγραφαOptional
EveryPay commentΣχόλιο EveryPayRead only (filled by Everypay Operator)
Contact usEπικοινωνήστε μαζί μαςOptional

Step 5: Seller submits form

Once all mandatory fields in the form are completed, the seller can submit the KYC form and the KYC status changes to: In progress.

Possible valuesExplanation
In progressIndicates that the KYC form is being evaluated by EveryPay’s KYC team. At this point, no action is required by the seller.

Step 6: EveryPay’s operator evaluates the KYC form

EveryPay’s operator will evaluate the form and change its status accordingly:

Possible valuesExplanation
PendingThis status indicates that Everypay’s KYC analyst has set one or more fields to the status pending. This can be due to a wrong document attached, invalid/expired document or in cases where more info is required. A seller needs to login to the KYC dashboard to correct the required fields based on the feedback provided in the comment. Marketplace should inform the seller that there is an action waiting in the KYC dashboard.
VerifiedIndicates that the KYC application is approved. Final successful status. The seller is authorized by EveryPay.
RejectedIndicates that the KYC application is rejected. Final unsuccessful status.

Important Note:

  • For each status change, a webhook that contains the overall KYC status as well as the field statuses will be triggered.
  • In appendix A, you can find a detailed overview of the KYC statuses as well as the individual field statuses included in the KYC dashboard.

Appendix A

KYC status

Possible valuesExplanation
In progressIndicates that the KYC form is being evaluated by EveryPay’s KYC team. At this point, no action is required by the seller.
PendingThis status indicates that Everypay’s KYC analyst has set one or more fields to the status pending. This can be due to a wrong document attached, invalid/expired document or in cases where more info is required. A seller needs to login to the KYC dashboard to correct the required fields based on the feedback provided in the comment.
VerifiedIndicates that the KYC application is approved. Final successful status.
InitialThis is the initial KYC status set in cases where the seller’s Tin is not found in Everypay’s system. Seller must login to start the process.
ExistingThis is the initial KYC status set in cases where the seller’s Tin is already in Everypay’s system. EveryPay’s operator must check if KYC is required and change the status accordingly to initial of verified/rejected.
RejectedIndicates that the KYC application is rejected. Final unsuccessful status.

KYC Fields

A. Company information

Gives the status of the first section “Company info”.

  • Company Info
Possible valuesExplanation
PendingThis will be the initial status for this field. It requires for the seller to login and provide the necessary info.
ApprovedThis status indicates the Company info section is approved. No action is required from the seller.

Legal name, Title, Address, Tin will be prefilled by the information provided in the seller creation process. Main mcc (KAΔ) : is derived from AΑΔΕ. Prefilled Business type must be selected by the user.

B. Gov

Gives the status of the section “eGov”.

  • eGov
    Possible valuesExplanation
    PendingThis will be the initial status for this field. It requires for the seller to login and provide the necessary info.
    ApprovedThis status indicates the eGov section is successfully completed by the seller. No further action is required.
    RejectedThis status indicates the eGov section is rejected. E.g. if the user aborts
    By PassFor some reason, the operator decided that this step can be skipped. E.g. EU non GR citizen. NOT SUPPORTED YET. To be added soon

C. Identification

Gives the status of the legal representative’s ID check.

  • Proof of ID
    Possible valuesExplanation
    PendingThis will be the initial status for this field. It requires for the seller to login and perform the ID verification check
    ApprovedIndicates that the ID verification status was successful.
    RejectedIndicates that the ID verification failed. Error codes 2100 – Unclassified (the user uploaded a document different from the one asked)
    By PassIndicates that for some reason, the ID verification can be bypassed.
    In progressIndicates that the ID verification process was performed but the final response (from provider) is not received yet.

D. Documents

  • Proof of Residence (Αποδεικτικό κατοικίας)
  • Proof of funds (Αποδεικτικό εισοδήματος)
  • Proof of financials (Αποδεικτικό οικονομικών στοιχείων/καταστάσεων)
  • Proof of business establishment (Αποδεικτικό επιχείρησης)
Possible valuesExplanation
PendingThis will be the initial status for this field. The seller must log in and upload the document(s) required for each category
ApprovedIndicates that EveryPay’s operator has accepted the document as valid for the corresponding category. No further action is required.
RejectedIndicates that Every Pay’s operator doesn’t accept the document as valid for the corresponding category.
BypassIndicates that for some reason the category can be skipped. If for example, the information is provided via another category.
In progressIndicates that the category is being evaluated by Every Pay’s operator. No action is required by the seller.

Optional fields

  • Other documents
    Possible valuesExplanation
    PendingThis will be the initial status for this field. This is an optional field.
    ApprovedIndicates that EveryPay’s operator has accepted the document as valid for the corresponding category. No further action is required.
    RejectedIndicates that Every Pay’s operator doesn’t accept the document as valid.
    Bypass
    In progressIndicates that the category is being evaluated by Every Pay’s operator. No action is required by the seller.

E. Comments

This section enable sellers and operators to exchange comments via the KYC dashboard.

  • Comment from customer
  • Comment to customer
    Possible valuesExplanation
    Free TextComments from Seller to EveryPay.
    Free TextComments from EveryPay to Seller.