eINVOICING
  1. IRIS Payments via Provider
eINVOICING
  • eInvoicing Service
    • About Us
    • What We Offer
    • Changelog
    • On Boarding
    • FAQ (EN)
    • FAQ (GR)
    • eInvoicing Service API
      • API Authentication
        • API Key Authentication
          • /Authentication/login
            POST
        • Bearer Token Authentication
          • Authentication Login Bearer Token
            POST
          • Authorization Refresh
            POST
      • API Endpoints
        • API Validations
        • Sending a Document
          • Sending a Document
          • Mandatory and Optional (Best Practice) Fields Descriptions
          • Mobile Notifications
          • IAPR SIGN POLICY METHODS
          • Record Type
          • Offline QR Code Implementation
          • Invoice/json
            POST
        • Purchase Orders for F&B
          • FnB Purchase Orders Documentation
          • Offline QR Code Implementation 8.6
          • Retrieve Open Order Documents (FnB)
            GET
        • Document Management
          • Retrieving a document
          • PDF Invoice as an Email Attachment
        • Alternative Currency Holding
          • ALTERNATIVE CURRENCY (AC)
        • Heating Allowance
          • Heating Allowance Requirements
        • Delivery Notes
          • Delivery Notes Documentation
          • /Invoice/cancelDeliveryNote
            POST
        • POS Integration
          • POS Integration
          • POS Offline QR Code Implementation
          • Offline POS Connection Procedure
          • /PosSignatures/{issuerTin}
            POST
          • /PosTransactions/signpos
            POST
        • IRIS Integration
          • IRIS Payments via POS
          • IRIS Payments via Provider
            • Provider IRIS Documentation
            • 1.1 With IRIS via Provider Payment Method
            • /IrisPayments/InitiatePayment
              POST
            • /IrisPayments/GetPaymentStatus
              GET
        • Delayed POS Payment
          • Delayed POS Payment
        • B2G Documents
          • B2G Documents
          • B2G Mandatory Fields
          • B2G Status response
          • B2G Soft Reject
          • RESEED INVOICE
          • BT-10 BuyerReference
          • B2G fields for ERP Configurator 3
          • ΕΓΚΥΚΛΙΟΣ ΠΡΟΣ ΠΑΡΟΧΟΥΣ-ΠΡΟΜΗΘΕΥΤΕΣ ΥΠΗΡΕΣΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΤΙΜΟΛΟΓΗΣΗ
          • /B2GInvoice/ReSeedInvoice
            POST
          • /B2GInvoice/GetLastStatus
            GET
      • JSON Structures & Payloads
        • EliseCoreDocument Structure
          • EliseCoreDocument Structure
        • Minimum & Conditional Fields
          • Minimum & Conditional Fields
        • Response Examples & Error Handling
          • Response Examples & Error Handling
      • Offline QR Code
        • Offline QR Code Instructions
      • Status MyData
        • MyData/status
          GET
      • Extra Functionalities
        • Archiver
          • Archiver Functionality
      • Terminology
        • Document Type Codes
        • VAT & TAX Codes
        • Country & Currency Codes
        • Measurement Unit Codes (IAPR & EN16931)
        • Self-Billing Remarks (IAPR)
        • Classification & Payment Method Codes (IAPR)
        • Special Invoice Category
      • VAT Validation
        • Greek VAT Check
        • EU VAT Check
      • Attachments
        • Attaching Media & PDFs
        • Parallel PDF Viewing (pdfUrl)
        • Invoice Document Upload (Invoice/File)
      • SOFTONE ERP Related Segments
        • SOFTONE Configurator
          • SOFTONE Configurator - B2G Mapping
    • eInvoicing Portal
      • Template Configuration (Default Template)
      • Single Sign-On (SSO)
        • Single Sign-on (SSO) Setup Instructions
        • Single Sign-On (SSO)
    • WIKI JSON Samples
      • 1.1 B2B
      • 1.3 B2B Sales Invoice Third Country
      • 5.2 B2B Credit Invoice Non-Associated
      • 2.1 B2B Service Rendered Invoice
      • 1.1 Debit B2G
      • 11.1 B2C Retail Sales Receipt
      • 11.4 Retail Sales Credit Note
  • Schemas
    • Sample Schemas
      • Pet
      • Category
      • Tag
    • Schemas
      • AccountPackageResponse
      • ActivationRequest
      • Orientation
      • IrisErrorResponse
      • AdditionalDetails
      • ActivationResponse
      • PdfHtmlOptions
      • IrisPaymentStatusSuccessResponse
      • Address
      • AdditionalFieldDto
      • GetKeysRequest
      • PdfUrlOptions
      • IrisPaymentsRequest
      • AddressType
      • GetTemplateResponse
      • ProblemDetails
      • IrisQrSuccessResponse
      • AllowanceCharge
      • Address2
      • UploadImageRequest
      • AzureFunctionPayload
      • StringStringKeyValuePair
      • PayeeInfo
      • IrisQrSuccessResponseDto
      • AllowanceChargeTypeEnum
      • UploadImageResponse
      • PaymentStatus
      • AuthenticationRequest
      • AddressX
      • YpahesEnum
      • AuthenticationResponse
      • AlcType
      • B2GDetails
      • AlcX
      • B2GInvoiceStatusResponse
      • B2GLastStatusResponse
      • B2GReseedInvoiceRequest
      • Attribute
      • BadRequestResult
      • BadRequestResponse
      • Bank
      • BaseResponse
      • CardLine
      • CashLine
      • ChequeLine
      • Classification
      • CompanyAuthenticationError
      • ContractOrderDetails
      • NullableOfGeoLocation
      • CountryType
      • Bank2
      • CreditInvoiceDto
      • CustomField
      • CurrencyType
      • DeliveryDetails
      • DeliveryNoteCancellationRequest
      • Detail
      • Dienergia
      • DistributionDetails
      • Classification2
      • DocumentStatusEnum
      • EcrTokenType
      • CoreDoc
      • FieldType
      • EliseCoreDocument
      • FnBDocumentResponse
      • EliseCoreReceipt
      • CountryX
      • GeoLocation
      • EntityType
      • ExpensesClassification
      • ExpensesClassificationCategory
      • ExpensesClassificationType
      • DeliveryDetails2
      • IAPRSignPolicyEnum
      • PackingDeclaration
      • IaprError
      • IaprTaxType
      • IncomeClassification
      • PosPaymentsRequestDto
      • PaymentMethodMetaData
      • IncomeClassificationCategory
      • PosPaymentsResponseDto
      • IncomeClassificationType
      • PaymentUpdate
      • Int32StringKeyValuePair
      • Invoice
      • Entity
      • InvoiceHeader
      • Entity2
      • PosSignaturesRequestDto
      • InvoiceLine
      • InvoiceSummary
      • InvoiceType
      • InvoicesEnvelope
      • MiscellaneousData
      • HeaderX
      • NspCode
      • OtherDeliveryNoteHeaderType
      • IFormFile
      • Party
      • PartyType
      • PaymentDetails
      • PaymentMethod
      • PaymentMethodType
      • PaymentTerm
      • ProviderSignatureType
      • RecordTypeEnum
      • RefreshToken
      • RemittanceLine
      • Response
      • ResponseEnvelope
      • KeyValuePairOfintAndstring
      • ShipType
      • LineX
      • SignatureDurationTypeCodes
      • SignaturePlaygroundData
      • MorfotyposDetailsDto
      • SignaturePlaygroundResponse
      • MyDataClassification
      • SignatureResponse
      • MyDataConnectPayload
      • SignedData
      • MyDataDirection
      • SigningDataRequestModel
      • NullableOfAddressX
      • SigningECCKeyPair
      • NullableOfB2GDetailsX
      • SpecialInvoiceType
      • NullableOfCountryX
      • StringStringValueTuple
      • NullableOfCurrencyX
      • Summaries
      • NullableOfDeliveryDetail
      • Tax
      • NullableOfDeliveryDetail2
      • TransmissionFailureEnum
      • NullableOfDistributionDetailsX
      • TransmissionFailureType
      • NullableOfPaymentDetailsX
      • TransportDetail
      • NullableOfValueTupleOfstringAndstring
      • UpdatePaymentMethodRequest
      • UsedSignature
      • ValidateProviderSignatureResponse
      • Party2
      • Vat
      • Party3
      • VesselDetails
      • VoucherLine
      • PartyType2
      • XmlSerializerNamespaces
      • PaymentMethod2
      • PaymentMethodMd
      • PaymentTermX
      • ProviderInfo
      • ReceptionEmailsType
      • ReceptionProvider
      • RefreshTokenDto
      • SummaryX
      • SynopsiClassificationsDto
      • SynopsiDetailsDto
      • TaxTotalDto
      • UblAllowancesCharge
      • UblInvoiceDocumentReferenceType
      • VatX
  1. IRIS Payments via Provider

