Digiteal API API Reference

Welcome to the Digiteal technical documentation.

The Digiteal API contains 2 parts. We provide services that allow you to

  • create invoices and store related documents
  • handle payments

This reference contains the technical details of the rest services exposed by the Digiteal platform.

If you want a high level overview please consult the following page

API Endpoint
https://api.digiteal.eu/
Contact: support@digiteal.eu
Schemes: https
Version: 1.2.2

Auto payments

This API handles automatic payments performed through SDD mandates.

Request

POST /api/v1/autopay-request

Request an auto payment.

autoPaymentRequest

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL"
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json
Response Example (200 OK)
{
  "comment": "A comment",
  "originBankAccount": "BE40251230861709",
  "paymentConfirmationDate": "2019-04-15",
  "paymentID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "paymentRequestDate": "2019-04-30",
  "status": "EXECUTED"
}

CreditNotes

This API concerns the credit notes.

Create

POST /api/v1/credit-note

Create a credit note

data necessary to create the credit note

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "creationDate": "2019-12-31",
  "creditNoteInternalId": "CreditNote1234",
  "format": "QR",
  "invoiceUUID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "language": "EN",
  "secondaryLanguage": "NL",
  "size": 600
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, text/plain
Response Headers (200 OK)
uuid

unique identifier for the credit note

string

Integrators

This API is provided for generic integrator needs.

Get person/company

GET /api/v1/integrator/abstract-person-info

Get person/company registration status. Only validated email addresses will be used to find the person/company. Use these methods to get more details on the person or the company.

email: string
in query

Email of the person/company

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "companyStatus": "PROD",
  "email": "john.doe@yopmail.com",
  "id": 12,
  "personStatus": "OK",
  "type": "COMPANY",
  "vatNumber": "BE0000000097"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Get complete company KYB information (only available to the integrator and the suppliers of the company) - available starting in 1.47

GET /api/v1/integrator/company-detailed-info
iban: string
in query

Iban of the company. Please use one of vatNumber, iban or identificationNumber.

identificationNumber: string
in query

Identification number of the company. Please use one of vatNumber, iban or identificationNumber (see the company identification number documentation)

vatNumber: string
in query

VAT number of the company. Please use one of vatNumber, iban or identificationNumber.

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "address": {
    "city": "Bruxelles",
    "country": "Belgique",
    "countryCode": "BE",
    "houseNumber": 15,
    "streetName": "Rue de la Loi",
    "zipCode": 1000
  },
  "canReceiveFunds": true,
  "canSendFunds": true,
  "companyName": "Your Telecom",
  "contact": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "contractApprovalDate": "string (date)",
  "creationDate": "2012-12-31",
  "customerRelationship": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  },
  "email": "my.company@yopmail.com",
  "ibans": [
    "string"
  ],
  "ibansToValidate": [
    "string"
  ],
  "id": 1234,
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorId": 1001,
  "pack": "START",
  "paymentMethods": [
    "string"
  ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  "settlementGrouping": "PER_TX",
  "status": "PROD",
  "ubos": [
    {
      "firstName": "Jean",
      "lastName": "Dupont",
      "pepRelated": false
    }
  ],
  "vatNumber": "BE0000000097"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Get company

GET /api/v1/integrator/company-info

Get company registration status. This method does not require an authentication so that payment modules can access this information. Only validated identifiers will be considered when searching for the company. This implies that the VAT and identification numbers will only be considered when the KYB has been validated by Digiteal's compliance department and that the bank account will only be considered if it has been validated.

iban: string
in query

Iban of the company. Please use one of vatNumber, iban or identificationNumber.

identificationNumber: string
in query

Identification number of the company. Please use one of vatNumber, iban or identificationNumber (see the company identification number documentation)

vatNumber: string
in query

VAT number of the company. Please use one of vatNumber, iban or identificationNumber.

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "canReceiveFunds": true,
  "canSendFunds": true,
  "companyName": "Your Telecom",
  "email": "my.company@yopmail.com",
  "ibans": [
    "string"
  ],
  "id": 1234,
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorId": 1001,
  "paymentMethods": [
    "string"
  ],
  "status": "PROD",
  "vatNumber": "BE0000000097"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Get person

GET /api/v1/integrator/person-info

Get person registration status. Only validated email addresses will be used to find the person.

email: string
in query

Email of the person

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "email": "john.doe@yopmail.com",
  "id": 12,
  "idDocumentValidityEnd": "31/12/2019",
  "status": "OK"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Invoice Documents

This API allows you to manage the documents attached to invoices

Retrieve

GET /api/v1/invoice-getDocumentList

Retrieve the documents related to a specific invoice referenced by the invoice internal identifier set by the issuer of the invoice

billId: string
in query

the internal invoice identifier of the issuer

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "comment": "Invoice for May 2019",
    "extension": "pdf",
    "fileName": "Invoice1234.pdf",
    "id": 12,
    "mediaType": "application/pdf",
    "url": "https://api.digiteal.eu/document/e529f8b4790f11e7b5a5be2e44b06b52",
    "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
  }
]

Using the invoice UUID

POST /api/v1/invoice-sendDoc

This service adds a document to an invoice referenced by the invoice UUID set by DIgiteal

document: file
in formData

the document to attach to the invoice (JPG, PNG, PDF or RTF)

name: string
in formData

the name of the document file (please include only ASCII characters and at most one '.'). This name will be displayed to the customer.

comment: string
in formData

a comment that should be attached to this document

uuid: string (uuid)
in formData

the uuid of the invoice to which this document should be attached

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*
Response Headers (200 OK)
uuid

the uuid of the document that has been created

string

Using the issuer id

POST /api/v1/invoice-sendDocWithBillerId

This service adds a document to an invoice referenced by the invoice internal identifier set by the issuer of the invoice

billId: string
in formData

the identifier of the invoice as defined by the issuer

document: file
in formData

the document to attach to the invoice (JPG, PNG, PDF or RTF)

comment: string
in formData

an additional comment on the file

name: string
in formData

the file name (please include only ASCII characters and at most one '.'). This name will be shown to the customer

requesterID: integer (int64)
in formData

only necessary when you are calling the service as an integrator

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*
Response Headers (200 OK)
uuid

the uuid of the attached document

string

Invoices

This API is responsible for handling invoices

Create/Update

POST /api/v1/invoice-request

This service creates or updates a response. Each invoice internal id must be unique per issuer. The invoice can be sent as DRAFT and can be updated as long as it stays DRAFT. Once PUBLISHED, the invoice becomes read only and no more updates can be made.

metadata of the invoice

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "dueDate": "2019-12-31",
  "expectingDocumentAttached": true,
  "format": "QR",
  "iban": "BE40251230861709",
  "imageFormat": "PNG",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "publicationStatus": "PUBLISHED",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "size": 600
}
200 OK

The body contains the image in the requested format (binary PNG or BMP). If the selected format was NONE, the body contains a text/plain with the QR code text content.

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, image/png
Response Headers (200 OK)
deliveryMethod

contains 'S2P' if the customer choose to receive this invoice through Digiteal. If this is the case, you should attach the invoice document (usually a PDF) to this invoice using the sendDoc operation. If it is something else, do not send the document to Digiteal.

string
uuid

the uuid of the invoice that has been created

string

Generate QR

GET /api/v1/invoice-request/qr-image/{uuid}

Generate QR for an existing invoice defined by the UUID of the invoice set by Digiteal. The response body will contain the binary BMP or PNG image of the QR code.

format: string BANNER, BANNER2, BANNER3, BANNER4, BANNER5, BANNER6, PAYMENT_SLIP, PAYMENT_SLIP_WITH_BANNER, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, QR_NL QR
in query

Type of the image you want to receive, default value = QR

imageFormat: string BMP, PNG PNG
in query

Format of the image you want to receive, default value = PNG

language: string de, en, fr, nl en
in query

Language of the QR image ot generate

secondaryLanguage: string de, en, fr, nl
in query

Secondary language of the QR image to generate (usually for payment slips that can have multiple language labels)

size: integer (int32) 250
in query

Width of the QR image to generate

uuid: string (uuid)
in path

uuid

200 OK

OK

Response Content-Types: image/png

KYC

This API enables the transfer of KYC information to pre-register persons and companies.

KYC

Create company

POST /api/v1/kyc/company

Pre-register a company or update missing company information if the company already exists.

Customer company KYB details

Request Content-Types: application/json
Request Example
{
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "customerCompany": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "companyName": "Your Telecom",
    "contact": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
      "digitrustIntegratorVATNumber": "BE0000000097",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "ibansToValidate": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorIdentificationNumber": "BE:VAT:BE0000000097",
      "integratorVATNumber": "BE0000000097",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "identificationNumber": "BE:VAT:BE0000000097",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "pack": "START",
    "paymentMethods": [
      "string"
    ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
    "settlementGrouping": "PER_TX",
    "ubos": [
      {
        "birthDay": "1990-12-31",
        "birthPlace": "Cook, NZ",
        "firstName": "John",
        "gender": "MALE",
        "lastName": "Doe",
        "pep": true,
        "pepCustomerExplanation": "Prime minister of New Zeland"
      }
    ],
    "vatNumber": "BE0000000097"
  },
  "customerInfo": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  }
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "canReceiveFunds": true,
  "canSendFunds": true,
  "companyName": "Your Telecom",
  "email": "my.company@yopmail.com",
  "ibans": [
    "string"
  ],
  "id": 1234,
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorId": 1001,
  "paymentMethods": [
    "string"
  ],
  "status": "PROD",
  "vatNumber": "BE0000000097"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
KYC

Get company contracts

GET /api/v1/kyc/contractsForCompany

Retrieve the latest contracts to be approved to become a Digiteal customer as a company. If you wish to use a fixed URL for those contracts, here they are:

language: string EN
in query

Language of the requested contracts (EN, NL or FR)

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json
Response Example (200 OK)
[
  {
    "language": "en",
    "name": "Personal data protection policy",
    "url": "https://docs.digiteal.eu/Policy/Digiteal-Data_Privacy_Policy-EN-V1.1.pdf"
  }
]
KYC

Get person contracts

GET /api/v1/kyc/contractsForPerson

Retrieve the latest contracts to be approved to become a Digiteal customer as a person. If you wish to use a fixed URL for those contracts, here they are:

language: string EN
in query

Language of the requested contracts (EN, NL or FR)

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json
Response Example (200 OK)
[
  {
    "language": "en",
    "name": "Personal data protection policy",
    "url": "https://docs.digiteal.eu/Policy/Digiteal-Data_Privacy_Policy-EN-V1.1.pdf"
  }
]
KYC

Send KYC doc

POST /api/v1/kyc/document

Send a KYC document to attach to a person/company

requesterIdentificationNumber: string
in formData

The company identification number of the company for which this information is provided, the person/company to which the document will be attached must be a customer of that company.

document: file
in formData

(no description)

email: string
in formData

The email of the person/company contact person to which the document should be added.

name: string
in formData

The file name

requesterVAT: string
in formData

The VAT number of the company for which this information is provided, the person/company to which the document will be attached must be a customer of that company.

type: string BANK_ACCOUNT_VALIDATION, BANK_MANDATE, BY_LAWS, ID, ID_BACK, ID_FRONT, OTHER, SELFIE_WITH_ID
in formData

the type of document

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "comment": "Invoice for May 2019",
  "extension": "pdf",
  "fileName": "Invoice1234.pdf",
  "id": 12,
  "mediaType": "application/pdf",
  "url": "https://api.digiteal.eu/document/e529f8b4790f11e7b5a5be2e44b06b52",
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
KYC

Analyse ID doc

POST /api/v1/kyc/idDocument/extractData

The document can be a passport, a driver's license or an identity card. The following file formats are supported: PNG, JPG and PDF. The document file and no private information will be stored. For the processing, the data will stay in the EU.

sideHint: string FRONT, BACK
in formData

the expected side of the document

document: file
in formData

the document to analyze: JPG, PNG or PDF of a passport, id card, driver's license or VISA

countryCodeHint: string
in formData

the expected code of the country issuing the document represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

typeHint: string ID_CARD, PASSPORT, VISA, DRIVER_LICENSE
in formData

the expected type of the document

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "pages": [
    {
      "extractedInfo": {
        "birthDay": "1990-12-31",
        "birthPlace": "Bruxelles, BE",
        "cardNumber": "591-9733362-96",
        "firstName": "Jean",
        "gender": "MALE",
        "lastName": "Dupont",
        "nationalIdentificationNumber": "90011538106",
        "nationality": "BE",
        "secondaryNames": "Francis René",
        "validityEnd": "2030-12-31",
        "validityStart": "2020-01-15"
      },
      "recognizedType": {
        "countryCode": "BE",
        "language": "FR",
        "side": "FRONT",
        "type": "ID_CARD"
      }
    }
  ]
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
KYC

Set logo

POST /api/v1/kyc/logo

Set the logo of a company

requesterIdentificationNumber: string
in formData

(no description)

logo: file
in formData

(no description)

requesterVAT: string
in formData

(no description)

email: string
in formData

(no description)

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "comment": "Invoice for May 2019",
  "extension": "pdf",
  "fileName": "Invoice1234.pdf",
  "id": 12,
  "mediaType": "application/pdf",
  "url": "https://api.digiteal.eu/document/e529f8b4790f11e7b5a5be2e44b06b52",
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
KYC

Create person

POST /api/v1/kyc/person

Pre-register a person or update missing person information if the person already exists.

Customer person KYC details

