Status Live
Certificate Production
URL https://mci-byblos.saltedge.com
Launch date 25 January 2021

PSD2 Regulation

Article 31 (PSD2 RTS) – Outlines the access interface options, thus ASPSPs can provide access:

  1. via a dedicated interface (generally understood to refer to an API-based solution)
  2. by allowing the use by TPPs, the interfaces used for authentication and communication with the ASPSP’s payment service users

Article 33 (PSD2 RTS) – Outlines the requirements of contingency interface.


MCI Description

Modified Customer Interface (MCI) enables TPPs to access the designated payment accounts of PSUs for inscope banking entities under PSD2. TPP is able to retrieve the data from ASPSP’s web-banking and mobile-banking platforms that PSUs use to access their accounts.

The TPP is able to screen-scrape all content of ASPSP web-banking when they login using customer credentials and retrieve the data from ASPSP mobile-banking backend API. Personal data are not supposed to be shared with TPP during the screen-scraping process.

This solution is based on existing website and mobile app designs, layout and contents published by the ASPSP.


Access to MCI Environment

The MCI interface allows TPPs to access Byblos’s both web-banking and mobile-banking environments. The environment must be chosen by indicating in the “MCI-TYPE” header the corresponding value (“web” or “mobile”).

In order to access the MCI environment the TPP has to add the following host: https://mci-byblos.saltedge.com in front of each found path during screen scrapping (web) or reverse engineering (mobile). To navigate through MCI the TPP has to send a signed REST request to the corresponding path and parse the response for further activities.


Example for authentication within web-banking environment, the following path should be indicated:

GET https://mci-byblos.saltedge.com/cb/pages/jsp-ns/login.jsp


Example for authentication within mobile-banking environment, the following path should be indicated:

POST https://mci-byblos.saltedge.com/mobiliser/custom

In order to use the MCI solution, TPP will be required to be compliant with the following:

  1. TPPs must be appropriately authorized or regulated by an EU National Competent Authority (NCA)
  2. TPPs must present their eIDAS/OBIE certificates in all requests initiated towards the MCI environment

MCI Access to web-banking

In order to access the ASPSP's web-banking via MCI the TPP has to send the headers below in all requests. MCI interface proxies in the header to TPP the cookie from Byblos web-banking. Once receiving the cookie, the TPP should consider passing it along with subsequent requests to be able to maintain sessions properly.

CURL

 curl -i  \ 
 -H "TPP-Signature-Certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVFVENDQXZrQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmwKYzNRd01EQXhJREFlQmdOVkJBTU1GMk5sY25SVFNVZE9VMEZNVkZSRlUxUWdWMlZpSUVOQk1SRXdEd1lEVlFRSwpEQWhUWVd4MFZHVnpkREVMTUFrR0ExVUVCaE1DVWs4d0hoY05NakF4TWpBeU1UVXlNelF4V2hjTk1qSXhNakF5Ck1UVXlNelF4V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnMKZEZSbGMzUXhDekFKQmdOVkJBWVRBbEpQTVJJd0VBWURWUVFJREFsQ2RXTjFjbVZ6ZEdreEVqQVFCZ05WQkFjTQpDVUoxWTNWeVpYTjBhVEVXTUJRR0ExVUVDUXdOUVd4aVlTQkpkV3hwWVNBM05URVRNQkVHQTFVRVlRd0thV1JsCmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0wKUVVwTEk0c1pCSm5RaGdRYUpYRGxwVDI4NWxlOGVEcTdUalpnYXpLcU05RkJydzRBRURxUmxYR3Znd2luSkY2Mgowd3VJcSs3cGpPWFBQdytZOVhRQnBTa2p1cmJ5aEpPZjhiNlVqTFBMQnVBd09rRk52N0prbHdLeXFmazRHRzROCmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2oKV2RGelJWV3FjdHA0NjVvWEZXZTZ3QmlybEplK1JEZ2hnQWRUQWlQR1J3WHV4dmRiSW5SOHZ2b0RJNTJHRXVzaApGWUNZd28zdWFVSVR5Z3hOZEJyWjVOaVpLaCtybjVVNW4zM0pETm9OV2hCVUUwMUwvaFYzUHlleHBKVHltaURQCjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cc1RDQnJqQU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUIKQmpBZEJnTlZIUTRFRmdRVUtwUGZ5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dId1lEVlIwakJCZ3dGb0FVS3BQZgp5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dUZ1lJS3dZQkJRVUhBUU1FUWd4QWRHVnpkRkJUVUY5QlNTNHVMbEJUClVGOVFTUzR1TGxCVFVGOURTVE16WmpjMFlUTTJMV1JqTlRZdE5ERm1aQzFoTldFNUxUVmpaRGcwT0RaaE0yTXgKTXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVM5L0k5N1F1N2FHVXJCK3kxV2ZkNXkzUGFHVklaRVl2a0VCRApZK0oxYXdKdWR0T0pVa1liQzlydUR5R3oxZ3NNdWtrL2ZOU1lJRy81a0k0NWl1TXNRZHJ0aUxOUER1dGZzWmE4ClRsZ2M3aGhNYmErenUyWUo4d2lFTmd0Zm5ncWRKK3AvcEVDRHVLdGFoMGorRU9ER053NVhzeTlxUnhJcS9PcmMKTEZyQkVkbGtQVXlGRTR3N1Fqek5YWXVwWmc1MWJQQjlDQ09HMi96L0R2UnpndHV5UEdQN25iWEZEdTBkdFNyTAprM1RyMmVGUDBUMFU1SmhNcHRlYXJTR0RpcDFJbnUwbERTR0NVam9UbnhmeXIzNmJURW40VHNtSzBhOGFRSDdNCjJkQVRHajQ1aktjM29kQitzWTZkUk43ZzdpbFgrbkN2RkVDM09WNHNTejJrZzcyNm53PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" \ 
 -H "TPP-Signature: eyJhbGciOiJSUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSJ9.kcilNLO1WBTzgzD0Kjy499OzexTy_I0MBhs5W0sl1OdKNVY-9EnPIIi5pK4hF2ASWpERdW1uDk5v4QUbcvcZPVMzZklmyYOho-r9MTki-gnT6NJSp5dkgRATp9JjnlayJew3qCcx3rBAzA_c_qpJtKus1zh9YGOdi5ohMBKh76D0sD-qdJtvLOdfhdEWpXevj18x0i8nkxhulBR2QYjEv6bj8YnHhCJ-3IfsPtrB2Ltj_39Z0JQfeYsKLd9cJOwUfwIOsnUXugZL7JEL-n-phKTWCQFp0Otg_V56AprC5_-7rtFRymayupSnsRgAkxXpu0Q6mxIGZEp2ISjRrOcViQ" \ 
 -H "MCI-TYPE: web" \ 
 -X GET "https://mci-byblos.saltedge.com/*"