Provider IRIS Documentation

IRIS Payments via Provider#

Below is the complete IRIS payment flow from the merchant's point of view, step by step.

Step 1 — Prerequisites & Registration for IRIS on the Certified Provider Portal#

Before using any IRIS functionality, the merchant must fulfill the following prerequisites:
1.
The merchant must have an active Eurobank bank account.
2.
The merchant must be registered for IRIS through the E-INVOICING Certified Provider Portal.
The registration step is mandatory for the merchant to be able to authenticate successfully to the service.

Step 2 — Initiate the IRIS Payment Request (InitiatePayment)#

The merchant system calls the InitiatePayment endpoint to create a time-limited IRIS payment request (valid for 1–3 minutes).
This request also initiates the creation of a QR code that will later be displayed to the final customer (payer).
For more information regarding /InitiatePayment click here:/InitiatePayment

Example Request#

{
    "issuerTin": "EL123456789",
    "payeeInfo": {
        "displayName": "Customer's Name",
        "companyName": "Customer's Company Name",
        "tin": "EL234567891"
    },
    "paymentAmount": 124,
    "validityPeriod": 3,
    "orderDescription": "Test Order Description",
    "remittanceInformation": "INV-12345",
    "destination": "test_destination",
    "generateQrCodeImage": false,
    "qrCodeSize": 0,
    "issueDate": "2019-11-24T14:15:22.123Z",
    "branchCode": 0,
    "invoiceTypeCode": "1.1",
    "series": "INV",
    "identifier": "INV-12345",
    "mark": 0,
    "totalNetAmount": 100,
    "totalVatAmount": 24,
    "totalAmount": 124,
    "merchantId": "merchantId",
    "tipAmount": 0
}

