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.0

Auto payments

This api is responsible for requesting an autoPayment

Request an auto payment.

POST /api/v1/autopay-request

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",
  "directPayment": false,
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "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"
}
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"
}

CreditNotes

This api is responsible for creating credit notes

Create a credit note

POST /api/v1/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

OK

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
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"
}

Integrators

This api is provided for integrators

Get company registration status

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

VAT number of the 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)
{
  "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 registration status

GET /api/v1/integrator/person-info
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",
  "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 upload a document related to an invoice created with the InvoiceCreationApi

Using the credit note UUID

POST /api/v1/creditNote-sendDoc
comment: object
in formData

an additional comment on the file

document: file
in formData

the multi part document

name: object
in formData

the file name. This name will be shown

requesterID: object
in formData

only necessary when you are calling the service as an integrator

uuid: object
in formData

the credit note uuid

OK

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 Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}
Response Headers (200 OK)
status

status of the request

string
uuid

unique identifier of the uploaded document

string
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"
}

Using the issuer internal id

POST /api/v1/creditNote-sendDocWithBillerId
comment: object
in formData

an additional comment on the file

creditNoteId: object
in formData

the internal identifier of the credit note used by the issuer

document: file
in formData

the multi part document

name: object
in formData

the file name. This name will be shown

requesterID: object
in formData

only necessary when you are calling the service as an integrator

OK

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 Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}
Response Headers (200 OK)
uuid

unique identifier of the uploaded document

string
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"
}

Retrieve the document related to a specific invoice id

GET /api/v1/invoice-getDocumentList
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",
    "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
comment: object
in formData

an additional comment on the file

document: file
in formData

the multi part document

name: object
in formData

the file name. This name will be shown

name: object
in formData

(no description)

requesterID: object
in formData

only necessary when you are calling the service as an integrator

uuid: object
in formData

the invoice uuid

OK

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 Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}
Response Headers (200 OK)
uuid

unique identifier of the uploaded document

string
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"
}

Using the issuer internal id

POST /api/v1/invoice-sendDocWithBillerId
billId: object
in formData

the internal identifier used by the issuer

comment: object
in formData

an additional comment on the file

document: file
in formData

the multi part document

name: object
in formData

the file name. This name will be shown

requesterID: object
in formData

only necessary when you are calling the service as an integrator

OK

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 Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}
Response Headers (200 OK)
uuid

unique identifier of the uploaded document

string
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"
}

Invoices

This api is responsible for creating/updating invoice requests

Create/Update invoice.

POST /api/v1/invoice-request

data necessary to create the invoice request

name: string
in query

(no description)

Request Content-Types: application/json
Request Example
{
  "alreadyPaid": false,
  "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",
  "directPayment": false,
  "dueDate": "2019-12-31",
  "expectingDocumentAttached": true,
  "format": "QR",
  "iban": "BE40251230861709",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "languages": [
    "string"
  ],
  "publicationStatus": "PUBLISHED",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "size": 600
}
200 OK

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

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)
autoPaymentDate

If an auto payment has been executed to pay this invoice, you will receive here when the invoice has been scheduled to be paid. The format of the date is dd/MM/yyyy.

string
deliveryMethod

if the value is S2P then the client has chosen for Digiteal as presentment channel, if the value is null then the client is unknown to Digiteal or has not performed an optin

string
uuid

unique identifier for the invoice

string
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

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

KYC

Pre-register a company

POST /api/v1/kyc/company

Customer company KYC details

Request Content-Types: application/json
Request Example
{
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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",
    "contactPerson": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorVATNumber": "string",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "ibans": [
      "string"
    ],
    "integratorVATNumber": "string",
    "pack": "START",
    "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": {
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "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)
{
  "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

Retrieve the latest contracts to be approved to become a Digiteal customer as a company

GET /api/v1/kyc/contractsForCompany
language: string
in query

language

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)
[
  {
    "id": 42,
    "language": "en",
    "name": "Personal data protection policy",
    "url": "https://docs.digiteal.eu/Policy/Digiteal-Data_Privacy_Policy-EN-V1.1.pdf"
  }
]
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

Retrieve the latest contracts to be approved to become a Digiteal customer as a person

GET /api/v1/kyc/contractsForPerson
language: string
in query

language

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)
[
  {
    "id": 42,
    "language": "en",
    "name": "Personal data protection policy",
    "url": "https://docs.digiteal.eu/Policy/Digiteal-Data_Privacy_Policy-EN-V1.1.pdf"
  }
]
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

Send a KYC document to attach to a person/company

POST /api/v1/kyc/document
document: file
in formData

the document to add

email: object
in formData

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

name: object
in formData

the file name

requesterVAT: object
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: object
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",
  "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

Pre-register a person

POST /api/v1/kyc/person

Customer person KYC details

Request Content-Types: application/json
Request Example
{
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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": {
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "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",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorVATNumber": "string",
    "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",
  "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}
User-Agent: string unknown
in header

User-Agent

clientEmail: string
in path

clientEmail

clientInternalId: string
in path

clientInternalId

requestorVAT: string
in path

requestorVAT

OK

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 (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}
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 API

This api is available to PEPPOL integrators.

Send an invoice/creditNote/application response through PEPPOL

POST /api/v1/peppol/outbound-documents
comment: object
in formData

an additional comment on the provided document (internal use only, not sent to through PEPPOL

document: file
in formData

the document to send (a Standard Business Document)

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"
}

retrieveRegisteredParticipants

GET /api/v1/peppol/registered-participants

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}

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