Request Content-Types: application/json
Request Example
{
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "customerInfo": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  },
  "customerPerson": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  }
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "email": "john.doe@yopmail.com",
  "id": 12,
  "idDocumentValidityEnd": "31/12/2019",
  "status": "OK"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Optin

This API is responsible for managing optins

Force an optin

POST /api/v1/optin/force/{requestorVAT}/{clientInternalId}/{clientEmail}
clientEmail: string
in path

The email address of the customer as known in Digiteal

clientInternalId: string
in path

The identifier used by the company for this customer

requestorVAT: string
in path

The VAT number of the company who's customer's optin is forced

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: text/plain
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

PEPPOL

This API is available to PEPPOL integrators.

Send document

POST /api/v1/peppol/outbound-documents

Send an invoice/creditNote/application response through PEPPOL

comment: string
in formData

(no description)

document: string (binary)
in formData
200 OK

The document sending request was successful.

400 Bad Request

Bad request.Errors can be: MISSING_DOCUMENT (the expected document was not attached), INVALID_DOCUMENT (the provided document is not valid, see the message for more details), RECIPIENT_NOT_IN_PEPPOL (the recipient is not in the SMP)

Response Content-Types: application/json
Response Example (200 OK)
{
  "message": "All clear !",
  "status": "OK"
}

Get participants

GET /api/v1/peppol/registered-participants

Get the list of all the participant identifiers registered by the requester

The requested PEPPOL participant

Response Content-Types: application/json
Response Example (200 OK)
{
  "contact": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "peppolIdentifier": "0208:0630675588",
  "registrationDate": "2019-09-01"
}

Register participant

POST /api/v1/peppol/registered-participants

Register an participant (company or person) to receive PEPPOL invoices/credit notes through Digiteal

Participant to register

Request Content-Types: application/json
Request Example
{
  "contact": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "limitedToOutboundTraffic": "boolean",
  "peppolIdentifier": "0208:0630675588"
}
200 OK

The registration action was successful.

400 Bad Request

Bad registration request.Errors can be: REGISTER_ALREADY_REGISTERED_TO_DIGITEAL (the participant was already registered through Digiteal, the participant stays registered with Digiteal), REGISTER_ALREADY_REGISTERED_TO_OTHER_AP (the participant is already registered to another access point, please deregister from that access point and register again)

Response Content-Types: application/json
Response Example (200 OK)
{
  "message": "All clear !",
  "status": "OK"
}

Get registration status

GET /api/v1/peppol/registered-participants/{identifier}

Get the registration status of a PEPPOL participant (company or person)

identifier: string
in path

The PEPPOL identifier for which the registration status is requested

The requested PEPPOL participant

404 Not Found

Not Found

Response Content-Types: application/json
Response Example (200 OK)
{
  "contact": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "peppolIdentifier": "0208:0630675588",
  "registrationDate": "2019-09-01"
}

Unregister participant

DELETE /api/v1/peppol/registered-participants/{identifier}

Unregister a participant (company or person) so that Digiteal will not transfer receives PEPPOL invoices/credit notes and transfer them through the PEPPOL integrator anymore

identifier: string
in path

The PEPPOL identifier that should be unregistered.

200 OK

The registration action was successful.

400 Bad Request