Step 3 — Receive InitiatePayment Response & Display QR Code#

The merchant receives a successful response containing the fields required to display the QR code to the final customer.
{
    "endToEndDiasId": "string",
    "authorisationRequestId": "string",
    "qrCode": "string",
    "qrCodeImage": "string",
    "createdAt": "2019-11-24T14:15:22.123Z",
    "expiresAt": "2019-11-24T14:15:22.123Z"
    "signedDataInput": "string",
    "signature": "string"
}
If the merchant wants the Provider to generate the QR image :
{
    "generateQrCodeImage": true,
    "qrCodeSize": 300 // desired qrCodeSize
}

Step 4 — Check the Payment Status (GetPaymentStatus)#

In order for the merchant to check the Payment Status, he needs to make a GET request to the API:
Example
GET /paymentsapi/IrisPayments/GetPaymentStatus?endToEndDiasId=1234567890
For more information regarding /GetPaymentStatus click here: /GetPaymentStatus

Polling Rule#

After the QR code is displayed to the final customer, the merchant system must begin polling the GetPaymentStatus endpoint every 5 seconds to retrieve the updated payment status.
{
    "endToEndDiasId": "string",
    "paymentStatus": "Completed",
    "paymentStatusDescription": "string",
    "completedAt": "2019-11-24T14:15:22.123Z",
    "isFinalStatus": true
}
StatusMeaning
PendingCustomer has not yet approved the payment. Continue polling.
CompletedPayment was successfully completed. Proceed to Step 5.
ExpiredQR code validity window ended without payment. Merchant must restart the flow.
FailedThe payment failed. Merchant must restart the flow.

Step 5 — Finalize the Transaction & Send Final JSON to Certified Provider#

When the merchant receives paymentStatus = Completed, the transaction is successful.
The merchant must now prepare the final JSON document that includes the IRIS payment method data and submit it to the Certified Provider to obtain the final MARK.
{
  "paymentMethods": [
    {
      "paymentMethodTypeCode": 8, // Mandatory
      "paymentMethodType": "IRIS", // Mandatory
      "amount": 3548.88, // PaymentAmount from InitiatePayment request
      "TransactionId": "string", // AuthorizationRequestID from InitiatePayment response
      "TerminalID": "string", // MerchantId for Provider IRIS
      "TipAmount": 0.00,
      "ProvidersSignature": "string", // Signature from InitiatePayment response
      "PosInput": "string" // SignedDataInput from InitiatePayment Response (IRIS via Provider)
    }
  ]
}

You can find a full sample regarding transactions via IRIS with Provider here: 1.1 With IRIS via Provider Payment Method
Modified at 2025-12-09 12:51:05
Previous
IRIS Payments via POS
Next
1.1 With IRIS via Provider Payment Method
Built with