E-Invoicing Providers

Overview

This section highlights the certified E-Invoicing providers currently supported by EveryPay. Below, you’ll find a matrix of supported providers, detailing compatibility and functionality. While we support a select group of providers, we are open to expanding our network in collaboration with ERP vendors.

EveryPay Supported E-Invoicing Providers (ΥΠΑΗΕΣ)

Provider EVP Compatibility
Softone
Information systems IMPACT AE
EPSILON NET AE
PROSVASIS ΜΟΝΟΠΡΟΣΩΠΗ ΑΕΒΕ

Signature Validation per Provider

Below are examples showcasing the mapping of provider responses to specific field of POS API request's metadata. For the complete list of available endpoints and request formats, please refer to the official POS API reference here.

Epsilon

To integrate with our POS service using the Epsilon provider, you will need to map the signature provider's response to EveryPay's POS API request as outlined below.

Assuming this successful response

"The semicolon (;) is used as a delimiter to distinguish individual values in paymentToken.SignatureClearText"
{
    "processId": null,
    "externalSystemId": "1",
    "uid": "7AE3CE152BA843A94C43F0E9618D3785AFD379C4",
    "paymentToken": {
        "timestamp": "2024-08-29T18:19:28.4626166+03:00",
        "signature": "MEUCIQC8PqJ....yQFUkBg=",
        "amount": 6.00,
        "signatureClearText": "7AE3CE152BA843A94C43F0E9618D3785AFD379C4;40000001844947;20240829181928;600;500;100;600;EP123456"
    },
    "status": 1,
    "errorCategory": null,
    "errorCode": null,
    "errorMessage": null
}

Τhe values from paymentToken.signature and paymentToken.SignatureClearText need to be mapped to the POS API's metadata field, as demonstrated below.

{
    "transaction_id": "{{$guid}}", //RANDOM UUIDv4,
    "amount": 600,
    ...
    "metadata": {
        "uid": "7AE3CE152BA843A94C43F0E9618D3785AFD379C4", //first value of paymentToken.SignatureClearText
        "net_value": "500", //fifth value of paymentToken.SignatureClearText
        "mark": "40000001844947" //Required only if provided. second value of paymentToken.SignatureClearText
        "vat_value": "100", //sixth value of paymentToken.SignatureClearText
        "total_value": "600", //fourth value of paymentToken.SignatureClearText
        "payment_amount": "600", //seventh value of paymentToken.SignatureClearText
        "tid": "EP123456", //eighth value of paymentToken.SignatureClearText
        "time_stamp": "0240829181928", //third value of paymentToken.SignatureClearText
        "signature": "MEUCIQC8PqJ....yQFUkBg=" //paymentToken.signature

    }
}

SoftOne | Impact | Prosvasis

To integrate with our POS service using one of the above providers, you will need to map the provider's response to EveryPay's POS API request as outlined below.

Assuming this successfull response

"The semicolon (;) is used as a delimiter to distinguish individual values in response.input"
{
    "input": "AA557159434D83EA5C8985F03A82854206BBF7BB;40000001844947;20240722130755;12400;0;11000;10000;EP12345",
    "signature": "MEUCIH3m6h78zATMvp/...Vm2D+jmDt6"
}

Τhe values from input and signature need to be mapped to the POS API's metadata field, as demonstrated below.

{
    "transaction_id": "{{$guid}}", //RANDOM UUIDv4,
    "amount": 10000,
    ...
    "metadata": {
        "uid": "AA557159434D83EA5C8985F03A82854206BBF7BB", //first value of response.input
        "net_value": "12400", //fourth value of response.input
        "mark": "40000001844947" //Required only if provided. second value of response.input
        "vat_value": "0", //fifth value of response.input
        "total_value": "11000", //sixth value of response.input
        "payment_amount": "10000", //seventh value of response.input
        "tid": "EP12345", //eighth  value of response.input
        "time_stamp": "20240722130755", //third value of response.input
        "signature": "MEUCIH3m6h78zATMvp/...Vm2D+jmDt6" //response.signature
    }
}