Request

VERB https://mci-byblos.saltedge.com/*

Headers
Header Type Description
TPP-Signature-Certificate string, required The certificate used for signing the request, in base64 encoding that should comply with RFC 4648 (No line feeds). Can raise: TppCertificateInvalid
TPP-Signature string, required JSON Web Signature containing payload, signed using RS256 and application.private_key. Can raise: MciSignatureInvalid
MCI-TYPE string, required Indicates the environment which TPP wants to access. Allowed values: "web" Can raise: RequestFormatInvalid
TPP-Signature Payload
method
string, required
HTTP method. Allowed values: GET, POST, UPDATE, PUT, PATCH
url
string, required
The full called URL. Example: https://mci-byblos.saltedge.com/cb/pages/jsp-ns/login.jsp
body
string, required
Raw POST data. In case it is not a POST request, the value will be “”.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors‘ table for other possibilities.

Related Errors
Class Code Description
TppCertificateInvalid 400 Invalid certificate or given certificate doesn’t have permissions in country_code.
Details are stored in error_message.
MciSignatureInvalid 400 Given signature is invalid or malformed.
RequestFormatInvalid 400 Request format is wrong. Details are stored in error_message.

MCI Access to mobile-banking

In order to access the ASPSP mobile-banking via MCI, the TPP has to send the headers below in all requests. To interact with ASPSP mobile-banking via MCI the TPP has to indicate in the request the corresponding SOAPAction: e.g. to initiate the PSU authentication, the SOAPAction LoginEuPsd2 has to be indicated.