POST /api/v1/peppol/registered-participants

Participant to register

Request Content-Types: application/json
Request Example
{
  "contactPerson": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "peppolIdentifier": "9956: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 the registration status of a PEPPOL participant (company or person)

GET /api/v1/peppol/registered-participants/{identifier}
identifier: string
in path

Identifier

The requested PEPPOL participant

404 Not Found

Not Found

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

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

DELETE /api/v1/peppol/registered-participants/{identifier}
identifier: string
in path

Identifier

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 the supported document types of a PEPPOL participant through the Peppol network (not only the ones registered in Digiteal)

GET /api/v1/peppol/remote-participants/{identifier}/supported-document-types
identifier: string
in path

Identifier

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": "9956:0630675588"
}

Pay button execution

This api is used to initiate payments from a button

Launch a B2B payment

GET /api/v1/payment-request/b2b-pay-button/execute
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

confirmationURL: string
in query

URL where the user will be redirected when the payment will be confirmed by the debtor

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.belgian: boolean
in query

(no description)

creditorVAT.representation: string
in query

(no description)

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.belgian: boolean
in query

(no description)

debtorVAT.representation: string
in query

(no description)

errorURL: string
in query

URL where the user will be redirected in case a error occurred during the payment

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

type
string
Response Content-Types: */*
Response Example (200 OK)
"string"

Launch a payment

GET /api/v1/payment-request/pay-button/execute
amountInCents: integer (int64)
in query

The amount to pay (in cents)

cancelURL: string
in query

(no description)

confirmationURL: string
in query

(no description)

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

direct: boolean
in query

True if you want the customer to go through a bank confirmation and reduce the payment delay to 1 day. Extra charges apply for activating this. Default value is false.

errorURL: string
in query

(no description)

iban: string
in query

The IBAN of the creditor

invoiceUUID: string
in query

The identifier of the invoice as received when created with Digiteal

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)

multiple: boolean
in query

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

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

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 SVG, PNG
in query

(no description)

200 OK

OK

type
string
Response Content-Types: */*
Response Example (200 OK)
"string"

Pay button image generation

This api is used to generate renderings for payment buttons

Create a B2B payment button.

GET /api/v1/payment-request/b2b-pay-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

confirmationURL: string
in query

URL where the user will be redirected when the payment will be confirmed by the debtor

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.belgian: boolean
in query

(no description)

creditorVAT.representation: string
in query

(no description)

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.belgian: boolean
in query

(no description)

debtorVAT.representation: string
in query

(no description)

errorURL: string
in query

URL where the user will be redirected in case a error occurred during the payment

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

OK

Response Content-Types: */*, image/png
Response Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}

Create a payment button.

GET /api/v1/payment-request/pay-button
amountInCents: integer (int64)
in query

The amount to pay (in cents)

cancelURL: string
in query

(no description)

confirmationURL: string
in query

(no description)

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

direct: boolean
in query

True if you want the customer to go through a bank confirmation and reduce the payment delay to 1 day. Extra charges apply for activating this. Default value is false.

errorURL: string
in query

(no description)

iban: string
in query

The IBAN of the creditor

invoiceUUID: string
in query

The identifier of the invoice as received when created with Digiteal

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)

multiple: boolean
in query

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

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

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 SVG, PNG
in query

(no description)

OK

Response Content-Types: */*, image/png
Response Example (200 OK)
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}

Payments

This api is responsible for handling payment requests

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",
  "directPayment": false,
  "errorURL": "https://api.myservice.com/paymentError",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "maxAmountInCents": 50000,
  "minAmountInCents": 500,
  "multiple": false,
  "paymentInternalId": "Payment1234",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "suggestedAmountInCents": 50000,
  "validityInMinutes": 10
}
200 OK

OK

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)
payment-url-intent

url to perform payment on smartphone

string
payment-web-url

url to perform payment in web browser

string
uuid

unique identifier of the payment request

string
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"
}

Create a 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",
  "requesterID": 12,
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}
200 OK

OK

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)
payment-url-intent

url intent to perform payment on mobile device

string
payment-web-url

url to perform payment in web browser

string
uuid

unique identifier for the payment request

string
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"
}

QR Code

This api is responsible for QR code generation

Create a QR code image.

GET /api/v1/image-request/slip-image-anonymous
amount: number (double)
in query

amount expressed in cents that has to be paid

bic: string
in query

BIC number

billDate: string (date-time)
in query

The date the bill was created

billId: string
in query

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

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

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-time)
in query

The due date of the bill

format: string
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[] FR, EN, NL, DE
in query

(no description)

Array values passed as multiple parameters: ?languages=aaa&languages=bbb
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

requestStatus: string
in query

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

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

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

OK

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

0: OK, 1: Not OK

string

Create a QR code JSON

GET /api/v1/image-request/slip-image-anonymous-inline
amount: number (double)
in query

amount expressed in cents that has to be paid

bic: string
in query

BIC number

billDate: string (date-time)
in query

The date the bill was created

billId: string
in query

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

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

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-time)
in query

The due date of the bill

format: string
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[] FR, EN, NL, DE
in query

(no description)

Array values passed as multiple parameters: ?languages=aaa&languages=bbb
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

requestStatus: string
in query

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

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

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

OK