Bad registration request.Error can be: NOT_REGISTERD_TO_CALLER (the participant is not registered to the calling PEPPOL integrator

Response Content-Types: application/json
Response Example (200 OK)
{
  "message": "All clear !",
  "status": "OK"
}

Get supported document types

GET /api/v1/peppol/remote-participants/{identifier}/supported-document-types

Get the supported document types of a PEPPOL participant through the Peppol network (not only the ones registered in Digiteal)

identifier: string
in path

The PEPPOL identifier for which the support document types are requested.

The supported document types

404 Not Found

Not Found

Response Content-Types: application/json
Response Example (200 OK)
{
  "documentTypes": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:www.cenbii.eu:transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol4a:ver2.0::2.1",
  "peppolIdentifier": "0208:0630675588"
}

Pay button execution

This API is used to initiate payments from a button

Payment from debtor

GET /api/v1/payment-request/b2b-pay-button/execute

Launch a B2B payment where the initiator is the debtor and the creditor might not be known to Digiteal yet.

amountInCents: integer (int64)
in query

Amount expressed in cents to be paid

cancelURL: string
in query

URL where the user will be redirected in case a cancel occurred during the payment. Maximum length of 255 characters.

confirmationURL: string
in query

URL where the user will be redirected when the payment will be confirmed by the debtor. Maximum length of 255 characters.

creditorEmail: string
in query

The email address of the creditor

creditorIBAN: string
in query

The IBAN of the creditor for this payment

creditorName: string
in query

The name of the creditor

creditorReference: string
in query

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

creditorVAT: string
in query

The VAT number of the creditor

currency: string
in query

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

debtorVAT: string
in query

The VAT number of the debtor

errorURL: string
in query

URL where the user will be redirected in case a error occurred during the payment. Maximum length of 255 characters.

language: string
in query

The language of the client (NL, FR or EN). The default is EN.

remittanceInfo: string
in query

An unstructured string that is used as communication in the payment. This information is only used if there is nol creditorReference. It can be left empty if the creditorReference is defined

200 OK

OK

Response Content-Types: */*

Payment to creditor

GET /api/v1/payment-request/pay-button/execute

Launch a payment initiated by a well-known creditor in Digiteal.

amountInCents: integer (int64)
in query

The amount to pay (in cents)

cancelURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment is cancelled (reverts to errorURL if it is not present). Maximum length of 255 characters.

confirmationURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

creditorReference: string
in query

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

customerEMail: string
in query

The email of the debtor

customerInternalId: string
in query

The identifier of the debtor as defined by the creditor

errorURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment has not been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

iban: string
in query

The IBAN of the creditor. It if is not provided, the default IBAN of the requester will be used.

invoiceUUID: string
in query

The identifier of the invoice as received when created with Digiteal

IUUID: string
in query

(no description)

language: string
in query

The language of the button to be displayed (EN, NL or FR). Default is EN.

maxAmountInCents: integer (int64)
in query

The maximum amount to pay (in cents, cannot be used at the same time as amountInCents)

minAmountInCents: integer (int64)
in query

The minimum amount to pay (in cents, cannot be used at the same time as amountInCents)

mobile: boolean
in query

True if this is a payment to be executed on a mobile device. False by default

multiple: boolean
in query

True if you want to accept multiple payments with this description. Default value is false.

paymentInternalId: string
in query

The internal identifier of the payment as known by the creditor

paymentMethod: string BANCONTACT, CARTE_BLEUE, PIS_STANDARD, DIGITEAL_STANDARD, IDEAL, MAESTRO, MASTERCARD, VISA
in query

The payment method that is to be used. If it is defined, only that payment method will be available. If left empty, all the payment methods supported by the creditor will be available to the user.

qrCode: boolean
in query

If true, the QR code (for Bancontact payment method), will be displayed for example to enable the payment by a third party and not the user.

remittanceInfo: string
in query

An unstructured string that is used as communication in the payment. This information is only used if there is nol creditorReference. It can be left empty if the creditorReference is defined

requesterIdentificationNumber: string
in query

Identification number of the company. Please use one of vatNumber, iban or identificationNumber (see the company identification number documentation)

requesterVAT: string
in query

The VAT number of the creditor

suggestedAmountInCents: integer (int64)
in query

The suggested amount to pay (in cents, cannot be used at the same time as amountInCents)

trustedPaymentUUID: string
in query

The identifier of the trusted payment as received when created with Digiteal

type: string PNG, SVG
in query

Define the format of the output image. Default is PNG.

200 OK

Success

Response Content-Types: */*

Pay button image generation

This API is used to generate renderings for payment buttons

B2B payment

GET /api/v1/payment-request/b2b-pay-button

Create a B2B payment button.

amountInCents: integer (int64)
in query

Amount expressed in cents to be paid

cancelURL: string
in query

URL where the user will be redirected in case a cancel occurred during the payment. Maximum length of 255 characters.

confirmationURL: string
in query

URL where the user will be redirected when the payment will be confirmed by the debtor. Maximum length of 255 characters.

creditorEmail: string
in query

The email address of the creditor

creditorIBAN: string
in query

The IBAN of the creditor for this payment

creditorName: string
in query

The name of the creditor

creditorReference: string
in query

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

creditorVAT: string
in query

The VAT number of the creditor

currency: string
in query

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

debtorVAT: string
in query

The VAT number of the debtor

errorURL: string
in query

URL where the user will be redirected in case a error occurred during the payment. Maximum length of 255 characters.

language: string
in query

The language of the client (NL, FR or EN). The default is EN.

remittanceInfo: string
in query

An unstructured string that is used as communication in the payment. This information is only used if there is nol creditorReference. It can be left empty if the creditorReference is defined

200 OK

Success

Response Content-Types: */*, image/png

Payment

GET /api/v1/payment-request/pay-button

Create a payment button.

amountInCents: integer (int64)
in query

The amount to pay (in cents)

cancelURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment is cancelled (reverts to errorURL if it is not present). Maximum length of 255 characters.

confirmationURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

creditorReference: string
in query

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

customerEMail: string
in query

The email of the debtor

customerInternalId: string
in query

The identifier of the debtor as defined by the creditor

errorURL: string
in query

Defines the url where Digiteal has to redirect the user when the payment has not been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

iban: string
in query

The IBAN of the creditor. It if is not provided, the default IBAN of the requester will be used.

invoiceUUID: string
in query

The identifier of the invoice as received when created with Digiteal

IUUID: string
in query

(no description)

language: string
in query

The language of the button to be displayed (EN, NL or FR). Default is EN.

maxAmountInCents: integer (int64)
in query

The maximum amount to pay (in cents, cannot be used at the same time as amountInCents)

minAmountInCents: integer (int64)
in query

The minimum amount to pay (in cents, cannot be used at the same time as amountInCents)

mobile: boolean
in query

True if this is a payment to be executed on a mobile device. False by default

multiple: boolean
in query

True if you want to accept multiple payments with this description. Default value is false.

paymentInternalId: string
in query

The internal identifier of the payment as known by the creditor

paymentMethod: string BANCONTACT, CARTE_BLEUE, PIS_STANDARD, DIGITEAL_STANDARD, IDEAL, MAESTRO, MASTERCARD, VISA
in query

The payment method that is to be used. If it is defined, only that payment method will be available. If left empty, all the payment methods supported by the creditor will be available to the user.

qrCode: boolean
in query

If true, the QR code (for Bancontact payment method), will be displayed for example to enable the payment by a third party and not the user.

remittanceInfo: string
in query

An unstructured string that is used as communication in the payment. This information is only used if there is nol creditorReference. It can be left empty if the creditorReference is defined

requesterIdentificationNumber: string
in query

Identification number of the company. Please use one of vatNumber, iban or identificationNumber (see the company identification number documentation)

requesterVAT: string
in query

The VAT number of the creditor

suggestedAmountInCents: integer (int64)
in query

The suggested amount to pay (in cents, cannot be used at the same time as amountInCents)

trustedPaymentUUID: string
in query

The identifier of the trusted payment as received when created with Digiteal

type: string PNG, SVG
in query

Define the format of the output image. Default is PNG.

200 OK

Success

Response Content-Types: */*, image/png

Payments

This API is responsible for handling interactive payment requests. If you wish to provide static payment links. Please refer to the payment buttons documentation.

Create a payment request.

POST /api/v1/payment-request

Data related necessary to create the payment request with mandatory confirmationURL and errorURL

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "errorURL": "https://api.myservice.com/paymentError",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "maxAmountInCents": 50000,
  "minAmountInCents": 500,
  "mobile": true,
  "multiple": false,
  "paymentInternalId": "Payment1234",
  "paymentMethod": "BANCONTACT",
  "purpose": "GDDS",
  "qrCode": false,
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "suggestedAmountInCents": 50000,
  "validityInMinutes": 10
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, image/png
Response Headers (200 OK)
payment-url-intent

Payment URL to redirect the customer to in a mobile device context.

string
payment-web-url

Payment URL to redirect the customer to in a web context.

string
uuid

UUID of the payment that has been created

string (uuid)

Create an invoice payment request.

POST /api/v1/payment-request/invoice

contains the requesterID and the internal id of the invoice

Request Content-Types: application/json
Request Example
{
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "errorURL": "https://api.myservice.com/paymentError",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "requesterID": 12,
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, image/png
Response Headers (200 OK)
payment-url-intent

Payment URL where the user should be redirected to in a mobile device context

string
payment-web-url

Payment URL where the user should be redirected to in a web context

string
uuid

UUID of the payment that has been created

string (uuid)

Create an SCT payment request

POST /api/v1/payment-request/sct

Input used to create an SCT payment

Request Content-Types: application/json
Request Example
{
  "amountInCents": 100,
  "creditorIban": "BE81429126789924",
  "creditorReference": "000600232562",
  "debtorIban": "BE81429126789924",
  "executionDate": "2021-12-20",
  "remittanceInfo": "Invoice 1"
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "paymentID": "b0aecc22-05b9-11ec-9a03-0242ac130003",
  "status": "EXECUTED"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Create a trusted payment collection request.

POST /api/v1/payment-request/trustedPayment

contains the trusted payment information

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "contributions": [
    {
      "amountInCents": 1234,
      "transferId": "e529f8b4790f11e7b5a5be2e44b06b52"
    }
  ],
  "creditorReference": "RF84U6",
  "creditorReferences": [
    "string"
  ],
  "errorURL": "https://api.myservice.com/paymentError",
  "language": "EN",
  "transferId": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIds": [
    "string (uuid)"
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json
Response Headers (200 OK)
payment-url-intent

Payment URL that the user should be redirected to in a mobile device context

string
payment-web-url

Payment URL that the user should be redirected to in a web context

string
uuid

UUID of the payment that has been created

string (uuid)

QR Code

This API is responsible for QR code generation

Generate

GET /api/v1/image-request/slip-image-anonymous

Create a QR code image.

amount: number (double)
in query

amount expressed in cents that has to be paid

bic: string
in query

BIC number

billDate: string (date)
in query

The date the bill was created

billerName: string
in query

The name of the Requester

billerVAT: string
in query

The VAT number of the Requester. The requesterID, the requesterVAT or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

billId: string
in query

The internal identifier of the invoice as know by the issuer.

creditorReference: string
in query

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

currency: string
in query

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

debtorCity: string
in query

City

debtorCountry: string
in query

Country (ISO 3166-1 alpha-2)

debtorEmail: string
in query

email address. This is important to provide so that we can match this customer to the DigiTeal registered users.

debtorFirstName: string
in query

Client first name

debtorHouseNumber: string
in query

street number

debtorId: string
in query

The id used by the requester his internal billing system. This is mandatory when creating an invoice

debtorMobilePhoneNumber: string
in query

the mobile phone of the customer with the national prefix

debtorName: string
in query

Client last name or company name

debtorStreetName: string
in query

street name of the client address

debtorVAT: string
in query

Client VAT number (if applicable) with the country code

debtorZipCode: string
in query

Zipcode

directPayment: boolean
in query

True if the payment of this invoice should be performed through a PIS, false if it should not. Default is false.

dueDate: string (date)
in query

The due date of the bill

format: string BANNER, BANNER2, BANNER3, NONE, PAYMENT_SLIP, PAYMENT_SLIP_WITH_BANNER, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, QR_NL, QR_TEXT, QR_URL
in query

Format of the image you want to receive, default value = payment_slip

iban: string
in query

IBAN number, if you have registered multiple IBAN numbers on your account then this field is required!

language: string
in query

The language of the client (nl, fr or en)

languages: string[] DE, EN, FR, NL
in query

(no description)

Array values passed as multiple parameters: ?languages=aaa&languages=bbb
multiple: boolean
in query

True if you want to accept multiple payments with this description. Default value is true.

paymentInternalId: string
in query

The internal identifier of the payment as known by the creditor

purpose: string
in query

The purpose based on the ISO 20022 standard

remittanceInfo: string
in query

An unstructured string that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined

requestorEmail: string
in query

The email of the requester. The requesterID, the requesterVAT or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requestStatus: string
in query

The status of the payment. Accepted values are DRAFT and PUBLISHED (default).

secondaryLanguage: string
in query

A secondary language of the client

size: integer (int32)
in query

The width of the image to generate (maximum 4000)

200 OK

Success

type
string (byte)
Response Content-Types: image/png
Response Example (200 OK)
"string (byte)"
Response Headers (200 OK)
status

undefined

string

Refunds

This API enables refunds of totally executed payments.

Refund a payment

POST /api/v1/refund

The details of the refund to be executed. The payment to refund must have been transferred to the creditor in order to be refunded.

Request Content-Types: application/json
Request Example
{
  "amountInCents": 1234,
  "currency": "EUR",
  "paymentUUID": "e529f8b4790f11e7b5a5be2e44b06b52"
}
200 OK

empty response body with the refund payment identifier in the uuid header

type
string (byte)
400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, image/png
Response Example (200 OK)
"string (byte)"
Response Headers (200 OK)
uuid

undefined

string
status

undefined

string

SDD

This API enables the transfer of SDD including KYC information to pre-register persons and companies to process SDD for their provider.

SDD

Company mandate

POST /api/v1/sdd/transferCompany

Create an SDD mandate where the debtor is a company.

Company SDD details

Request Content-Types: application/json
Request Example
{
  "complete": true,
  "configuration": {
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "creationDate": "2012-12-31",
  "creditorVatNumber": "BE0000000097",
  "customerInternalId": "TEST12345",
  "debtor": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "companyName": "Your Telecom",
    "contact": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
      "digitrustIntegratorVATNumber": "BE0000000097",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "ibansToValidate": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorIdentificationNumber": "BE:VAT:BE0000000097",
      "integratorVATNumber": "BE0000000097",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "identificationNumber": "BE:VAT:BE0000000097",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "pack": "START",
    "paymentMethods": [
      "string"
    ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
    "settlementGrouping": "PER_TX",
    "ubos": [
      {
        "birthDay": "1990-12-31",
        "birthPlace": "Cook, NZ",
        "firstName": "John",
        "gender": "MALE",
        "lastName": "Doe",
        "pep": true,
        "pepCustomerExplanation": "Prime minister of New Zeland"
      }
    ],
    "vatNumber": "BE0000000097"
  },
  "debtorIBAN": "BE40251230861709",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "product": "INVOICING",
  "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52"
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "executionType": "IMMEDIATE",
  "periodicity": "MONTH",
  "thresholdInCents": 100000
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
SDD

Person mandate

POST /api/v1/sdd/transferPerson

Create an SDD mandate where the debtor is a person.

Person SDD details

Request Content-Types: application/json
Request Example
{
  "complete": true,
  "configuration": {
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "creationDate": "2012-12-31",
  "creditorVatNumber": "BE0000000097",
  "customerInternalId": "TEST12345",
  "debtor": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "debtorIBAN": "BE40251230861709",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "product": "INVOICING",
  "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "welcomeMessage": "We inform you that your SEPA mandate for YourTelecom is transferred to Digiteal, a Belgian company that is a partner of Belfius."
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "executionType": "IMMEDIATE",
  "periodicity": "MONTH",
  "thresholdInCents": 100000
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Short link

This API is provided to manage short links.

Create short link

POST /api/v1/shortLink

Short link request

Request Content-Types: application/json
Request Example
{
  "longURL": "https://app.digiteal.eu/api/v1/payment-request/pay-button/execute?requesterVAT=BE0406729809&amountInCents=4000&iban=BE72000000001616&language=en&remittanceInfo=Urgency%20Fund&multiple=true&confirmationURL=https://api.myservice.com/paymentConfirmed&cancelURL=https://api.myservice.com/paymentCancelled&errorURL=https://api.myservice.com/paymentError"
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "shortURL": "https://app.digiteal.eu/p/abcde"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Trusted payment

This API is available to trusted payment integrators and allows them to operate trusted payments with Digiteal.

Create confirmation-based

POST /api/v1/transfers/confirmation-based

Create a new confirmation-based trusted payment

Data of the trusted payment to be created

Request Content-Types: application/json
Request Example
{
  "actors": [
    {
      "decide": true,
      "digitealIdentifier": 12345678,
      "email": "john.doe@gmail.com",
      "iban": "BE40251230861709",
      "identificationNumber": "BE:VAT:BE0000000097",
      "language": "EN",
      "mandateId": 123456,
      "name": "John Doe",
      "type": "SELLER",
      "vatNumber": "BE0000000097"
    }
  ],
  "bufferIBAN": "BE01234567890123",
  "confirmedBuyer": true,
  "delayToCollect": 60,
  "hidePaymentDetails": true,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Corvette VIN 1234567890123456",
  "requesterVAT": "BE0000000196",
  "transferPayments": [
    {
      "amountInCents": 5000000,
      "comment": "A comment",
      "communication": "000600232562",
      "conditional": true,
      "creditorEmail": "john.doe@gmail.com",
      "creditorIBAN": "BE40251230861709",
      "creditorIdentificationNumber": "BE:VAT:BE0000000097",
      "creditorVatNumber": "BE0000000097",
      "hidden": false,
      "notifyOfPaymentReceived": "boolean",
      "reference": "Ref1234",
      "subPayments": []
    }
  ]
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "creditorReference": "RF84U6",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDx64": "string"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Get confirmation-based

GET /api/v1/transfers/confirmation-based/{uuid}

Get a confirmation-based trusted payment

uuid: string (uuid)
in path

UUID of the trusted payment

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "actors": [
    {
      "decide": true,
      "digitealIdentifier": 12345678,
      "email": "john.doe@gmail.com",
      "iban": "BE40251230861709",
      "identificationNumber": "BE:VAT:BE0000000097",
      "language": "EN",
      "mandateId": 123456,
      "name": "John Doe",
      "type": "SELLER",
      "vatNumber": "BE0000000097"
    }
  ],
  "availableAmountInCents": 15000000,
  "bufferIBAN": "BE01234567890123",
  "confirmedBuyer": true,
  "delayToCollect": 60,
  "hidePaymentDetails": true,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Corvette VIN 1234567890123456",
  "requesterVAT": "BE0000000196",
  "transferPayments": [
    {
      "amountInCents": 5000000,
      "comment": "A comment",
      "communication": "000600232562",
      "conditional": true,
      "creditorEmail": "john.doe@gmail.com",
      "creditorIBAN": "BE40251230861709",
      "creditorIdentificationNumber": "BE:VAT:BE0000000097",
      "creditorVatNumber": "BE0000000097",
      "hidden": false,
      "notifyOfPaymentReceived": "boolean",
      "reference": "Ref1234",
      "subPayments": []
    }
  ]
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Update confirmation-based

POST /api/v1/transfers/confirmation-based/{uuid}

Update a confirmation-based trusted payment (only available before it has been confirmed by all relevant parties)

data related necessary to update the trusted payment

uuid: string (uuid)
in path

UUID of the trusted payment to update

Request Content-Types: application/json
Request Example
{
  "actors": [
    {
      "decide": true,
      "digitealIdentifier": 12345678,
      "email": "john.doe@gmail.com",
      "iban": "BE40251230861709",
      "identificationNumber": "BE:VAT:BE0000000097",
      "language": "EN",
      "mandateId": 123456,
      "name": "John Doe",
      "type": "SELLER",
      "vatNumber": "BE0000000097"
    }
  ],
  "bufferIBAN": "BE01234567890123",
  "confirmedBuyer": true,
  "delayToCollect": 60,
  "hidePaymentDetails": true,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Corvette VIN 1234567890123456",
  "requesterVAT": "BE0000000196",
  "transferPayments": [
    {
      "amountInCents": 5000000,
      "comment": "A comment",
      "communication": "000600232562",
      "conditional": true,
      "creditorEmail": "john.doe@gmail.com",
      "creditorIBAN": "BE40251230861709",
      "creditorIdentificationNumber": "BE:VAT:BE0000000097",
      "creditorVatNumber": "BE0000000097",
      "hidden": false,
      "notifyOfPaymentReceived": "boolean",
      "reference": "Ref1234",
      "subPayments": []
    }
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*

Partial confirmation

POST /api/v1/transfers/confirmation-based/{uuid}/partialExecution

Partial confirmation of a confirmation-based trusted payment (only available before it has been executed)

list of partial payments to perform

uuid: string (uuid)
in path

UUID of the trusted payment to update

Request Content-Types: application/json
Request Example
{
  "requesterVAT": "BE0000000196",
  "updates": [
    {
      "amountInCents": 5000000,
      "communication": "A new communication",
      "creditorIBAN": "BE01234567890123",
      "reference": "Ref1234",
      "subReference": "Ref1234 1/2"
    }
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*

Update confirmation-based payments

POST /api/v1/transfers/confirmation-based/{uuid}/payments

Update a confirmation-based trusted payment (only available before it has been executed)

list of updates to perform

uuid: string (uuid)
in path

UUID of the trusted payment to update

Request Content-Types: application/json
Request Example
{
  "requesterVAT": "BE0000000196",
  "updates": [
    {
      "amountInCents": 5000000,
      "communication": "A new communication",
      "creditorIBAN": "BE01234567890123",
      "reference": "Ref1234",
      "subReference": "Ref1234 1/2"
    }
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*

Confirm

POST /api/v1/transfers/execute

Execute the trusted payment aka transfer the funds to the creditors

Data of the trusted payment to be executed

Request Content-Types: application/json
Request Example
{
  "comment": "Glad to participate !",
  "requesterVAT": "BE0000000196",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDs": [
    "string (uuid)"
  ],
  "validate": true
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*

New time-based

POST /api/v1/transfers/time-based

Create a new time-based trusted payment.

Data of the trusted payment to be created

Request Content-Types: application/json
Request Example
{
  "amountInCents": 20000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "31/12/2019",
  "minumumAmountInCents": 10000000,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Crowd-lending for CompanyX"
}

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "creditorReference": "RF84U6",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDx64": "string"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Get time-based

GET /api/v1/transfers/time-based/{uuid}

Get a time-based trusted payment

uuid: string (uuid)
in path

UUID of the trusted payment

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "amountInCents": 20000000,
  "availableAmountInCents": 15000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "31/12/2019",
  "minumumAmountInCents": 10000000,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Crowd-lending for CompanyX"
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Update time-based

POST /api/v1/transfers/time-based/{uuid}

Update a time-based trusted payment (only available before the campaign is completed)

data related necessary to update the trusted payment

uuid: string (uuid)
in path

UUID of the trusted payment to update

Request Content-Types: application/json
Request Example
{
  "amountInCents": 20000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "31/12/2019",
  "minumumAmountInCents": 10000000,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Crowd-lending for CompanyX"
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*

Webhook

This API enables the management of webhooks.

Get config

GET /api/v1/webhook

Retrieve the latest webhook configuration of company (password will not be sent).

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: application/json
Response Example (200 OK)
{
  "identificationNumber": "BE:VAT:BE0000000097",
  "login": "userLogin",
  "password": "NotProvidedForSecurityReasons",
  "vatNumber": "BE0000000097",
  "webHooks": [
    {
      "type": "PAYMENT_INITIATED",
      "url": "https://myIntegrator.com/myApp/paymentInitiated"
    }
  ]
}
Response Example (400 Bad Request)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (404 Not Found)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}
Response Example (500 Internal Server Error)
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

Update webhook

POST /api/v1/webhook

Create or update a webhook

Webhook info to create or update

Request Content-Types: application/json
Request Example
{
  "type": "PAYMENT_INITIATED",
  "url": "https://myIntegrator.com/myApp/paymentInitiated"
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json

Set complete config

POST /api/v1/webhook/configuration

Set the complete web hook configuration. Any previous webhooks will be deleted.

Configuration to set for the calling company

Request Content-Types: application/json
Request Example
{
  "identificationNumber": "BE:VAT:BE0000000097",
  "login": "userLogin",
  "password": "NotProvidedForSecurityReasons",
  "vatNumber": "BE0000000097",
  "webHooks": [
    {
      "type": "PAYMENT_INITIATED",
      "url": "https://myIntegrator.com/myApp/paymentInitiated"
    }
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json

Set credentials

PUT /api/v1/webhook/configuration

Only set the webHook configuration credentials.

Configuration to set (only credentials) for the calling company

Request Content-Types: application/json
Request Example
{
  "identificationNumber": "BE:VAT:BE0000000097",
  "login": "userLogin",
  "password": "NotProvidedForSecurityReasons",
  "vatNumber": "BE0000000097",
  "webHooks": [
    {
      "type": "PAYMENT_INITIATED",
      "url": "https://myIntegrator.com/myApp/paymentInitiated"
    }
  ]
}
200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json

Delete webhook

DELETE /api/v1/webhook/{type}

Delete a webhook.

type: string
in path

Webhook type to delete

200 OK

Success

400 Bad Request

Bad request

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

Response Content-Types: */*, application/json

Schema Definitions

Actor: object

decide: boolean

True if this actor should decide if this Digitrust should be executed or not. False if he does not decide. True by default.

digitealIdentifier: integer (int64)

The Digiteal identifier of the person/company. Please only provide a single identifier in this entity: email, vatNumber, identificationNumber, mandateId or digitealIdentifier.

email: string

The email address of the actor. Please only provide a single identifier in this entity: email, vatNumber, identificationNumber, mandateId or digitealIdentifier.

iban: string

The IBAN of the actor. This IBAN can later be used in the payments.

identificationNumber: string

Identification number of the actor. Please only provide a single identifier in this entity: email, vatNumber, identificationNumber, mandateId or digitealIdentifier (see the company identification number documentation)

language: string

The language of this actor. Default value is EN.

mandateId: integer (int64)

The Digiteal identifier of the mandate used to identity this actor. Please only provide a single identifier in this entity: email, vatNumber, identificationNumber, mandateId or digitealIdentifier.

name: string

The name of the actor

type: string BUYER, SELLER, _3RD_PARTY

The type of this actor.

vatNumber: string

The VAT number of the actor. Please only provide a single identifier in this entity: email, vatNumber, identificationNumber, mandateId or digitealIdentifier.

Example
{
  "decide": true,
  "digitealIdentifier": 12345678,
  "email": "john.doe@gmail.com",
  "iban": "BE40251230861709",
  "identificationNumber": "BE:VAT:BE0000000097",
  "language": "EN",
  "mandateId": 123456,
  "name": "John Doe",
  "type": "SELLER",
  "vatNumber": "BE0000000097"
}

Address: object

Model representing an address

city: string

City

country: string

Country name

countryCode: string

Country code represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

houseNumber: string

House number

streetName: string

Street name

zipCode: string

Zip code

Example
{
  "city": "Bruxelles",
  "country": "Belgique",
  "countryCode": "BE",
  "houseNumber": 15,
  "streetName": "Rue de la Loi",
  "zipCode": 1000
}

AutoPaymentConfiguration: object

executionType: string DUE_DATE, IMMEDIATE, ONE_WEEK_BEFORE_DUE_DATE

When should the automatic payment be executed

periodicity: string MONTH, SEMESTER, TRIMESTER, YEAR

Periodicity of the automatic payment

thresholdInCents: integer (int64)

Maximum allowed that will be allowed to withdraw.

Example
{
  "executionType": "IMMEDIATE",
  "periodicity": "MONTH",
  "thresholdInCents": 100000
}

AutoPaymentRequest: object

Model representing the data necessary for requesting an auto payment

amountInCents: integer

amount expressed in cents that has to be paid

bic: string

BIC number

creationDate: string (date)

The date the bill was emitted. The default value is today. The expected format is YYYY-MM-DD

creditorReference: string

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

currency: string

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

customerAddressCity: string (up to 250 chars)

City

customerAddressCountry: string (up to 250 chars)

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string (up to 250 chars)

street number

customerAddressStreet: string (up to 250 chars)

street name of the client address

customerAddressZip: string (up to 20 chars)

Zipcode

customerEmail: string (up to 255 chars)

email address. This is important to provide so that we can match this customer to the DigiTeal registered users.

customerFirstName: string (up to 255 chars)

Client first name

customerInternalId: string (up to 255 chars)

The id used by the requester his internal billing system. This is mandatory when creating an invoice

customerLastName: string (up to 255 chars)

Client last name

customerMobile: string (up to 255 chars)

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

expectingDocumentAttached: boolean

True if documents should be attached to this invoice, false if no document should be attached. Default is true.

iban: string

IBAN number, if you have registered multiple IBAN numbers on your account then this field is required!

language: string

The language of the client (NL, FR or EN)

purpose: string

The purpose based on the ISO 20022 standard

remittanceInfo: string (up to 140 chars)

An unstructured string that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined

requesterEmail: string

The email of the requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterID: integer

The id of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterIdentificationNumber: string

The national identification number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication (see the company identification number documentation)

requesterVAT: string

The VAT number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

secondaryLanguage: string

A secondary language of the client

Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL"
}

AutoPaymentResult: object

Model representing the output of a auto payment

comment: string

Comment

originBankAccount: string

the bank account from where the money has been transferred

paymentConfirmationDate: string

the date on which the payment has been confirmed

paymentID: string

The unique identifier of the payment known by the requester

paymentRequestDate: string

the date on which the payment request has been sent

status: string EXECUTED, HIGH_RISK, NA, PLANNED, THRESHOLD_EXCEEDED

Status of the auto payment action. This can either be EXECUTED (the payment has been directly executed), PLANNED (the client has an active auto payment configuration and the threshold has not been exceeded), THRESHOLD_EXCEEDED (the limit set by the user has already been reached, the client has been notified of the issue), NA (not applicable, the client has no auto pay configuration) and HIGH_RISK (Digiteal evaluated that the payment is too risky to be executed automatically, for example because the amount is too high)

Example
{
  "comment": "A comment",
  "originBankAccount": "BE40251230861709",
  "paymentConfirmationDate": "2019-04-15",
  "paymentID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "paymentRequestDate": "2019-04-30",
  "status": "EXECUTED"
}

CompanyCustomerKYCInfo: object

Complete KYC model representing a company customer of another company

contractApproval: ContractApproval

Customer contrat approval

customerCompany: CompanyKYCInfo

Customer company KYC information

customerInfo: CustomerInfo

Information about the customer

Example
{
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "customerCompany": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "companyName": "Your Telecom",
    "contact": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
      "digitrustIntegratorVATNumber": "BE0000000097",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "ibansToValidate": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorIdentificationNumber": "BE:VAT:BE0000000097",
      "integratorVATNumber": "BE0000000097",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "identificationNumber": "BE:VAT:BE0000000097",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "pack": "START",
    "paymentMethods": [
      "string"
    ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
    "settlementGrouping": "PER_TX",
    "ubos": [
      {
        "birthDay": "1990-12-31",
        "birthPlace": "Cook, NZ",
        "firstName": "John",
        "gender": "MALE",
        "lastName": "Doe",
        "pep": true,
        "pepCustomerExplanation": "Prime minister of New Zeland"
      }
    ],
    "vatNumber": "BE0000000097"
  },
  "customerInfo": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  }
}

CompanyInfo: object

Model representing information about the company

canReceiveFunds: boolean

The company can receive funds. It can do this once all the conditions to send funds are met, that the company has a paying profile and that there is at least one activated payment method.

canSendFunds: boolean

The company can send funds. It can do this once the company has been validated and at least one IBAN is validated too.

companyName: string

Name of the company

email: string

contact email address of the company

ibans: string[]

Verified IBANs of the bank accounts associated to the company.

string
id: integer (int64)

The Digiteal ID of the company

identificationNumber: string

Identification number of the company (see the company identification number documentation)

integratorId: integer (int64)

The Digiteal ID of the integrator company

paymentMethods: string[]

Activated payment methods

string BANCONTACT, CARTE_BLEUE, DIRECT, IDEAL, INTERNAL, MAESTRO, MASTERCARD, STANDARD, VISA
status: string DEACTIVATED, NOT_ACTIVATED, NOT_FOUND, ON_HOLD, PROD

represents the status of the company within Digiteal: NONE = unknown, NOT_ACTIVATED = Digiteal's terms and conditions have not been accepted yet, ON_HOLD = not active as issuer , PROD = active as issuer

vatNumber: string

VAT number of the concerned company

Example
{
  "canReceiveFunds": true,
  "canSendFunds": true,
  "companyName": "Your Telecom",
  "email": "my.company@yopmail.com",
  "ibans": [
    "string"
  ],
  "id": 1234,
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorId": 1001,
  "paymentMethods": [
    "string"
  ],
  "status": "PROD",
  "vatNumber": "BE0000000097"
}

CompanyKYCInfo: object

Model representing the complete KYC information of a company

address: Address

The main address of the company.

companyName: string

Name of the company

contact: PersonKYCInfo

Contact person of the company. This person must have the right to register the company in Digiteal. This person must either represent the company or have a delegation of power to register the company.

creationDate: string (date)

The date when the company was created. The expected format is YYYY-MM-DD

digitrustIntegratorIdentificationNumber: string

Identification number of the DigiTrust integrator of this company if any. This value overrides the digitrustIntegratorVATNumber so use one or the other (see the company identification number documentation)

digitrustIntegratorVATNumber: string

The VAT number of the DigiTrust integrator of this company if any. This value is overridden by the digitrustIntegratorIdentificationNumber so use one or the other.

ibans: string[]

IBANs of the bank accounts associated to the company. You must have verified that the company has access to these IBANs. If you are not sure, provide them in the ibansToValidate property.

string
ibansToValidate: string[]

IBANs of the bank accounts associated to the company. You do not need to have verified that the company has access to these IBANs, Digiteal will take care of that. If you are sure, provide them in the ibans property.

string
identificationNumber: string

Identification number of the company (either Vat number or Identification number should be provided) (see the company identification number documentation)

integratorIdentificationNumber: string

Identification number of the invoice/payment integrator of this company if any. This value overrides the integratorVATNumber so use one or the other (see the company identification number documentation)

integratorVATNumber: string

The VAT number of the invoice/payment integrator of this company if any. This value is overridden by the integratorIdentificationNumber so use one or the other.", exampl

pack: string DISCOVER, GO, POC, START, UNKNOWN

The pack chosen by the company to register. The DISCOVER pack is free but it does not enable collecting funds. The first pack to enable collecting funds is the START pack.

paymentMethods: string[]

Payment methods to activate. If you wish to activate PIS_STANDARD (PSD2 payment initiation), VISA, MASTERCARD, CARTE_BLEUE or MAESTRO, please contact support@digiteal.eu. By default, only DIGITEAL_STANDARD is actvated.

string BANCONTACT, DIGITEAL_STANDARD, IDEAL
sectors: Sector

Sectors where the person is active

Sector
settlementGrouping: string PER_TX, PER_DAY, PER_WEEK, PER_MONTH,

Settlement grouping strategy. This defines how the funds should be settled to the bank account of the creditor. PER_TX means that each transactions leads to a specific settlement. You will then have one line in your bank statement per transaction. PER_DAY, PER_WEEK and PER_MONTH means that the settlements will be grouped per day/week/month. Default is PER_TX.

ubos: MinimalPersonKYCInfo

The UBOs of the company

MinimalPersonKYCInfo
vatNumber: string

VAT number of the company (either Vat number or Identification number should be provided)

Example
{
  "address": {
    "city": "Bruxelles",
    "country": "Belgique",
    "countryCode": "BE",
    "houseNumber": 15,
    "streetName": "Rue de la Loi",
    "zipCode": 1000
  },
  "companyName": "Your Telecom",
  "contact": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "creationDate": "2012-12-31",
  "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
  "digitrustIntegratorVATNumber": "BE0000000097",
  "ibans": [
    "string"
  ],
  "ibansToValidate": [
    "string"
  ],
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorIdentificationNumber": "BE:VAT:BE0000000097",
  "integratorVATNumber": "BE0000000097",
  "pack": "START",
  "paymentMethods": [
    "string"
  ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  "settlementGrouping": "PER_TX",
  "ubos": [
    {
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "firstName": "John",
      "gender": "MALE",
      "lastName": "Doe",
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland"
    }
  ],
  "vatNumber": "BE0000000097"
}

CompanySDDConfiguration: object

Model representing the configuration of a company SDD mandate

complete: boolean

Defines if the SDD configuration contains enough data to be evaluated by Digiteal's compliance dept. Default value is true.

configuration: AutoPaymentConfiguration

Autopayment configuration that will defines the parameters of the SDD mandate. Here are the default parameters if no configuration was provided: Monthly, payment on request date, maximum 1000€.

contractApproval: ContractApproval

Customer contract approval that defines when and how the customer approved the terms and conditions of Digiteal (see getCompanyContracts to get the terms and conditions).

creationDate: string

The date when the original SDD mandate was created. The expected format is YYYY-MM-DD

creditorVatNumber: string

VAT number of the SDD mandate holder (the creditor). The creditor must have an active Digiteal account with at least the START pack.

customerInternalId: string

Identifier of the customer as defined by the creditor

debtor: CompanyKYCInfo

SDD mandate client (the debtor)

debtorIBAN: string

The IBAN from which the SDD mandate will be withdrawing money (aka debtor IBAN).

notificationSettings: CustomerNotificationSettings

Notification settings for this customer (these will be used only if this is a new user of Digiteal)

product: string DIGITRUST, INVOICING, PAYMENT, PEPPOL, TERMS_TECH, ZOFINANCIALS

Product for which this pre-registration is initiated. Default is INVOICING.

returnURL: string

Defines the url where Digiteal has to redirect the user when the customer has set his password. Maximum length of 255 characters.

transferID: string (uuid)

The unique identifier of the digitrust if this SDD is set up for digitrust pay-ins

welcomeMessage: string

Specific welcome message that will be sent by email. Please be careful to send a message in the language of the customer.

Example
{
  "complete": true,
  &quoquot;configuration": {
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "creationDate": "2012-12-31",
  "creditorVatNumber": "BE0000000097",
  "customerInternalId": "TEST12345",
  "debtor": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "companyName": "Your Telecom",
    "contact": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
      "digitrustIntegratorVATNumber": "BE0000000097",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "ibansToValidate": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorIdentificationNumber": "BE:VAT:BE0000000097",
      "integratorVATNumber": "BE0000000097",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "identificationNumber": "BE:VAT:BE0000000097",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "pack": "START",
    "paymentMethods": [
      "string"
    ],
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
    "settlementGrouping": "PER_TX",
    "ubos": [
      {
        "birthDay": "1990-12-31",
        "birthPlace": "Cook, NZ",
        "firstName": "John",
        "gender": "MALE",
        "lastName": "Doe",
        "pep": true,
        "pepCustomerExplanation": "Prime minister of New Zeland"
      }
    ],
    "vatNumber": "BE0000000097"
  },
  "debtorIBAN": "BE40251230861709",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "product": "INVOICING",
  "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "welcomeMessage": "We inform you that your SEPA mandate for YourTelecom is transferred to Digiteal, a Belgian company that is a partner of Belfius."
}

ConfirmationBasedTransfer: object

Model representing the data necessary for creating a trusted payment when the release condition is 'CONFIRMATION'

actors: Actor

List of actors participating in the transfer. There will typically be a buyer and a seller as actor but any combination can do. There should at least be one actor to receive the funds.

Actor
bufferIBAN: string

The IBAN of the buffer account to use to perform a direct payout to the creditor(s). This is only required if you wish to perform a direct payout to the creditor(s).

confirmedBuyer: boolean

True if the buyer has confirmed he wants to buy, false otherwise (default is true).

delayToCollect: integer (int32)

The number of calendar days after the transfer was confirmed on which the money will be withdrawn from the buyers account. This only applies if this transfer is linked to a buffer account. Default is 60 days.

hidePaymentDetails: boolean

True if the details of the outgoing payments should not be displayed to the buyer, false otherwise. This is useful for example when there is a commission planned but you do not want this to be disclosed to the buyer.

notifyOfPaymentReceived: boolean

Notifications should be sent when there is a pay-in, cancellation or success for this Digitrust. True by default.

projectName: string

The name of the transfer

requesterVAT: string

The VAT number of the Requester. The requesterVAT needs to be filled in if the transfer is created by an integrator in the name of the Requester.

transferPayments: Payment

List of outgoing payments to perform when this transfer will be confirmed. There should at least be one payment.

Payment
Example
{
  "actors": [
    {
      "decide": true,
      "digitealIdentifier": 12345678,
      "email": "john.doe@gmail.com",
      "iban": "BE40251230861709",
      "identificationNumber": "BE:VAT:BE0000000097",
      "language": "EN",
      "mandateId": 123456,
      "name": "John Doe",
      "type": "SELLER",
      "vatNumber": "BE0000000097"
    }
  ],
  "bufferIBAN": "BE01234567890123",
  "confirmedBuyer": true,
  "delayToCollect": 60,
  "hidePaymentDetails": true,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Corvette VIN 1234567890123456",
  "requesterVAT": "BE0000000196",
  "transferPayments": [
    {
      "amountInCents": 5000000,
      "comment": "A comment",
      "communication": "000600232562",
      "conditional": true,
      "creditorEmail": "john.doe@gmail.com",
      "creditorIBAN": "BE40251230861709",
      "creditorIdentificationNumber": "BE:VAT:BE0000000097",
      "creditorVatNumber": "BE0000000097",
      "hidden": false,
      "notifyOfPaymentReceived": "boolean",
      "reference": "Ref1234",
      "subPayments": []
    }
  ]
}

ConfirmationBasedTransferInfo: object

Model representing a confirmation-based trusted payment

actors: Actor

List of actors participating in the transfer. There will typically be a buyer and a seller as actor but any combination can do. There should at least be one actor to receive the funds.

Actor
availableAmountInCents: integer (int64)

The amount of funds available for this trusted payment. Only funds that have reached Digiteal's segregated account are considered. Funds in flight are not.

bufferIBAN: string

The IBAN of the buffer account to use to perform a direct payout to the creditor(s). This is only required if you wish to perform a direct payout to the creditor(s).

confirmedBuyer: boolean

True if the buyer has confirmed he wants to buy, false otherwise (default is true).

delayToCollect: integer (int32)

The number of calendar days after the transfer was confirmed on which the money will be withdrawn from the buyers account. This only applies if this transfer is linked to a buffer account. Default is 60 days.

hidePaymentDetails: boolean

True if the details of the outgoing payments should not be displayed to the buyer, false otherwise. This is useful for example when there is a commission planned but you do not want this to be disclosed to the buyer.

notifyOfPaymentReceived: boolean

Notifications should be sent when there is a pay-in, cancellation or success for this Digitrust. True by default.

projectName: string

The name of the transfer

requesterVAT: object

The VAT number of the Requester. The requesterVAT needs to be filled in if the transfer is created by an integrator in the name of the Requester.

transferPayments: Payment

List of outgoing payments to perform when this transfer will be confirmed. There should at least be one payment.

Payment
Example
{
  "actors": [
    {
      "decide": true,
      "digitealIdentifier": 12345678,
      "email": "john.doe@gmail.com",
      "iban": "BE40251230861709",
      "identificationNumber": "BE:VAT:BE0000000097",
      "language": "EN",
      "mandateId": 123456,
      "name": "John Doe",
      "type": "SELLER",
      "vatNumber": "BE0000000097"
    }
  ],
  "availableAmountInCents": 15000000,
  "bufferIBAN": "BE01234567890123",
  "confirmedBuyer": true,
  "delayToCollect": 60,
  "hidePaymentDetails": true,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Corvette VIN 1234567890123456",
  "requesterVAT": "BE0000000196",
  "transferPayments": [
    {
      "amountInCents": 5000000,
      "comment": "A comment",
      "communication": "000600232562",
      "conditional": true,
      "creditorEmail": "john.doe@gmail.com",
      "creditorIBAN": "BE40251230861709",
      "creditorIdentificationNumber": "BE:VAT:BE0000000097",
      "creditorVatNumber": "BE0000000097",
      "hidden": false,
      "notifyOfPaymentReceived": "boolean",
      "reference": "Ref1234",
      "subPayments": []
    }
  ]
}

ConfirmationBasedTransferPaymentData: object

Model representing the update of transfer payments

requesterVAT: object

The VAT number of the Requester. The requesterVAT needs to be filled in if the transfer execution is created by an integrator in the name of the Requester.

updates: ConfirmationBasedTransferPaymentUpdate

The details of the updates to perform

ConfirmationBasedTransferPaymentUpdate
Example
{
  "requesterVAT": "BE0000000196",
  "updates": [
    {
      "amountInCents": 5000000,
      "communication": "A new communication",
      "creditorIBAN": "BE01234567890123",
      "reference": "Ref1234",
      "subReference": "Ref1234 1/2"
    }
  ]
}

ConfirmationBasedTransferPaymentUpdate: object

Model representing the update of a transfer payment

amountInCents: integer (int64)

The updated amount of the payment in cents. The currency is EUR.

communication: string

The updated communiation to be used in this transfer. If no communication or a null communication are provided, the previous communication is kept.

creditorIBAN: string

The IBAN of the creditor account. If no IBAN is provided, the creditor will not be updated.

reference: string

The reference of the transfer payment to update

subReference: string

The reference of the sub transfer payment to add if any (used to reference a partial payout)

Example
{
  "amountInCents": 5000000,
  "communication": "A new communication",
  "creditorIBAN": "BE01234567890123",
  "reference": "Ref1234",
  "subReference": "Ref1234 1/2"
}

ContactPerson: object

Model representing a contact person

email: string

Email address of the person

firstName: string

First name

language: string

Language of the person. Authorized values are EN, FR, NL. Default value is 'EN'

lastName: string

First name

phoneNumber: string

Phone number of the person

Example
{
  "email": "john.doe@gmail.com",
  "firstName": "John",
  "language": "EN",
  "lastName": "Doe",
  "phoneNumber": "+32 1234567"
}

ContractApproval: object

Digiteal Customer contract approval status. The contracts for a person are the general condition usage and the privacy policy. For a company, the general terms and conditions should also be approved.

approvalDate: string (date)

The date when the customer approved the Digiteal contracts. The expected format is YYYY-MM-DD

ipAddress: string

IP address of the customer when he approved the contracts

userAgent: string

User agent of the customer when he approved the contracts

Example
{
  "approvalDate": "2019-11-30",
  "ipAddress": "string",
  "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
}

ContractDetails: object

language: string

The language of the response

name: string

The localized name of the contract

url: string

The URL of the contract

Example
{
  "language": "en",
  "name": "Personal data protection policy",
  "url": "https://docs.digiteal.eu/Policy/Digiteal-Data_Privacy_Policy-EN-V1.1.pdf"
}

CreditNoteCreationRequest: object

Model representing the data necessary for creating a new credit note

amountInCents: integer

amount expressed in cents that has to be paid

creationDate: string (date)

The date the bill was emitted. The default value is today. The expected format is YYYY-MM-DD

creditNoteInternalId: string

the internal identifier of the credit note as know to the emitter

format: string BANNER, BANNER2, BANNER3, NONE, PAYMENT_SLIP, PAYMENT_SLIP_WITH_BANNER, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, QR_NL, QR_TEXT, QR_URL

format of the image you want to receive, default value = QR

invoiceUUID: string (uuid)

the UUID of the related invoice

language: string

The language of the client (NL, FR or EN)

secondaryLanguage: string

A secondary language of the client

size: integer (int32)

Indicates the size of the image you want to receive in pixels.

Example
{
  "amountInCents": 1234,
  "creationDate": "2019-12-31",
  "creditNoteInternalId": "CreditNote1234",
  "format": "QR",
  "invoiceUUID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "language": "EN",
  "secondaryLanguage": "NL",
  "size": 600
}

CustomerInfo: object

Model representing a customer of a company

complete: boolean

Defines if the pre-registration contains enough data to be evaluated by Digiteal's compliance dept. Default value is true. The evaluation will only take place if the contract approval data is provided.

customerId: string

Identifier of the customer used in the company

notificationSettings: CustomerNotificationSettings

Notification settings for this customer (these will be used only if this is a new user of Digiteal)

product: string DIGITRUST, INVOICING, PAYMENT, PEPPOL, TERMS_TECH, ZOFINANCIALS

Product for which this pre-registration is initiated. Default is INVOICING.

returnURL: string

Defines the url where Digiteal has to redirect the user when the customer has set his password. Maximum length of 255 characters.

vatNumber: string

VAT number of the provider company

welcomeMessage: string

Specific welcome message that will be sent by email. Please be careful to send a message in the language of the customer.

Example
{
  "complete": true,
  "customerId": "Customer1234",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "product": "INVOICING",
  "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
  "vatNumber": "BE0000000097",
  "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
}

CustomerNotificationSettings: object

Model representing the notification settings of a customer

autoPayment: boolean

Should we notify the user when an autopayment was performed (true by default)

autoPaymentThreshold: boolean

Should we notify the user when an autopayment was not performed because it was above the threshold (true by default)

invoice: boolean

Should we notify the user when he receives a new invoice (true by default)

issuer: boolean

Should we notify the user when he has a new issuer (true by default)

mail: boolean

Should we notify the user through email notifications (true by default)

paymentIssue: boolean

Should we notify the user when a payment issue occured (true by default)

push: boolean

Should we notify the user through push notifications (if he has installed the Digiteal app, true by default)

reminder: boolean

Should we remind the user that he has an invoice pending payment (7 before the due date, 3 days before the due date and on the due date, true by default)

Example
{
  "autoPayment": true,
  "autoPaymentThreshold": true,
  "invoice": true,
  "issuer": true,
  "mail": true,
  "paymentIssue": true,
  "push": true,
  "reminder": true
}

DetailedCompanyInfo: object

Model representing detailed information about the company

address: Address

The main address of the company.

canReceiveFunds: boolean

The company can receive funds. It can do this once all the conditions to send funds are met, that the company has a paying profile and that there is at least one activated payment method.

canSendFunds: boolean

The company can send funds. It can do this once the company has been validated and at least one IBAN is validated too.

companyName: string

Name of the company

contact: PersonKYCInfo

Contact person of the company. This person must have the right to register the company in Digiteal. This person must either represent the company or have a delegation of power to register the company.

contractApprovalDate: string (date)

Customer contrat approval

creationDate: string (date)

The date when the company was created. The expected format is YYYY-MM-DD

customerRelationship: CustomerInfo

Information about the customer

email: string

contact email address of the company

ibans: string[]

Verified IBANs of the bank accounts associated to the company.

string
ibansToValidate: string[]

IBANs of the bank accounts associated to the company. You do not need to have verified that the company has access to these IBANs, Digiteal will take care of that. If you are sure, provide them in the ibans property.

string
id: integer (int64)

The Digiteal ID of the company

identificationNumber: string

Identification number of the company (see the company identification number documentation)

integratorId: integer (int64)

The Digiteal ID of the integrator company

pack: string DISCOVER, GO, POC, START, UNKNOWN

The pack chosen by the company to register. The DISCOVER pack is free but it does not enable collecting funds. The first pack to enable collecting funds is the START pack.

paymentMethods: string[]

Activated payment methods

string BANCONTACT, CARTE_BLEUE, DIRECT, IDEAL, INTERNAL, MAESTRO, MASTERCARD, STANDARD, VISA
status: string DEACTIVATED, NOT_ACTIVATED, NOT_FOUND, ON_HOLD, PROD

represents the status of the company within digiteal: NONE = unknown, NOT_ACTIVATED = Digiteal's terms and conditions have not been accepted yet, ON_HOLD = not active as issuer , PROD = active as issuer

ubos: UBO

The UBOs of the company

UBO
vatNumber: string

VAT number of the concerned company

Example
{
  "address": {
    "city": "Bruxelles",
    "country": "Belgique",
    "countryCode": "BE",
    "houseNumber": 15,
    "streetName": "Rue de la Loi",
    "zipCode": 1000
  },
  "canReceiveFunds": true,
  "canSendFunds": true,
  "companyName": "Your Telecom",
  "contact": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "contractApprovalDate": "string (date)",
  "creationDate": "2012-12-31",
  "customerRelationship": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  },
  "email": "my.company@yopmail.com",
  "ibans": [
    "string"
  ],
  "ibansToValidate": [
    "string"
  ],
  "id": 1234,
  "identificationNumber": "BE:VAT:BE0000000097",
  "integratorId": 1001,
  "pack": "START",
  "paymentMethods": [
    "string"
  ],
  "status": "PROD",
  "ubos": [
    {
      "firstName": "Jean",
      "lastName": "Dupont",
      "pepRelated": false
    }
  ],
  "vatNumber": "BE0000000097"
}

DocumentDetails: object

Model representing the details of an invoice document

comment: string

document comment

extension: string
fileName: string

the filename of the document

id: integer (int64)

the identifier of document

mediaType: string

Also known as MIME type

url: string

the location url of the document

uuid: string

the uuid of the document

Example
{
  "comment": "Invoice for May 2019",
  "extension": "pdf",
  "fileName": "Invoice1234.pdf",
  "id": 12,
  "mediaType": "application/pdf",
  "url": "https://api.digiteal.eu/document/e529f8b4790f11e7b5a5be2e44b06b52",
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}

ErrorMessage: object

Model representing the error output

errorCode: string

error code indicating a specific error

errorMessage: string

a more detailed message explaining the code.

errorSubjects: string[]

subjects on which the error code applies

string
requestId: string

The request id (generated by the server if no 'correlation-id' provided as a request header)

Example
{
  "errorCode": "INVALID_PARAMETER",
  "errorMessage": "Error message",
  "errorSubjects": [
    "string"
  ],
  "requestId": "Error message"
}

IDDocument: object

Model representing an identity document

pages: IDDocumentPage

The pages of the identity document. For an image (JPG/PNG), there will be a single page. For a PDF, each page will be analyzed separately.

IDDocumentPage
Example
{
  "pages": [
    {
      "extractedInfo": {
        "birthDay": "1990-12-31",
        "birthPlace": "Bruxelles, BE",
        "cardNumber": "591-9733362-96",
        "firstName": "Jean",
        "gender": "MALE",
        "lastName": "Dupont",
        "nationalIdentificationNumber": "90011538106",
        "nationality": "BE",
        "secondaryNames": "Francis René",
        "validityEnd": "2030-12-31",
        "validityStart": "2020-01-15"
      },
      "recognizedType": {
        "countryCode": "BE",
        "language": "FR",
        "side": "FRONT",
        "type": "ID_CARD"
      }
    }
  ]
}

IDDocumentInfo: object

Model representing a page of an identity document

birthDay: string (date)

Extracted date of birth. The format is YYYY-MM-DD.

birthPlace: string

Extracted place of birth

cardNumber: string

Extracted card number

firstName: string

Extracted first name

gender: string FEMALE, MALE, NA, UNKNOWN

The extracted gender of the person: MALE, FEMALE, UNKNOWN or NA

lastName: string

Extracted last name

nationalIdentificationNumber: string

Extracted national identification number.

nationality: string

Extracted nationality represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

secondaryNames: string

Extracted secondary names

validityEnd: string (date)

Extracted end of validity date. The format is YYYY-MM-DD.

validityStart: string (date)

Extracted start of validity date. The format is YYYY-MM-DD.

Example
{
  "birthDay": "1990-12-31",
  "birthPlace": "Bruxelles, BE",
  "cardNumber": "591-9733362-96",
  "firstName": "Jean",
  "gender": "MALE",
  "lastName": "Dupont",
  "nationalIdentificationNumber": "90011538106",
  "nationality": "BE",
  "secondaryNames": "Francis René",
  "validityEnd": "2030-12-31",
  "validityStart": "2020-01-15"
}

IDDocumentPage: object

Model representing a page of an identity document

extractedInfo: IDDocumentInfo

Extracted document information

recognizedType: IDDocumentType

Recognized document type

Example
{
  "extractedInfo": {
    "birthDay": "1990-12-31",
    "birthPlace": "Bruxelles, BE",
    "cardNumber": "591-9733362-96",
    "firstName": "Jean",
    "gender": "MALE",
    "lastName": "Dupont",
    "nationalIdentificationNumber": "90011538106",
    "nationality": "BE",
    "secondaryNames": "Francis René",
    "validityEnd": "2030-12-31",
    "validityStart": "2020-01-15"
  },
  "recognizedType": {
    "countryCode": "BE",
    "language": "FR",
    "side": "FRONT",
    "type": "ID_CARD"
  }
}

IDDocumentType: object

Model representing an identity document type

countryCode: string

Country code represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

language: string

Extracted language represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

side: string BACK, FRONT

Side of document recognized

type: string DRIVER_LICENSE, ID_CARD, OTHER, PASSPORT, VISA

Type of document recognized

Example
{
  "countryCode": "BE",
  "language": "FR",
  "side": "FRONT",
  "type": "ID_CARD"
}

InvoiceCreationRequest: object

Model representing the data necessary for creating a new invoice

amountInCents: integer

amount expressed in cents that has to be paid

bic: string

BIC number

creationDate: string (date)

The date the bill was emitted. The default value is today. The expected format is YYYY-MM-DD

creditorReference: string

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

currency: string

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

customerAddressCity: string (up to 250 chars)

City

customerAddressCountry: string (up to 250 chars)

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string (up to 250 chars)

street number

customerAddressStreet: string (up to 250 chars)

street name of the client address

customerAddressZip: string (up to 20 chars)

Zipcode

customerEmail: string (up to 255 chars)

email address. This is important to provide so that we can match this customer to the DigiTeal registered users.

customerFirstName: string (up to 255 chars)

Client first name

customerInternalId: string (up to 255 chars)

The id used by the requester his internal billing system. This is mandatory when creating an invoice

customerLastName: string (up to 255 chars)

Client last name

customerMobile: string (up to 255 chars)

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

dueDate: string (date)

The date before which the payment must be performed. If it is provided, it can be used to show which bills are overdue or will soon be overdue. The payment slip will display a memo-date one week before the due date if that date is still in the future at generation time. The expected format is YYYY-MM-DD

expectingDocumentAttached: boolean

True if documents should be attached to this invoice, false if no document should be attached. Default is true.

format: string BANNER, BANNER2, BANNER3, NONE, PAYMENT_SLIP, PAYMENT_SLIP_WITH_BANNER, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, QR_NL, QR_TEXT, QR_URL

Type of the image you want to receive, default value = QR

iban: string

IBAN number, if you have registered multiple IBAN numbers on your account then this field is required!

imageFormat: string BMP, PNG

Format of the image you want to receive, default value = PNG

invoiceInternalId: string (up to 255 chars)

The internal identifier of the invoice as known by the issuer. It must be unique per issuer.

language: string

The language of the client (NL, FR or EN)

publicationStatus: string DRAFT, PUBLISHED

An invoice can have one of two statusses:PUBLISHED (default value) : if generated the payment request can no longer be modified DRAFT : if generated the payment request can still be updated.

purpose: string

The purpose based on the ISO 20022 standard

remittanceInfo: string (up to 140 chars)

An unstructured string that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined

requesterEmail: string

The email of the requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterID: integer

The id of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterIdentificationNumber: string

The national identification number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication (see the company identification number documentation)

requesterVAT: string

The VAT number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

secondaryLanguage: string

A secondary language of the client

size: integer (int32)

Indicates the size of the image you want to receive in pixels.

Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "dueDate": "2019-12-31",
  "expectingDocumentAttached": true,
  "format": "QR",
  "iban": "BE40251230861709",
  "imageFormat": "PNG",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "publicationStatus": "PUBLISHED",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "size": 600
}

InvoicePaymentRequest: object

Model representing the data necessary for requesting the payment of an invoice

cancelURL: string

Defines the url where Digiteal has to redirect the user when the payment was cancelled. If not present, it will revert to the errorURL. Maximum length of 255 characters.

confirmationURL: string

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully. Maximum length of 255 characters.

errorURL: string

Defines the url where Digiteal has to redirect the user when an error occurred during the payment. Maximum length of 255 characters.

invoiceInternalId: string

The internal identifier of the invoice as know by the issuer.

language: string

The language of the client (NL, FR or EN)

requesterID: integer

The id of the Requester. Needs to be filled in if the payment is generated through another provider

uuid: string

Uuid of the invoice as determined by Digiteal. If this value is used the invoiceInternalId are ignored.

Example
{
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "errorURL": "https://api.myservice.com/paymentError",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "requesterID": 12,
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}

MercuriusParticipantRegistrationRequest: object

A Mercurius participant to register

certificate: string

The certificate to use to connect to the Mercurius platform

peppolIdentifier: string

PEPPOL identifier

Example
{
  "certificate": "string",
  "peppolIdentifier": "0208:0630675588"
}

MinimalPersonKYCInfo: object

Model representing the minimal KYC information of a person

birthDay: string (date)

The date the person was born. The person should be at least 16 years old. The expected format is YYYY-MM-DD.

birthPlace: string

The place where the person was born (city and country).

firstName: string

First name of the person

gender: string FEMALE, MALE, NA, UNKNOWN

The gender of the person: MALE, FEMALE, UNKNOWN or NA

lastName: string

Last name of the person

pep: boolean

Is the person politically exposed ?

pepCustomerExplanation: string

How is the person politically exposed ? This explanation should be provided only if the person is politically exposed.

Example
{
  "birthDay": "1990-12-31",
  "birthPlace": "Cook, NZ",
  "firstName": "John",
  "gender": "MALE",
  "lastName": "Doe",
  "pep": true,
  "pepCustomerExplanation": "Prime minister of New Zeland"
}

Payment: object

amountInCents: integer (int64)

The amount of the payment in cents. The currency is EUR.

comment: string

A comment about this payment. This will not be visible to the creditor.

communication: string

The communication that will be used in the payment. This will be visible in the bank statements of the creditor. Please use only ASCII characters here. Non ASCII will be simplified or removed to be sent through the banking channels.

conditional: boolean

True if the payment should be executed only after all the deciding actors have agreed. Otherwise, the payment will be executed as soon as the funds have been collected, for example as an advance payment. Default is true.

creditorEmail: string

The email address of the creditor. The default IBAN of the creditor will be used. Please only provide a single identifier in this entity: creditorEmail, creditorVatNumber, creditorIdentificationNumber or creditorIBAN.

creditorIBAN: string

The IBAN of the creditor. This IBAN should be linked to one of the actors. Please only provide a single identifier in this entity: creditorEmail, creditorVatNumber, creditorIdentificationNumber or creditorIBAN.

creditorIdentificationNumber: string

Identification number of the creditor. The default IBAN of the creditor will be used. Please only provide a single identifier in this entity: creditorEmail, creditorVatNumber, creditorIdentificationNumber or creditorIBAN (see the company identification number documentation)

creditorVatNumber: string

The VAT number of the creditor. The default IBAN of the creditor will be used. Please only provide a single identifier in this entity: creditorEmail, creditorVatNumber, creditorIdentificationNumber or creditorIBAN.

hidden: boolean

True if the payment should not be visible to the actors, for example in case of a commission that should not be disclosed to the customer. Otherwise, the payment details will be visible to all the actors.

notifyOfPaymentReceived: boolean

Notifications should be sent when there is a pay-in, cancellation or success for this Digitrust. True by default.

reference: string

A reference provided by the creator for this payment. This will not be visible to the creditor.

subPayments: Payment

The optional sub payments that compose this payment. The amount of the sub payments will be deducted from this payment. So in case of a parent payment of 50€ and a subpayment of 20€. The payout for the parent payment will be of only 30€ (50€-20€).

Payment
Example
{
  "amountInCents": 5000000,
  "comment": "A comment",
  "communication": "000600232562",
  "conditional": true,
  "creditorEmail": "john.doe@gmail.com",
  "creditorIBAN": "BE40251230861709",
  "creditorIdentificationNumber": "BE:VAT:BE0000000097",
  "creditorVatNumber": "BE0000000097",
  "hidden": false,
  "notifyOfPaymentReceived": "boolean",
  "reference": "Ref1234",
  "subPayments": []
}

PaymentCreationRequest: object

Model representing the data necessary for creating a new payment request

amountInCents: integer

amount expressed in cents that has to be paid

bic: string

BIC number

cancelURL: string

Defines the url where Digiteal has to redirect the user when the payment is cancelled (reverts to errorURL if it is not present). Maximum length of 255 characters.

confirmationURL: string

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

creationDate: string (date)

The date the bill was emitted. The default value is today. The expected format is YYYY-MM-DD

creditorReference: string

The structured reference used by the biller to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

currency: string

The currency of the amount to be paid based on the ISO 4217-alpha standard. The default value is EUR

customerAddressCity: string (up to 250 chars)

City

customerAddressCountry: string (up to 250 chars)

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string (up to 250 chars)

street number

customerAddressStreet: string (up to 250 chars)

street name of the client address

customerAddressZip: string (up to 20 chars)

Zipcode

customerEmail: string (up to 255 chars)

email address. This is important to provide so that we can match this customer to the DigiTeal registered users.

customerFirstName: string (up to 255 chars)

Client first name

customerInternalId: string (up to 255 chars)

The id used by the requester his internal billing system. This is mandatory when creating an invoice

customerLastName: string (up to 255 chars)

Client last name

customerMobile: string (up to 255 chars)

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

errorURL: string

Defines the url where Digiteal has to redirect the user when the payment has not been completed successfully (mandatory in case of interactive payment). Maximum length of 255 characters.

expectingDocumentAttached: boolean

True if documents should be attached to this invoice, false if no document should be attached. Default is true.

iban: string

IBAN number, if you have registered multiple IBAN numbers on your account then this field is required!

language: string

The language of the client (NL, FR or EN)

maxAmountInCents: integer

The maximum amount to pay (in cents, cannot be used at the same time as amountInCents)

minAmountInCents: integer

The minimum amount to pay (in cents, cannot be used at the same time as amountInCents)

mobile: boolean

True if this is a payment to be executed on a mobile device. False by default

multiple: boolean

True if you want to accept multiple payments with this description. Default value is false.

paymentInternalId: string

The internal identifier of the payment as known by the creditor

paymentMethod: string BANCONTACT, CARTE_BLEUE, PIS_STANDARD, DIGITEAL_STANDARD, IDEAL, MAESTRO, MASTERCARD, VISA

The payment method that is to be used. If it is defined, only that payment method will be available. If left empty, all the payment methods supported by the creditor will be available to the user.

purpose: string

The purpose based on the ISO 20022 standard

qrCode: boolean

If true, the QR code (for Bancontact payment method), will be displayed for example to enable the payment by a third party and not the user.

remittanceInfo: string (up to 140 chars)

An unstructured string that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined

requesterEmail: string

The email of the requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterID: integer

The id of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterIdentificationNumber: string

The national identification number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication (see the company identification number documentation)

requesterVAT: string

The VAT number of the Requester. The requesterID, the requesterVAT, the requesterIdentificationNumber or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

secondaryLanguage: string

A secondary language of the client

suggestedAmountInCents: string

The suggested amount to pay (in cents, cannot be used at the same time as amountInCents)

validityInMinutes: string (byte)

Defines the validity of the payment request in minutes. Default value 10min

Example
{
  "amountInCents": 1234,
  "bic": "GKCCBEBB",
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "creationDate": "2019-12-31",
  "creditorReference": "000600232562",
  "currency": "EUR",
  "customerAddressCity": "Bruxelles",
  "customerAddressCountry": "BE",
  "customerAddressNumber": 14,
  "customerAddressStreet": "Rue de la Paix",
  "customerAddressZip": 1000,
  "customerEmail": "john.doe@me.com",
  "customerFirstName": "Jean",
  "customerInternalId": "TEST12345",
  "customerLastName": "Dujardin",
  "customerMobile": "+32123456789",
  "customerVAT": "BE0000000097",
  "errorURL": "https://api.myservice.com/paymentError",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "maxAmountInCents": 50000,
  "minAmountInCents": 500,
  "mobile": true,
  "multiple": false,
  "paymentInternalId": "Payment1234",
  "paymentMethod": "BANCONTACT",
  "purpose": "GDDS",
  "qrCode": false,
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterIdentificationNumber": "BE:VAT:BE0000000097",
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "suggestedAmountInCents": 50000,
  "validityInMinutes": 10
}

PeppolParticipantRegistrationRequest: object

A PEPPOL participant (either a company or a person) to register

contact: ContactPerson

Contact person that Digiteal will contact in case of a registration error

limitedToOutboundTraffic: boolean

Only register the participant for outbound traffic (no document type will be registered)

peppolIdentifier: string

PEPPOL identifier

Example
{
  "contact": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "limitedToOutboundTraffic": "boolean",
  "peppolIdentifier": "0208:0630675588"
}

PeppolRegisteredParticipant: object

A registered PEPPOL participant (either a company or a person)

contact: ContactPerson

Contact person that Digiteal will contact in case of a registration error

peppolIdentifier: string

PEPPOL identifier

registrationDate: string

Date of the registration within Digiteal for this particular PEPPOL integrator

Example
{
  "contact": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "peppolIdentifier": "0208:0630675588",
  "registrationDate": "2019-09-01"
}

PeppolResult: object

Response from a PEPPOL action

message: string

Message associated with the action

status: string ALREADY_REGISTERED_TO_DIGITEAL, ALREADY_REGISTERED_TO_OTHER_AP, ENTITY_NOT_REGISTERED, INVALID_DOCUMENT, MISSING_DOCUMENT, NOT_REGISTERED_TO_CALLER, OK, RECIPIENT_NOT_IN_PEPPOL, UNEXPECTED_ERROR, UNSUPPORTED_PEPPOL_IDENTIFIER_TYPE

Status of the action

Example
{
  "message": "All clear !",
  "status": "OK"
}

PersonCustomerKYCInfo: object

Complete KYC model representing a person customer of another company

contractApproval: ContractApproval

Customer contrat approval

customerInfo: CustomerInfo

Information about the customer

customerPerson: PersonKYCInfo

Customer person KYC information

Example
{
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "customerInfo": {
    "complete": true,
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "product": "INVOICING",
    "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
    "vatNumber": "BE0000000097",
    "welcomeMessage": "YourTelecom invites you to use Digiteal to pay all your invoices in one click."
  },
  "customerPerson": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  }
}

PersonInfo: object

Model representing information about the person

email: string

email address of the person

id: integer (int64)

The Digiteal ID of the company

idDocumentValidityEnd: string (date)

The date the id document will expire. None if the date is unknown or no id document was provided. Format: dd/MM/yyyy

status: string ACTIVATED, COMPANY, DEACTIVATED, EXPIRED, NOT_ACTIVATED, NOT_FOUND, OK, PENDING, UNKNOWN

represents the status of the person within Digiteal: NOT_FOUND: No user with this email address registered in Digiteal, COMPANY: This email address is linked to a company, NOT_ACTIVATED: his email address has not been confirmed, ACTIVATED: his email address has been confirmed but he did not finish the KYC, DEACTIVATED: he deleted his account in Digiteal, PENDING: he finished his KYC and his information is being reviewed by Digiteal, OK: His KYC has been checked, he is ready to perform payments, EXPIRED: His KYC information has expired.

Example
{
  "email": "john.doe@yopmail.com",
  "id": 12,
  "idDocumentValidityEnd": "31/12/2019",
  "status": "OK"
}

PersonKYCInfo: object

Model representing the complete KYC information of a person

address: Address

Address of residence of the person

birthDay: string (date)

The date the person was born. The person should be at least 16 years old. The expected format is YYYY-MM-DD.

birthPlace: string

The place where the person was born (city and country).

digitrustIntegratorIdentificationNumber: string

Identification number of the DigiTrust integrator of this person if any. This value overrides the digitrustIntegratorVATNumber so use one or the other (see the company identification number documentation)

digitrustIntegratorVATNumber: string

The VAT number of the DigiTrust integrator of this person if any. This value is overridden by the digitrustIntegratorIdentificationNumber so use one or the other.

email: string

Email address of the person

firstName: string

First name of the person

gender: string FEMALE, MALE, NA, UNKNOWN

The gender of the person: MALE, FEMALE, UNKNOWN or NA

ibans: string[]

IBANs of the bank accounts associated to the person. You must have verified that the person has access to these IBANs. If you are not sure, provide them in the ibansToValidate property.

string
ibansToValidate: string[]

IBANs of the bank accounts associated to the person. You do not need to have verified that the person has access to these IBANs, Digiteal will take care of that. If you are sure, provide them in the ibans property.

string
idDocumentValidityEnd: string (date)

Date of the end of validity of the provided id documents of the person

integratorIdentificationNumber: string

Identification number of the invoice/payment integrator of this person if any. This value overrides the integratorVATNumber so use one or the other (see the company identification number documentation)

integratorVATNumber: string

The VAT number of the invoice/payment integrator of this person if any. This value is overridden by the integratorIdentificationNumber so use one or the other.

language: string

Language of the person. Authorized values are EN, FR, NL. Default value is 'EN'

lastName: string

Last name of the person

nationalities: string[]

Nationalities of the person. The nationalities are represented by the two letter country codes as defined in ISO 3166-1 alpha-2.

string
pep: boolean

Is the person politically exposed ?

pepCustomerExplanation: string

How is the person politically exposed ? This explanation should be provided only if the person is politically exposed.

sectors: Sector

Sectors where the person is active

Sector
Example
{
  "address": {
    "city": "Bruxelles",
    "country": "Belgique",
    "countryCode": "BE",
    "houseNumber": 15,
    "streetName": "Rue de la Loi",
    "zipCode": 1000
  },
  "birthDay": "1990-12-31",
  "birthPlace": "Cook, NZ",
  "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
  "digitrustIntegratorVATNumber": "BE0000000097",
  "email": "john.doe@gmail.com",
  "firstName": "John",
  "gender": "MALE",
  "ibans": [
    "string"
  ],
  "ibansToValidate": [
    "string"
  ],
  "idDocumentValidityEnd": "2030-12-31",
  "integratorIdentificationNumber": "BE:VAT:BE0000000097",
  "integratorVATNumber": "BE0000000097",
  "language": "EN",
  "lastName": "Doe",
  "nationalities": [
    "string"
  ],
  "pep": true,
  "pepCustomerExplanation": "Prime minister of New Zeland",
  "sectors": [
    {
      "details": "Part-time",
      "type": "STUDIES"
    }
  ]
}

PersonSDDConfiguration: object

Model representing the configuration of a personal SDD mandate

complete: boolean

Defines if the SDD configuration contains enough data to be evaluated by Digiteal's compliance dept. Default value is true.

configuration: AutoPaymentConfiguration

Autopayment configuration that will defines the parameters of the SDD mandate. Here are the default parameters if no configuration was provided: Monthly, payment on request date, maximum 1000€.

contractApproval: ContractApproval

Customer contract approval that defines when and how the customer approved the terms and conditions of Digiteal (see getCompanyContracts to get the terms and conditions).

creationDate: string

The date when the original SDD mandate was created. The expected format is YYYY-MM-DD

creditorVatNumber: string

VAT number of the SDD mandate holder (the creditor). The creditor must have an active Digiteal account with at least the START pack.

customerInternalId: string

Identifier of the customer as defined by the creditor

debtor: PersonKYCInfo

SDD mandate client (the debtor)

debtorIBAN: string

The IBAN from which the SDD mandate will be withdrawing money (aka debtor IBAN).

notificationSettings: CustomerNotificationSettings

Notification settings for this customer (these will be used only if this is a new user of Digiteal)

product: string DIGITRUST, INVOICING, PAYMENT, PEPPOL, TERMS_TECH, ZOFINANCIALS

Product for which this pre-registration is initiated. Default is INVOICING.

returnURL: string

Defines the url where Digiteal has to redirect the user when the customer has set his password. Maximum length of 255 characters.

transferID: string (uuid)

The unique identifier of the digitrust if this SDD is set up for digitrust pay-ins

welcomeMessage: string

Specific welcome message that will be sent by email. Please be careful to send a message in the language of the customer.

Example
{
  "complete": true,
  "configuration": {
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-30",
    "ipAddress": "string",
    "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
  },
  "creationDate": "2012-12-31",
  "creditorVatNumber": "BE0000000097",
  "customerInternalId": "TEST12345",
  "debtor": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "digitrustIntegratorIdentificationNumber": "BE:VAT:BE0000000097",
    "digitrustIntegratorVATNumber": "BE0000000097",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "ibansToValidate": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorIdentificationNumber": "BE:VAT:BE0000000097",
    "integratorVATNumber": "BE0000000097",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "debtorIBAN": "BE40251230861709",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "product": "INVOICING",
  "returnURL": "https://www.myportal.com/digitealRegistrationConfirmed",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "welcomeMessage": "We inform you that your SEPA mandate for YourTelecom is transferred to Digiteal, a Belgian company that is a partner of Belfius."
}

RefundRequest: object

amountInCents: integer

Amount expressed in cents to be refunded.

currency: string

The currency of the amount to be refunded based on the ISO 4217-alpha standard. The default value is EUR

paymentUUID: string (uuid)

Uuid of the payment to refund.

Example
{
  "amountInCents": 1234,
  "currency": "EUR",
  "paymentUUID": "e529f8b4790f11e7b5a5be2e44b06b52"
}

SctPaymentRequestInput: object

Model representing the data necessary for creating a new SCT payment

amountInCents: integer

Represents amount of the payment. The value is in cents and it must be positive

creditorIban: string

Represents the creditor's iban. It must be a valid IBAN

creditorReference: string

The structured reference used to reconcile the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined

debtorIban: string

Represents the debtor's iban. It must be a valid IBAN

executionDate: string

Represents the date when the payment should be executed. It must use the ISO format and can not be in the past. By default, the payment will be executed ASAP.

remittanceInfo: string

An unstructured string that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined

Example
{
  "amountInCents": 100,
  "creditorIban": "BE81429126789924",
  "creditorReference": "000600232562",
  "debtorIban": "BE81429126789924",
  "executionDate": "2021-12-20",
  "remittanceInfo": "Invoice 1"
}

SctPaymentRequestResponse: object

Model representing the response when creating a new SCT payment

paymentID: string (uuid)

Represents the payment's ID

status: string EXECUTED, PLANNED

Status of the created payment

Example
{
  "paymentID": "b0aecc22-05b9-11ec-9a03-0242ac130003",
  "status": "EXECUTED"
}

Sector: object

Model representing the sector of a company/person

details: string

The name of the sector if OTHER was chosen or details about the chosen sector.

type: string ACCOUNTANT, AGRIBUSINESS, ARCHITECT, ART_SALES, BAILIFF, BANK, BUSINESS_SERVICES, CARWASH, CHEMISTRY, COMPUTER, CONSTRUCTION, DIAMONDS, DOCTOR, EDUCATION, ELECTRONICS, ENERGY, E_GAMING, GAMES_CHANCE, HEALTH, HORECA, LAWYER, LIBERAL_PROFESSION, MACHINERY, METALLURGY, NOTARY, OTHER, PHARMACEUTICAL, PHONE_SHOP, PLASTIC, PUBLIC, PUBLISHING, RETIREE, STUDIES, TAXIS, TELECOM, TEXTILE, TRADE, TRADING_ON_INTERNET, TRANSPORT, USED_PARTS, WOOD

Type of sector

Example
{
  "details": "Part-time",
  "type": "STUDIES"
}

ShortLinkRequest: object

Model representing the a short link request

longURL: string

Long URL of max 1024 characters that must contain "digiteal.eu/api/v1/payment-request/pay-button/execute".

Example
{
  "longURL": "https://app.digiteal.eu/api/v1/payment-request/pay-button/execute?requesterVAT=BE0406729809&amountInCents=4000&iban=BE72000000001616&language=en&remittanceInfo=Urgency%20Fund&multiple=true&confirmationURL=https://api.myservice.com/paymentConfirmed&cancelURL=https://api.myservice.com/paymentCancelled&errorURL=https://api.myservice.com/paymentError"
}

ShortLinkResponse: object

Model representing the a short link response

shortURL: string

Short URL

Example
{
  "shortURL": "https://app.digiteal.eu/p/abcde"
}

SupportedPeppolDocumentTypes: object

The document types supported by a PEPPOL participant in the network

documentTypes: string[]

Document type identifiers

string
peppolIdentifier: string

PEPPOL identifier

Example
{
  "documentTypes": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:www.cenbii.eu:transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol4a:ver2.0::2.1",
  "peppolIdentifier": "0208:0630675588"
}

TimeBasedTransfer: object

Model representing the data necessary for creating a trusted payment when the release condition is 'MINIMUM_AMOUNT_BEFORE_END_DATE'

amountInCents: integer (int64)

The maximum amount of the trusted payment. If this amount is reached the total amount will be transferred to the creditor.

creditorPayments: TimeBasedTransferPayment

This list contains the details of the outgoing payments that will be wired when the minimum requirements are met. At least one should be present.

TimeBasedTransferPayment
endDate: string (date)

The end date of the trusted payment. If the amount requirements are not met before this date the transfer is canceled and the clients are reimbursed. Format: dd/MM/yyyy

minumumAmountInCents: integer (int64)

The minimum amount of the trusted payment. If this amount is reached on the end date of the trusted payment the total amount will be transferred to the creditor.

notifyOfPaymentReceived: boolean

Notifications should be sent when there is a pay-in, cancellation or success for this Digitrust. True by default.

projectName: string

Project name of the trusted payment

Example
{
  "amountInCents": 20000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "31/12/2019",
  "minumumAmountInCents": 10000000,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Crowd-lending for CompanyX"
}

TimeBasedTransferInfo: object

Model representing the data of a trusted payment when the release condition is 'MINIMUM_AMOUNT_BEFORE_END_DATE'

amountInCents: integer (int64)

The maximum amount of the trusted payment. If this amount is reached the total amount will be transferred to the creditor.

availableAmountInCents: integer (int64)

The amount of funds available for this trusted payment. Only funds that have reached Digiteal's segregated account are considered. Funds in flight are not.

creditorPayments: TimeBasedTransferPayment

This list contains the details of the outgoing payments that will be wired when the minimum requirements are met. At least one should be present.

TimeBasedTransferPayment
endDate: string (date)

The end date of the trusted payment. If the amount requirements are not met before this date the transfer is canceled and the clients are reimbursed. Format: dd/MM/yyyy

minumumAmountInCents: integer (int64)

The minimum amount of the trusted payment. If this amount is reached on the end date of the trusted payment the total amount will be transferred to the creditor.

notifyOfPaymentReceived: boolean

Notifications should be sent when there is a pay-in, cancellation or success for this Digitrust. True by default.

projectName: string

Project name of the trusted payment

Example
{
  "amountInCents": 20000000,
  "availableAmountInCents": 15000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "31/12/2019",
  "minumumAmountInCents": 10000000,
  "notifyOfPaymentReceived": "boolean",
  "projectName": "Crowd-lending for CompanyX"
}

TimeBasedTransferPayment: object

Model representing the payment to the creditor of a time-based trusted payment

communication: string

Communication associated with this payment

creditorIBAN: string

IBAN value of the creditor on which the the amount will be wired when the minimum requirements are met.

percentage: number

Percentage of the trusted payment that will be transferred to this creditor. Default is 100. The percentage can contain at most 6 numbers behind the decimal point

Example
{
  "communication": "commission",
  "creditorIBAN": "BE40251230861709",
  "percentage": 100
}

TransferCreationResult: object

Model representing the result of a digitrust creation

creditorReference: string

The creditor reference. Use this creditor reference when adding (wire transfer) an amount for this digitrust.

transferID: string (uuid)

The unique identifier of the digitrust

transferIDx64: string
Example
{
  "creditorReference": "RF84U6",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDx64": "string"
}

TransferExecutionData: object

Model representing the data necessary to execute the digitrust

comment: string

optional field for a comment

requesterVAT: string

The VAT number of the Requester. The requesterVAT needs to be filled in if the transfer execution is created by an integrator in the name of the Requester.

transferID: string (uuid)

The transfer unique identifier received upon creation

transferIDs: string[]

The transfer unique identifiers received upon creation

string (uuid)
validate: boolean

Boolean indicating if you want to execute the transfer (true) or cancel the transfer(false). Canceling will reimburse the clients.

Example
{
  "comment": "Glad to participate !",
  "requesterVAT": "BE0000000196",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDs": [
    "string (uuid)"
  ],
  "validate": true
}

TrustedPaymentContribution: object

Model representing the data necessary for describing a contribution to a trusted payment.

amountInCents: integer

Amount expressed in cents that has to be paid. If this is not provided for a confirmation-based trusted payment, the total amount of the trusted payment will be requested.

transferId: string (uuid)

Uuid of the trusted payment as determined by Digiteal. If this value is used the creditor reference(s) are ignored.

Example
{
  "amountInCents": 1234,
  "transferId": "e529f8b4790f11e7b5a5be2e44b06b52"
}

TrustedPaymentRequest: object

Model representing the data necessary for requesting the collection of a trusted payment.

amountInCents: integer

Amount expressed in cents that has to be paid. If this is not provided for a confirmation-based trusted payment, the total amount of the trusted payment will be requested.

cancelURL: string

Defines the url where Digiteal has to redirect the user when the payment was cancelled. If not present, it will revert to the errorURL. Maximum length of 255 characters.

confirmationURL: string

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully. Maximum length of 255 characters.

contributions: TrustedPaymentContribution

Contributions to the trusted payments as determined. If this value is used the creditor reference(s), transferId and transferIds are ignored. Available since 1.42.

TrustedPaymentContribution
creditorReference: string

Creditor reference of the trusted payment as determined by Digiteal. This will not be used if the transferId(s) is/are provided.

creditorReferences: string[]

Creditor references of the trusted payment as determined by Digiteal. This will not be used if the transferId(s) is/are provided.

string
errorURL: string

Defines the url where Digiteal has to redirect the user when an error occurred during the payment. Maximum length of 255 characters.

language: string

The language of the client (NL, FR or EN)

transferId: string (uuid)

Uuid of the trusted payment as determined by Digiteal. If this value is used the creditor reference(s) are ignored.

transferIds: string[]

Uuids of the trusted payment as determined by Digiteal. If this value is used the creditor reference(s) and transferId are ignored.

string (uuid)
Example
{
  "amountInCents": 1234,
  "cancelURL": "https://api.myservice.com/paymentCancelled",
  "confirmationURL": "https://api.myservice.com/paymentConfirmed",
  "contributions": [
    {
      "amountInCents": 1234,
      "transferId": "e529f8b4790f11e7b5a5be2e44b06b52"
    }
  ],
  "creditorReference": "RF84U6",
  "creditorReferences": [
    "string"
  ],
  "errorURL": "https://api.myservice.com/paymentError",
  "language": "EN",
  "transferId": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIds": [
    "string (uuid)"
  ]
}

UBO: object

Model representing information about a UBO

firstName: string

The first name of the UBO.

lastName: string

The last name of the UBO

pepRelated: boolean

True if the UBO is a PEP or PEP related

Example
{
  "firstName": "Jean",
  "lastName": "Dupont",
  "pepRelated": false
}

UserInfo: object

Model representing information about a person or a company

companyStatus: string DEACTIVATED, NOT_ACTIVATED, NOT_FOUND, ON_HOLD, PROD

represents the status of the company within digiteal: NONE = unknown, NOT_ACTIVATED = Digiteal's terms and conditions have not been accepted yet, ON_HOLD = not active as issuer , PROD = active as issuer

email: string

email address of the person/company

id: integer (int64)

The Digiteal ID of the company

personStatus: string ACTIVATED, COMPANY, DEACTIVATED, EXPIRED, NOT_ACTIVATED, NOT_FOUND, OK, PENDING, UNKNOWN

represents the status of the person within Digiteal: NOT_FOUND: No user with this email address registered in Digiteal, COMPANY: This email address is linked to a company, NOT_ACTIVATED: his email address has not been confirmed, ACTIVATED: his email address has been confirmed but he did not finish the KYC, DEACTIVATED: he deleted his account in Digiteal, PENDING: he finished his KYC and his information is being reviewed by Digiteal, OK: His KYC has been checked, he is ready to perform payments, EXPIRED: His KYC information has expired.

type: string COMPANY, NONE, PERSON

COMPANY, PERSON or NONE if this email is not linked to a user that confirmed his email address

vatNumber: string

VAT number of the concerned company

Example
{
  "companyStatus": "PROD",
  "email": "john.doe@yopmail.com",
  "id": 12,
  "personStatus": "OK",
  "type": "COMPANY",
  "vatNumber": "BE0000000097"
}

WebHookConfigurationInfo: object

Model representing information about a webhook configuration

identificationNumber: string

Identification number of the company for whom the webhooks are configured (if any). This information should not be added to the calls made to configure the webhooks because the webhook configuration will always be attached to the caller through the credentials he used to connect. It will only be present in the data returned by Digiteal. (see the company identification number documentation)

login: string

Login used to call the webhooks (in the HTTP Basic Auth). If no login/password is provided or if the webhook is sent by email then this will not be used.

password: string

Password used to call the webhooks (in the HTTP Basic Auth). If no login/password is provided or if the webhook is sent by email then this will not be used.

vatNumber: string

VAT number of the company for whom the webhooks are configured (if any). This information should not be added to the calls made to configure the webhooks because the webhook configuration will always be attached to the caller through the credentials he used to connect. It will only be present in the data returned by Digiteal.

webHooks: WebHookInfo

Webhooks

WebHookInfo
Example
{
  "identificationNumber": "BE:VAT:BE0000000097",
  "login": "userLogin",
  "password": "NotProvidedForSecurityReasons",
  "vatNumber": "BE0000000097",
  "webHooks": [
    {
      "type": "PAYMENT_INITIATED",
      "url": "https://myIntegrator.com/myApp/paymentInitiated"
    }
  ]
}

WebHookInfo: object

Model representing information about a webhook

type: string

Type of webhook to configure.

url: string

URL called by the webhook. For initial setup and testing purpose, you can also set to receive the webhook as an email using a URL starting with "mailto:".

Example
{
  "type": "PAYMENT_INITIATED",
  "url": "https://myIntegrator.com/myApp/paymentInitiated"
}