CURL

 curl -i  \ 
 -H "TPP-Signature-Certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVFVENDQXZrQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmwKYzNRd01EQXhJREFlQmdOVkJBTU1GMk5sY25SVFNVZE9VMEZNVkZSRlUxUWdWMlZpSUVOQk1SRXdEd1lEVlFRSwpEQWhUWVd4MFZHVnpkREVMTUFrR0ExVUVCaE1DVWs4d0hoY05NakF4TWpBeU1UVXlNelF4V2hjTk1qSXhNakF5Ck1UVXlNelF4V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnMKZEZSbGMzUXhDekFKQmdOVkJBWVRBbEpQTVJJd0VBWURWUVFJREFsQ2RXTjFjbVZ6ZEdreEVqQVFCZ05WQkFjTQpDVUoxWTNWeVpYTjBhVEVXTUJRR0ExVUVDUXdOUVd4aVlTQkpkV3hwWVNBM05URVRNQkVHQTFVRVlRd0thV1JsCmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0wKUVVwTEk0c1pCSm5RaGdRYUpYRGxwVDI4NWxlOGVEcTdUalpnYXpLcU05RkJydzRBRURxUmxYR3Znd2luSkY2Mgowd3VJcSs3cGpPWFBQdytZOVhRQnBTa2p1cmJ5aEpPZjhiNlVqTFBMQnVBd09rRk52N0prbHdLeXFmazRHRzROCmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2oKV2RGelJWV3FjdHA0NjVvWEZXZTZ3QmlybEplK1JEZ2hnQWRUQWlQR1J3WHV4dmRiSW5SOHZ2b0RJNTJHRXVzaApGWUNZd28zdWFVSVR5Z3hOZEJyWjVOaVpLaCtybjVVNW4zM0pETm9OV2hCVUUwMUwvaFYzUHlleHBKVHltaURQCjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cc1RDQnJqQU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUIKQmpBZEJnTlZIUTRFRmdRVUtwUGZ5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dId1lEVlIwakJCZ3dGb0FVS3BQZgp5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dUZ1lJS3dZQkJRVUhBUU1FUWd4QWRHVnpkRkJUVUY5QlNTNHVMbEJUClVGOVFTUzR1TGxCVFVGOURTVE16WmpjMFlUTTJMV1JqTlRZdE5ERm1aQzFoTldFNUxUVmpaRGcwT0RaaE0yTXgKTXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVM5L0k5N1F1N2FHVXJCK3kxV2ZkNXkzUGFHVklaRVl2a0VCRApZK0oxYXdKdWR0T0pVa1liQzlydUR5R3oxZ3NNdWtrL2ZOU1lJRy81a0k0NWl1TXNRZHJ0aUxOUER1dGZzWmE4ClRsZ2M3aGhNYmErenUyWUo4d2lFTmd0Zm5ncWRKK3AvcEVDRHVLdGFoMGorRU9ER053NVhzeTlxUnhJcS9PcmMKTEZyQkVkbGtQVXlGRTR3N1Fqek5YWXVwWmc1MWJQQjlDQ09HMi96L0R2UnpndHV5UEdQN25iWEZEdTBkdFNyTAprM1RyMmVGUDBUMFU1SmhNcHRlYXJTR0RpcDFJbnUwbERTR0NVam9UbnhmeXIzNmJURW40VHNtSzBhOGFRSDdNCjJkQVRHajQ1aktjM29kQitzWTZkUk43ZzdpbFgrbkN2RkVDM09WNHNTejJrZzcyNm53PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" \ 
 -H "TPP-Signature: eyJhbGciOiJSUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSJ9.kcilNLO1WBTzgzD0Kjy499OzexTy_I0MBhs5W0sl1OdKNVY-9EnPIIi5pK4hF2ASWpERdW1uDk5v4QUbcvcZPVMzZklmyYOho-r9MTki-gnT6NJSp5dkgRATp9JjnlayJew3qCcx3rBAzA_c_qpJtKus1zh9YGOdi5ohMBKh76D0sD-qdJtvLOdfhdEWpXevj18x0i8nkxhulBR2QYjEv6bj8YnHhCJ-3IfsPtrB2Ltj_39Z0JQfeYsKLd9cJOwUfwIOsnUXugZL7JEL-n-phKTWCQFp0Otg_V56AprC5_-7rtFRymayupSnsRgAkxXpu0Q6mxIGZEp2ISjRrOcViQ" \ 
 -H "MCI-TYPE: mobile" \ 
 -X GET "https://mci-byblos.saltedge.com/*"
Request

POST https://mci-byblos.saltedge.com/*

Headers
Header Type Description
TPP-Signature-Certificate string, required The certificate used for signing the request, in base64 encoding that should comply with RFC 4648 (No line feeds). Can raise: TppCertificateInvalid
TPP-Signature string, required JSON Web Signature containing payload, signed using RS256 and application.private_key. Can raise: MciSignatureInvalid
MCI-TYPE string, required Indicates the environment which TPP wants to access. Allowed values: "mobile" Can raise: RequestFormatInvalid
TPP-Signature Payload
method
string, required
HTTP method. Allowed values: POST
url
string, required
The full called URL. Example: https://mci-byblos.saltedge.com/mobiliser/custom
body
string, required
Raw POST data. In case it is not a POST request, the value will be “”.
Response

Upon successful request, 200 status code will be returned. See ‘Related Errors‘ table for other possibilities.

Related Errors
Class Code Description
TppCertificateInvalid 400 Invalid certificate or given certificate doesn’t have permissions in country_code.
Details are stored in error_message.
MciSignatureInvalid 400 Given signature is invalid or malformed.
RequestFormatInvalid 400 Request format is wrong. Details are stored in error_message.