type
string
Response Content-Types: application/json
Response Example (200 OK)
"string"
Response Headers (200 OK)
status

0: OK, 1: Not OK

string

SDD

This API enables the transfer of SDD including KYC information to pre-register persons and companies to process SDD for their provider. This API is scheduled to be available in v1.24 of the Digiteal platform.

SDD

Transfer a SDD where the debtor is a company

POST /api/v1/sdd/transferCompany

Company SDD details

Request Content-Types: application/json
Request Example
{
  "configuration": {
    "currency": "EUR",
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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",
    "contactPerson": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorVATNumber": "string",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "ibans": [
      "string"
    ],
    "integratorVATNumber": "string",
    "pack": "START",
    "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
  },
  "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)
{
  "currency": "EUR",
  "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

Transfer a SDD where the debtor is a person

POST /api/v1/sdd/transferPerson

Person SDD details

Request Content-Types: application/json
Request Example
{
  "configuration": {
    "currency": "EUR",
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorVATNumber": "string",
    "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
  },
  "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)
{
  "currency": "EUR",
  "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"
}

Trusted payment

This api is available to trusted payment integrators and allows them to generate a trusted payment with Digiteal.

Create a new confirmation-based trusted payment

POST /api/v1/transfers/confirmation-based

data related necessary to create the trusted payment

Request Content-Types: application/json
Request Example
{
  "actors": [
    {
      "decide": "boolean",
      "digitealIdentifier": "integer (int64)",
      "email": "string",
      "iban": "string",
      "language": "string",
      "mandateId": "integer (int64)",
      "name": "string",
      "type": "string",
      "vatNumber": "string"
    }
  ],
  "hidePaymentDetails": true,
  "projectName": "Corvette VIN 1234567890123456",
  "transferPayments": [
    {
      "amountInCents": "integer (int64)",
      "benificiary": "string",
      "comment": "string",
      "communication": "string",
      "conditional": "boolean",
      "creditorIBAN": "string",
      "hidden": "boolean",
      "latestProposalAmountInCents": "integer (int64)",
      "paymentID": "string (uuid)",
      "subPayments": [
        {
          "amountInCents": "integer (int64)",
          "benificiary": "string",
          "comment": "string",
          "communication": "string",
          "conditional": "boolean",
          "creditorIBAN": "string",
          "hidden": "boolean",
          "latestProposalAmountInCents": "integer (int64)",
          "paymentID": "string (uuid)",
          "subPayments": [
            {
              "amountInCents": "integer (int64)",
              "benificiary": "string",
              "comment": "string",
              "communication": "string",
              "conditional": "boolean",
              "creditorIBAN": "string",
              "hidden": "boolean",
              "latestProposalAmountInCents": "integer (int64)",
              "paymentID": "string (uuid)",
              "subPayments": [
                {
                  "amountInCents": "integer (int64)",
                  "benificiary": "string",
                  "comment": "string",
                  "communication": "string",
                  "conditional": "boolean",
                  "creditorIBAN": "string",
                  "hidden": "boolean",
                  "latestProposalAmountInCents": "integer (int64)",
                  "paymentID": "string (uuid)",
                  "subPayments": [
                    {
                      "amountInCents": "integer (int64)",
                      "benificiary": "string",
                      "comment": "string",
                      "communication": "string",
                      "conditional": "boolean",
                      "creditorIBAN": "string",
                      "hidden": "boolean",
                      "latestProposalAmountInCents": "integer (int64)",
                      "paymentID": "string (uuid)",
                      "subPayments": [
                        {
                          "amountInCents": "integer (int64)",
                          "benificiary": "string",
                          "comment": "string",
                          "communication": "string",
                          "conditional": "boolean",
                          "creditorIBAN": "string",
                          "hidden": "boolean",
                          "latestProposalAmountInCents": "integer (int64)",
                          "paymentID": "string (uuid)",
                          "subPayments": [
                            {
                              "amountInCents": "integer (int64)",
                              "benificiary": "string",
                              "comment": "string",
                              "communication": "string",
                              "conditional": "boolean",
                              "creditorIBAN": "string",
                              "hidden": "boolean",
                              "latestProposalAmountInCents": "integer (int64)",
                              "paymentID": "string (uuid)"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Response Content-Types: application/json
Response Example (200 OK)
{
  "creditorReference": "000600232562",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDx64": "string"
}

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

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

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": "boolean",
      "digitealIdentifier": "integer (int64)",
      "email": "string",
      "iban": "string",
      "language": "string",
      "mandateId": "integer (int64)",
      "name": "string",
      "type": "string",
      "vatNumber": "string"
    }
  ],
  "hidePaymentDetails": true,
  "projectName": "Corvette VIN 1234567890123456",
  "transferPayments": [
    {
      "amountInCents": "integer (int64)",
      "benificiary": "string",
      "comment": "string",
      "communication": "string",
      "conditional": "boolean",
      "creditorIBAN": "string",
      "hidden": "boolean",
      "latestProposalAmountInCents": "integer (int64)",
      "paymentID": "string (uuid)",
      "subPayments": [
        {
          "amountInCents": "integer (int64)",
          "benificiary": "string",
          "comment": "string",
          "communication": "string",
          "conditional": "boolean",
          "creditorIBAN": "string",
          "hidden": "boolean",
          "latestProposalAmountInCents": "integer (int64)",
          "paymentID": "string (uuid)",
          "subPayments": [
            {
              "amountInCents": "integer (int64)",
              "benificiary": "string",
              "comment": "string",
              "communication": "string",
              "conditional": "boolean",
              "creditorIBAN": "string",
              "hidden": "boolean",
              "latestProposalAmountInCents": "integer (int64)",
              "paymentID": "string (uuid)",
              "subPayments": [
                {
                  "amountInCents": "integer (int64)",
                  "benificiary": "string",
                  "comment": "string",
                  "communication": "string",
                  "conditional": "boolean",
                  "creditorIBAN": "string",
                  "hidden": "boolean",
                  "latestProposalAmountInCents": "integer (int64)",
                  "paymentID": "string (uuid)",
                  "subPayments": [
                    {
                      "amountInCents": "integer (int64)",
                      "benificiary": "string",
                      "comment": "string",
                      "communication": "string",
                      "conditional": "boolean",
                      "creditorIBAN": "string",
                      "hidden": "boolean",
                      "latestProposalAmountInCents": "integer (int64)",
                      "paymentID": "string (uuid)",
                      "subPayments": [
                        {
                          "amountInCents": "integer (int64)",
                          "benificiary": "string",
                          "comment": "string",
                          "communication": "string",
                          "conditional": "boolean",
                          "creditorIBAN": "string",
                          "hidden": "boolean",
                          "latestProposalAmountInCents": "integer (int64)",
                          "paymentID": "string (uuid)",
                          "subPayments": [
                            {
                              "amountInCents": "integer (int64)",
                              "benificiary": "string",
                              "comment": "string",
                              "communication": "string",
                              "conditional": "boolean",
                              "creditorIBAN": "string",
                              "hidden": "boolean",
                              "latestProposalAmountInCents": "integer (int64)",
                              "paymentID": "string (uuid)"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
200 OK

OK

Response Content-Types: */*

Execute the trusted payment = transfer the total amount to the creditor

POST /api/v1/transfers/execute

transferExecutionData

Request Content-Types: application/json
Request Example
{
  "comment": "Glad to participate !",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "validate": true
}
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal server error occured

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

Create a new time-based trusted payment

POST /api/v1/transfers/time-based

data related necessary to create the trusted payment

Request Content-Types: application/json
Request Example
{
  "amountInCents": 20000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "2019-12-31",
  "minumumAmountInCents": 10000000,
  "projectName": "Crowd-lending for CompanyX"
}
Response Content-Types: application/json
Response Example (200 OK)
{
  "creditorReference": "000600232562",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "transferIDx64": "string"
}

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

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

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": "2019-12-31",
  "minumumAmountInCents": 10000000,
  "projectName": "Crowd-lending for CompanyX"
}
200 OK

OK

Response Content-Types: */*

Webhook

This API enables the management of webhooks. This API is scheduled to be available in v1.31 of the Digiteal platform.

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

GET /api/v1/webhook

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)
{
  "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"
}

Create or update a webhook

POST /api/v1/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
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"
}

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

POST /api/v1/webhook/configuration

Configuration to set for the calling company

Request Content-Types: application/json
Request Example
{
  "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
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"
}

Only set the webHook configuration credentials

PUT /api/v1/webhook/configuration

Configuration to set (only credentials) for the calling company

Request Content-Types: application/json
Request Example
{
  "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
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"
}

Delete a webhook

DELETE /api/v1/webhook/{type}
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
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"
}

Schema Definitions

Actor: object

decide: boolean
digitealIdentifier: integer (int64)
email: string
iban: string
language: string
mandateId: integer (int64)
name: string
type: string BUYER, SELLER, _3RD_PARTY
vatNumber: string
Example
{
  "decide": "boolean",
  "digitealIdentifier": "integer (int64)",
  "email": "string",
  "iban": "string",
  "language": "string",
  "mandateId": "integer (int64)",
  "name": "string",
  "type": "string",
  "vatNumber": "string"
}

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

currency: string

Currency of the threshold

executionType: string IMMEDIATE, ONE_WEEK_BEFORE_DUE_DATE, DUE_DATE

When should the automatic payment be executed

periodicity: string MONTH, TRIMESTER, SEMESTER, YEAR

Periodicity of the automatic payment

thresholdInCents: integer (int64)

Maximum allowed that will be allowed to withdraw.

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

AutoPaymentRequest: object

Model representing the data necessary for requesting an auto payment

amountInCents: string

amount expressed in cents that has to be paid

bic: string

BIC number

creationDate: string (date-time)

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

City

customerAddressCountry: string

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string

street number

customerAddressStreet: string

street name of the client address

customerAddressZip: string

Zipcode

customerEmail: string

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

customerFirstName: string

Client first name

customerInternalId: string

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

customerLastName: string

Client last name

customerMobile: string

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

directPayment: boolean

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

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

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 or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterID: integer (int64)

The id 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

requesterVAT: string

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

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",
  "directPayment": false,
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "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, PLANNED, THRESHOLD_EXCEEDED, HIGH_RISK, NA

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-31",
    "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",
    "contactPerson": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorVATNumber": "string",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "ibans": [
      "string"
    ],
    "integratorVATNumber": "string",
    "pack": "START",
    "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": {
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "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

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

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
{
  "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

contactPerson: 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-time)

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

ibans: string[]

IBANs of the bank accounts associated to the person.

string
integratorVATNumber: string

The VAT number of the invoice/payment integrator of this company if any

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

The pack choosen by the company to register. The default is DISCOVER which is a free pack. The first pack to enable collecting funds is the START pack.

ubos: MinimalPersonKYCInfo

The UBOs of the company

MinimalPersonKYCInfo
vatNumber: string

VAT number of the company

Example
{
  "address": {
    "city": "Bruxelles",
    "country": "Belgique",
    "countryCode": "BE",
    "houseNumber": 15,
    "streetName": "Rue de la Loi",
    "zipCode": 1000
  },
  "companyName": "Your Telecom",
  "contactPerson": {
    "address": {
      "city": "Bruxelles",
      "country": "Belgique",
      "countryCode": "BE",
      "houseNumber": 15,
      "streetName": "Rue de la Loi",
      "zipCode": 1000
    },
    "birthDay": "1990-12-31",
    "birthPlace": "Cook, NZ",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorVATNumber": "string",
    "language": "EN",
    "lastName": "Doe",
    "nationalities": [
      "string"
    ],
    "pep": true,
    "pepCustomerExplanation": "Prime minister of New Zeland",
    "sectors": [
      {
        "details": "Part-time",
        "type": "STUDIES"
      }
    ]
  },
  "creationDate": "2012-12-31",
  "ibans": [
    "string"
  ],
  "integratorVATNumber": "string",
  "pack": "START",
  "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

configuration: AutoPaymentConfiguration

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

contractApproval: ContractApproval

Customer contrat approval

creationDate: string

The date when the original SDD 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 original SDD was withdrawing money.

notificationSettings: CustomerNotificationSettings

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

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
{
  "configuration": {
    "currency": "EUR",
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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",
    "contactPerson": {
      "address": {
        "city": "Bruxelles",
        "country": "Belgique",
        "countryCode": "BE",
        "houseNumber": 15,
        "streetName": "Rue de la Loi",
        "zipCode": 1000
      },
      "birthDay": "1990-12-31",
      "birthPlace": "Cook, NZ",
      "email": "john.doe@gmail.com",
      "firstName": "John",
      "gender": "MALE",
      "ibans": [
        "string"
      ],
      "idDocumentValidityEnd": "2030-12-31",
      "integratorVATNumber": "string",
      "language": "EN",
      "lastName": "Doe",
      "nationalities": [
        "string"
      ],
      "pep": true,
      "pepCustomerExplanation": "Prime minister of New Zeland",
      "sectors": [
        {
          "details": "Part-time",
          "type": "STUDIES"
        }
      ]
    },
    "creationDate": "2012-12-31",
    "ibans": [
      "string"
    ],
    "integratorVATNumber": "string",
    "pack": "START",
    "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
  },
  "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

Actor
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.

projectName: string

The name of the transfer

transferPayments: Payment

List of outgoing payments to perform when this transfer will be confirmed

Payment
Example
{
  "actors": [
    {
      "decide": "boolean",
      "digitealIdentifier": "integer (int64)",
      "email": "string",
      "iban": "string",
      "language": "string",
      "mandateId": "integer (int64)",
      "name": "string",
      "type": "string",
      "vatNumber": "string"
    }
  ],
  "hidePaymentDetails": true,
  "projectName": "Corvette VIN 1234567890123456",
  "transferPayments": [
    {
      "amountInCents": "integer (int64)",
      "benificiary": "string",
      "comment": "string",
      "communication": "string",
      "conditional": "boolean",
      "creditorIBAN": "string",
      "hidden": "boolean",
      "latestProposalAmountInCents": "integer (int64)",
      "paymentID": "string (uuid)",
      "subPayments": [
        {
          "amountInCents": "integer (int64)",
          "benificiary": "string",
          "comment": "string",
          "communication": "string",
          "conditional": "boolean",
          "creditorIBAN": "string",
          "hidden": "boolean",
          "latestProposalAmountInCents": "integer (int64)",
          "paymentID": "string (uuid)",
          "subPayments": [
            {
              "amountInCents": "integer (int64)",
              "benificiary": "string",
              "comment": "string",
              "communication": "string",
              "conditional": "boolean",
              "creditorIBAN": "string",
              "hidden": "boolean",
              "latestProposalAmountInCents": "integer (int64)",
              "paymentID": "string (uuid)",
              "subPayments": [
                {
                  "amountInCents": "integer (int64)",
                  "benificiary": "string",
                  "comment": "string",
                  "communication": "string",
                  "conditional": "boolean",
                  "creditorIBAN": "string",
                  "hidden": "boolean",
                  "latestProposalAmountInCents": "integer (int64)",
                  "paymentID": "string (uuid)",
                  "subPayments": [
                    {
                      "amountInCents": "integer (int64)",
                      "benificiary": "string",
                      "comment": "string",
                      "communication": "string",
                      "conditional": "boolean",
                      "creditorIBAN": "string",
                      "hidden": "boolean",
                      "latestProposalAmountInCents": "integer (int64)",
                      "paymentID": "string (uuid)",
                      "subPayments": [
                        {
                          "amountInCents": "integer (int64)",
                          "benificiary": "string",
                          "comment": "string",
                          "communication": "string",
                          "conditional": "boolean",
                          "creditorIBAN": "string",
                          "hidden": "boolean",
                          "latestProposalAmountInCents": "integer (int64)",
                          "paymentID": "string (uuid)",
                          "subPayments": [
                            {
                              "amountInCents": "integer (int64)",
                              "benificiary": "string",
                              "comment": "string",
                              "communication": "string",
                              "conditional": "boolean",
                              "creditorIBAN": "string",
                              "hidden": "boolean",
                              "latestProposalAmountInCents": "integer (int64)",
                              "paymentID": "string (uuid)",
                              "subPayments": [
                                null
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

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-time)

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-31",
  "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

id: integer (int64)

The id of the contract

language: string

The language of the response

name: string

The localized name of the contract

url: string

The URL of the contract

Example
{
  "id": 42,
  "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: string

amount expressed in cents that has to be paid

creationDate: string (date-time)

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 PAYMENT_SLIP, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, PAYMENT_SLIP_WITH_BANNER, BANNER, QR_TEXT, NONE

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

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)

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
{
  "customerId": "Customer1234",
  "notificationSettings": {
    "autoPayment": true,
    "autoPaymentThreshold": true,
    "invoice": true,
    "issuer": true,
    "mail": true,
    "paymentIssue": true,
    "push": true,
    "reminder": true
  },
  "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
}

DocumentDetails: object

Model representing the details of an invoice document

comment: string

document comment

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",
  "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"
}

InvoiceCreationRequest: object

Model representing the data necessary for creating a new invoice

alreadyPaid: boolean

True if the invoice to be presented has already been paid (eg. domiciliation), false by default

amountInCents: string

amount expressed in cents that has to be paid

bic: string

BIC number

creationDate: string (date-time)

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

City

customerAddressCountry: string

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string

street number

customerAddressStreet: string

street name of the client address

customerAddressZip: string

Zipcode

customerEmail: string

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

customerFirstName: string

Client first name

customerInternalId: string

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

customerLastName: string

Client last name

customerMobile: string

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

directPayment: boolean

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

dueDate: string (date-time)

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 PAYMENT_SLIP, PAYMENT_SLIP_WITH_QR, QR, QR_BE, QR_EXPLAINED, PAYMENT_SLIP_WITH_BANNER, BANNER, QR_TEXT, NONE

Format 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!

invoiceInternalId: string

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)

languages: string[]
string FR, EN, NL, DE
publicationStatus: string PUBLISHED, DRAFT

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

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 or the requestorEmail needs to be filled in if the payment is generated through another provider or without authentication

requesterID: integer (int64)

The id 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

requesterVAT: string

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

secondaryLanguage: string

A secondary language of the client

size: integer (int32)

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

Example
{
  "alreadyPaid": false,
  "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",
  "directPayment": false,
  "dueDate": "2019-12-31",
  "expectingDocumentAttached": true,
  "format": "QR",
  "iban": "BE40251230861709",
  "invoiceInternalId": "Bill1234",
  "language": "EN",
  "languages": [
    "string"
  ],
  "publicationStatus": "PUBLISHED",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "size": 600
}

InvoicePaymentRequest: object

Model representing the data necessary for requesting an invoice payment request

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.

confirmationURL: string

Defines the url where Digiteal has to redirect the user when the payment has been completed successfully

errorURL: string

Defines the url where Digiteal has to redirect the user when an error occurred during the payment

invoiceInternalId: string

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

requesterID: integer (int64)

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",
  "requesterID": 12,
  "uuid": "e529f8b4790f11e7b5a5be2e44b06b52"
}

MinimalPersonKYCInfo: object

Model representing the minimal KYC information of a person

birthDay: string (date-time)

The date the person was born. 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 UNKNOWN, MALE, FEMALE, NA

The gender of the person: MALE, FEMALE or NA (neutral or not applicable)

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)
benificiary: string
comment: string
communication: string
conditional: boolean
creditorIBAN: string
hidden: boolean
latestProposalAmountInCents: integer (int64)
paymentID: string (uuid)
subPayments: Payment
Payment
Example
{
  "amountInCents": "integer (int64)",
  "benificiary": "string",
  "comment": "string",
  "communication": "string",
  "conditional": "boolean",
  "creditorIBAN": "string",
  "hidden": "boolean",
  "latestProposalAmountInCents": "integer (int64)",
  "paymentID": "string (uuid)",
  "subPayments": [
    {
      "amountInCents": "integer (int64)",
      "benificiary": "string",
      "comment": "string",
      "communication": "string",
      "conditional": "boolean",
      "creditorIBAN": "string",
      "hidden": "boolean",
      "latestProposalAmountInCents": "integer (int64)",
      "paymentID": "string (uuid)",
      "subPayments": [
        {
          "amountInCents": "integer (int64)",
          "benificiary": "string",
          "comment": "string",
          "communication": "string",
          "conditional": "boolean",
          "creditorIBAN": "string",
          "hidden": "boolean",
          "latestProposalAmountInCents": "integer (int64)",
          "paymentID": "string (uuid)",
          "subPayments": [
            {
              "amountInCents": "integer (int64)",
              "benificiary": "string",
              "comment": "string",
              "communication": "string",
              "conditional": "boolean",
              "creditorIBAN": "string",
              "hidden": "boolean",
              "latestProposalAmountInCents": "integer (int64)",
              "paymentID": "string (uuid)",
              "subPayments": [
                {
                  "amountInCents": "integer (int64)",
                  "benificiary": "string",
                  "comment": "string",
                  "communication": "string",
                  "conditional": "boolean",
                  "creditorIBAN": "string",
                  "hidden": "boolean",
                  "latestProposalAmountInCents": "integer (int64)",
                  "paymentID": "string (uuid)",
                  "subPayments": [
                    {
                      "amountInCents": "integer (int64)",
                      "benificiary": "string",
                      "comment": "string",
                      "communication": "string",
                      "conditional": "boolean",
                      "creditorIBAN": "string",
                      "hidden": "boolean",
                      "latestProposalAmountInCents": "integer (int64)",
                      "paymentID": "string (uuid)",
                      "subPayments": [
                        {
                          "amountInCents": "integer (int64)",
                          "benificiary": "string",
                          "comment": "string",
                          "communication": "string",
                          "conditional": "boolean",
                          "creditorIBAN": "string",
                          "hidden": "boolean",
                          "latestProposalAmountInCents": "integer (int64)",
                          "paymentID": "string (uuid)",
                          "subPayments": [
                            {
                              "amountInCents": "integer (int64)",
                              "benificiary": "string",
                              "comment": "string",
                              "communication": "string",
                              "conditional": "boolean",
                              "creditorIBAN": "string",
                              "hidden": "boolean",
                              "latestProposalAmountInCents": "integer (int64)",
                              "paymentID": "string (uuid)",
                              "subPayments": [
                                {
                                  "amountInCents": "integer (int64)",
                                  "benificiary": "string",
                                  "comment": "string"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

PaymentCreationRequest: object

Model representing the data necessary for creating a new payment request

amountInCents: string

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)

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)

creationDate: string (date-time)

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

City

customerAddressCountry: string

Country (ISO 3166-1 alpha-2)

customerAddressNumber: string

street number

customerAddressStreet: string

street name of the client address

customerAddressZip: string

Zipcode

customerEmail: string

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

customerFirstName: string

Client first name

customerInternalId: string

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

customerLastName: string

Client last name

customerMobile: string

the mobile phone of the customer with the national prefix

customerVAT: string

Client VAT number (if applicable) with the country code

directPayment: boolean

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

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)

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: string

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

minAmountInCents: string

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

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

purpose: string

The purpose based on the ISO 20022 standard

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

requesterEmail: string

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

requesterID: integer (int64)

The id 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

requesterVAT: string

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

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: integer (int32) -128 ≤ x ≤ 127

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",
  "directPayment": false,
  "errorURL": "https://api.myservice.com/paymentError",
  "expectingDocumentAttached": true,
  "iban": "BE40251230861709",
  "language": "EN",
  "maxAmountInCents": 50000,
  "minAmountInCents": 500,
  "multiple": false,
  "paymentInternalId": "Payment1234",
  "purpose": "GDDS",
  "remittanceInfo": "Invoice 1",
  "requesterEmail": "requestor@company.com",
  "requesterID": 1234,
  "requesterVAT": "BE0000000196",
  "secondaryLanguage": "NL",
  "suggestedAmountInCents": 50000,
  "validityInMinutes": 10
}

PeppolParticipantRegistrationRequest: object

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

contactPerson: ContactPerson

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

peppolIdentifier: string

PEPPOL identifier

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

PeppolRegisteredParticipant: object

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

contactPerson: 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
{
  "contactPerson": {
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "language": "EN",
    "lastName": "Doe",
    "phoneNumber": "+32 1234567"
  },
  "peppolIdentifier": "9956:0630675588",
  "registrationDate": "2019-09-01"
}

PeppolResult: object

Response from a PEPPOL action

message: string

Message associated with the action

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

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-31",
    "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": {
    "customerId": "Customer1234",
    "notificationSettings": {
      "autoPayment": true,
      "autoPaymentThreshold": true,
      "invoice": true,
      "issuer": true,
      "mail": true,
      "paymentIssue": true,
      "push": true,
      "reminder": true
    },
    "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",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorVATNumber": "string",
    "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

status: string NOT_FOUND, COMPANY, NOT_ACTIVATED, ACTIVATED, DEACTIVATED, PENDING, OK, EXPIRED, 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",
  "status": "OK"
}

PersonKYCInfo: object

Model representing the complete KYC information of a person

address: Address

Address of residence of the person

birthDay: string (date-time)

The date the person was born. The expected format is YYYY-MM-DD

birthPlace: string

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

email: string

Email address of the person

firstName: string

First name of the person

gender: string UNKNOWN, MALE, FEMALE, NA

The gender of the person: MALE, FEMALE or NA (neutral or not applicable)

ibans: string[]

IBANs of the bank accounts associated to the person.

string
idDocumentValidityEnd: string (date-time)

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

integratorVATNumber: string

The VAT number of the invoice/payment integrator of this person if any

language: string NL, FR, EN

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",
  "email": "john.doe@gmail.com",
  "firstName": "John",
  "gender": "MALE",
  "ibans": [
    "string"
  ],
  "idDocumentValidityEnd": "2030-12-31",
  "integratorVATNumber": "string",
  "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

configuration: AutoPaymentConfiguration

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

contractApproval: ContractApproval

Customer contrat approval

creationDate: string

The date when the original SDD 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 original SDD was withdrawing money.

notificationSettings: CustomerNotificationSettings

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

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
{
  "configuration": {
    "currency": "EUR",
    "executionType": "IMMEDIATE",
    "periodicity": "MONTH",
    "thresholdInCents": 100000
  },
  "contractApproval": {
    "approvalDate": "2019-11-31",
    "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",
    "email": "john.doe@gmail.com",
    "firstName": "John",
    "gender": "MALE",
    "ibans": [
      "string"
    ],
    "idDocumentValidityEnd": "2030-12-31",
    "integratorVATNumber": "string",
    "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
  },
  "welcomeMessage": "We inform you that your SEPA mandate for YourTelecom is transferred to Digiteal, a Belgian company that is a partner of Belfius."
}

ResponseEntity: object

body: object
statusCode: string 100 CONTINUE, 101 SWITCHING_PROTOCOLS, 102 PROCESSING, 103 CHECKPOINT, 200 OK, 201 CREATED, 202 ACCEPTED, 203 NON_AUTHORITATIVE_INFORMATION, 204 NO_CONTENT, 205 RESET_CONTENT, 206 PARTIAL_CONTENT, 207 MULTI_STATUS, 208 ALREADY_REPORTED, 226 IM_USED, 300 MULTIPLE_CHOICES, 301 MOVED_PERMANENTLY, 302 FOUND, 302 MOVED_TEMPORARILY, 303 SEE_OTHER, 304 NOT_MODIFIED, 305 USE_PROXY, 307 TEMPORARY_REDIRECT, 308 PERMANENT_REDIRECT, 400 BAD_REQUEST, 401 UNAUTHORIZED, 402 PAYMENT_REQUIRED, 403 FORBIDDEN, 404 NOT_FOUND, 405 METHOD_NOT_ALLOWED, 406 NOT_ACCEPTABLE, 407 PROXY_AUTHENTICATION_REQUIRED, 408 REQUEST_TIMEOUT, 409 CONFLICT, 410 GONE, 411 LENGTH_REQUIRED, 412 PRECONDITION_FAILED, 413 PAYLOAD_TOO_LARGE, 413 REQUEST_ENTITY_TOO_LARGE, 414 URI_TOO_LONG, 414 REQUEST_URI_TOO_LONG, 415 UNSUPPORTED_MEDIA_TYPE, 416 REQUESTED_RANGE_NOT_SATISFIABLE, 417 EXPECTATION_FAILED, 418 I_AM_A_TEAPOT, 419 INSUFFICIENT_SPACE_ON_RESOURCE, 420 METHOD_FAILURE, 421 DESTINATION_LOCKED, 422 UNPROCESSABLE_ENTITY, 423 LOCKED, 424 FAILED_DEPENDENCY, 426 UPGRADE_REQUIRED, 428 PRECONDITION_REQUIRED, 429 TOO_MANY_REQUESTS, 431 REQUEST_HEADER_FIELDS_TOO_LARGE, 451 UNAVAILABLE_FOR_LEGAL_REASONS, 500 INTERNAL_SERVER_ERROR, 501 NOT_IMPLEMENTED, 502 BAD_GATEWAY, 503 SERVICE_UNAVAILABLE, 504 GATEWAY_TIMEOUT, 505 HTTP_VERSION_NOT_SUPPORTED, 506 VARIANT_ALSO_NEGOTIATES, 507 INSUFFICIENT_STORAGE, 508 LOOP_DETECTED, 509 BANDWIDTH_LIMIT_EXCEEDED, 510 NOT_EXTENDED, 511 NETWORK_AUTHENTICATION_REQUIRED
statusCodeValue: integer (int32)
Example
{
  "body": "object",
  "statusCode": "string",
  "statusCodeValue": "integer (int32)"
}

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 AGRIBUSINESS, BANK, WOOD, CONSTRUCTION, CHEMISTRY, TRADE, PUBLISHING, ELECTRONICS, STUDIES, PHARMACEUTICAL, COMPUTER, MACHINERY, METALLURGY, PLASTIC, LIBERAL_PROFESSION, BUSINESS_SERVICES, TEXTILE, TRANSPORT, TRADING_ON_INTERNET, HORECA, CARWASH, USED_PARTS, PHONE_SHOP, ART_SALES, DIAMONDS, E_GAMING, GAMES_CHANCE, LAWYER, ACCOUNTANT, DOCTOR, TAXIS, ARCHITECT, BAILIFF, NOTARY, OTHER

Type of sector

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

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": "9956: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

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.

projectName: string

Project name of the trusted payment

Example
{
  "amountInCents": 20000000,
  "creditorPayments": [
    {
      "communication": "commission",
      "creditorIBAN": "BE40251230861709",
      "percentage": 100
    }
  ],
  "endDate": "2019-12-31",
  "minumumAmountInCents": 10000000,
  "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 4 numbers behind the decimal point

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

TransferCreationResult: object

Model representing the result of a carpa transfer creation

creditorReference: string

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

transferID: string (uuid)

The unique identifier of the carpa transfer

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

TransferExecutionData: object

Model representing the data necessary to execute the carpa transfer

comment: string

optional field for a comment

transferID: string (uuid)

The transfer unique identifier received upon creation

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 !",
  "transferID": "e529f8b4790f11e7b5a5be2e44b06b52",
  "validate": true
}

WebHookConfigurationInfo: object

Model representing information about a webhook configuration

login: string

login used to call the webhooks

password: string

password used to call the webhooks

vatNumber: string

VAT number of the company for whom the webhooks are configured

webHooks: WebHookInfo

Webhooks

WebHookInfo
Example
{
  "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

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"
}