Open Banking Products

Worldline Open Banking Products

allow all types of companies (e.g. banks, merchants, insurance companies, software providers etc.) to access account data and initiate payments. All products wrapped up on one central interface supported by user friendly bank selection dialogue.

Open Banking European Coverage

With a single integration you can reach more than 3500 banks in Europe and the list keeps growing:

Please reach out to us if we do not support your country yet, to discuss how we can support your use case.

Payments Products

To learn more about implementation of Payments Products please have a look at the  Payments Products section.

Worldline Bank Connect

Bank Connect enables banks to initiate payments on behalf of their retail or business clients to move funds between own accounts or to pay others. We will support you in registration of your PSD2 license with the user banks of your choice.

Learn more? Please switch to the Bank Connect Section.  

Worldline Account-to-Account Payments

Account-to-Account Payments is a mobile-native solution that allows merchants and acquirers to facilitate payments directly from a customer’s bank account. 

Learn more? Please switch to the Account-to-Account Payment section.  

iDEAL 2.0 

Worldline iDeal platform supports banks to process iDeal transactions of their customers.

Learn more? Please switch to the iDEAL 2.0 section.  

Account Data Products

To learn more about implementation of account data products please have a look at the Account data section.

Worldline Bank Connect

Bank Connect enables banks to pull banking data on behalf of their retail or business clients. The data could be used to offer aggregated financial overview to your client. We will support you in registration of your PSD2 license with the user banks of your choice.

Learn more? Please switch to the Account-to-Account Payment Section.  

Worldline Account Insights

Account Insights allows any company to verify end user's account number, balance or account name. The service can be used whenever you need to collect user’s IBAN to prevent fraud or manual errors. 

Learn more? Please switch to the Account Information Section.  

Worldline Credit Insight

Credit Insight enables you to assess a customer’s creditworthiness in a faster and more accurate way. 

Learn more? Please switch to the Worldline Credit Insight Section. 

 

Need more information?

Additional information can be found on our website. You can also get in touch with our Sales Team for a demo and to discuss your needs.

 

Enable "on this page" menu on doc section
On

Release Notes: REST API V2 - 2.8.1

REST API V2 - 2.8.1

  • Version 2.8.0 to 2.8.1
  • What's New
  • What's Changed
  • What's Deleted
  • What's Deprecated

What's New


Cancel close card contract

POST /issuers/{issuerId}/card-contracts/{cardContractReference}/cancel-close

The API allows to cancel card contract closing. The main input fields are:

  • The issuer ID
  • The card contract for which the cancel closure is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

Cancel close card contract

POST /issuers/{issuerId}/card-contracts/external-card-contracts/{issuerCardContractExternalReference}/cancel-close

The API allows to cancel card contract closing. The main input fields are:

  • The issuer ID
  • The card contract for which the cancel closure is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

Retrieve corporate contract by external contract ref

GET /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}

This API allows retrieving a particular corporate contract from its reference or its issuer external reference. The API response contains contract information such as:

  • contract identifier with the contract reference and the issuer external contract reference if previously provided
  • product change information if any, such as its current status (scheduled, done, cancelled), new product, new contract if it exists
  • embedded fields if requested such as list of all customers or identifiers linked to this contract (e.g. contract owner, root account owner, cardholder(s)), card contracts, cards

Modify Corporate contract by ext ref

PATCH /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}

The API allows to modify a corporate contract

Change paying account structure for a corporate contract

POST /issuers/{issuerId}/corporate-contracts/{contractReference}/change-paying-account

Change paying account structure for a corporate contract

POST /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/change-paying-account

The API allows to add an entity to a corporate contract identified by the Contract reference.

Modify Corporate contract

PATCH /issuers/{issuerId}/corporate-contracts/{contractReference}

The API allows to modify a corporate contract.

What's Changed


GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/operations/{operationId}
Response:
  • Changed property data (object Operation)

    • Added property posDataCode (string)
    • Added property pointOfService (object)
    • Added property acquirerId (string)
    • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/{accountReference}/operations/{operationId}
Response:
  • Changed property data (object Operation)

    • Added property posDataCode (string)
    • Added property pointOfService (object)
    • Added property acquirerId (string)
    • Added property detailedFeeAmounts (array)
POST /issuers/{issuerId}/cards/{cardReference}/create-emergency-card
Response:
  • Changed property data (object CreateEmergencyCardResponse)

    • Added property embossingName2ndLine (string)
POST /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/create-emergency-card
Response:
  • Changed property data (object CreateEmergencyCardResponse)

    • Added property embossingName2ndLine (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}
Response:
  • Changed property data (object Account)

    • Added property defaultResetCreditLimit (string)
    • Added property lastImpactDate (string)
    • Added property coBrander (string)
    • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/account-history
Response:
  • Changed property data (array)

    • Changed items (object AccountHistory)

      • Added property noOtbCheck (boolean)
      • Added property resetCreditLimit (boolean)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/statements/last/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/statements/next/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/statements/{cycleClosureDate}/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/{accountReference}
Response:
  • Changed property data (object Account)

    • Added property defaultResetCreditLimit (string)
    • Added property lastImpactDate (string)
    • Added property coBrander (string)
    • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/accounts/{accountReference}/account-history
Response:
  • Changed property data (array)

    • Changed items (object AccountHistory)

      • Added property noOtbCheck (boolean)
      • Added property resetCreditLimit (boolean)
GET /issuers/{issuerId}/accounts/{accountReference}/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/{accountReference}/statements/last/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/{accountReference}/statements/next/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/{accountReference}/statements/{cycleClosureDate}/operations
Response:
  • Changed property data (array)

    • Changed items (object Operation)

      • Added property posDataCode (string)
      • Added property pointOfService (object)
      • Added property acquirerId (string)
      • Added property detailedFeeAmounts (array)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/contract
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/accounts/{accountReference}/contract
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/card-contracts/external-card-contracts/{issuerCardContractExternalReference}/contract
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/card-contracts/{cardContractReference}/contract
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/{accountReference}
Response:
  • Changed property data (object CorporateEmployeeAccountResponse)

    • Changed property account (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}
Response:
  • Changed property data (object CorporateEmployeeAccountResponse)

    • Changed property account (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}
Response:
  • Changed property data (object CorporateEmployeeAccountResponse)

    • Changed property account (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/{accountReference}
Response:
  • Changed property data (object CorporateEmployeeAccountResponse)

    • Changed property account (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/corporate-contracts/{contractReference}
Parameters:

Added: embed in query

Response:
  • Changed property data (object CorporateContract)

    • Added property statusDate (string)
    • Added property contractCompanies (array)
    • Added property productIdentifier (object)
    • Deleted property accounts (array)
    • Deleted property cardContractIdentifiers (array)
    • Deleted property cardContracts (array)
    • Changed property corporateContractEntities (array)
      • Changed items (object CorporateContractEntity)

        • Added property account (object)
    • Changed property corporateEmployeeAccounts (array)
      • Changed items (object CorporateEmployeeAccount)

        • Added property account (object)
        • Added property parentCompanyEntityExternalReference (string)
        • Added property cardContracts (array)
        • Added property contractFee (object)
        • Deleted property contractFees (object)
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/accounts
Response:
  • Changed property data (array)

    • Changed items (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/contracts/{contractReference}
Response:
  • Changed property data (object Contract)

    • Added property coBrander (string)
    • Changed property accounts (array)
      • Changed items (object Account)

        • Added property defaultResetCreditLimit (string)
        • Added property lastImpactDate (string)
        • Added property coBrander (string)
        • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/contracts/{contractReference}/accounts
Response:
  • Changed property data (array)

    • Changed items (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/accounts
Response:
  • Changed property data (array)

    • Changed items (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/customers/{customerReference}/accounts
Response:
  • Changed property data (array)

    • Changed items (object Account)

      • Added property defaultResetCreditLimit (string)
      • Added property lastImpactDate (string)
      • Added property coBrander (string)
      • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/companies/{customerReference}/corporate-contracts
Response:
  • Changed property data (array)

    • Changed items (object CorporateContract)

      • Added property statusDate (string)
      • Added property contractCompanies (array)
      • Added property productIdentifier (object)
      • Deleted property accounts (array)
      • Deleted property cardContractIdentifiers (array)
      • Deleted property cardContracts (array)
      • Changed property corporateContractEntities (array)
        • Changed items (object CorporateContractEntity)

          • Added property account (object)
      • Changed property corporateEmployeeAccounts (array)
        • Changed items (object CorporateEmployeeAccount)

          • Added property account (object)
          • Added property parentCompanyEntityExternalReference (string)
          • Added property cardContracts (array)
          • Added property contractFee (object)
          • Deleted property contractFees (object)
GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/corporate-contracts
Response:
  • Changed property data (array)

    • Changed items (object CorporateContract)

      • Added property statusDate (string)
      • Added property contractCompanies (array)
      • Added property productIdentifier (object)
      • Deleted property accounts (array)
      • Deleted property cardContractIdentifiers (array)
      • Deleted property cardContracts (array)
      • Changed property corporateContractEntities (array)
        • Changed items (object CorporateContractEntity)

          • Added property account (object)
      • Changed property corporateEmployeeAccounts (array)
        • Changed items (object CorporateEmployeeAccount)

          • Added property account (object)
          • Added property parentCompanyEntityExternalReference (string)
          • Added property cardContracts (array)
          • Added property contractFee (object)
          • Deleted property contractFees (object)
POST /issuers/{issuerId}/contracts/search
Response:
  • Changed property data (array)

    • Changed items (object Contract)

      • Added property coBrander (string)
      • Changed property accounts (array)
        • Changed items (object Account)

          • Added property defaultResetCreditLimit (string)
          • Added property lastImpactDate (string)
          • Added property coBrander (string)
          • Added property resetLimitBalance (object)
POST /issuers/{issuerId}/contracts/{contractReference}/change-product
Request body:
  • New optional properties:

    • productChangeTrigger
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/change-product
Request body:
  • New optional properties:

    • productChangeTrigger
GET /issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/contracts
Response:
  • Changed property data (array)

    • Changed items (object Contract)

      • Added property coBrander (string)
      • Changed property accounts (array)
        • Changed items (object Account)

          • Added property defaultResetCreditLimit (string)
          • Added property lastImpactDate (string)
          • Added property coBrander (string)
          • Added property resetLimitBalance (object)
GET /issuers/{issuerId}/customers/{customerReference}/contracts
Response:
  • Changed property data (array)

    • Changed items (object Contract)

      • Added property coBrander (string)
      • Changed property accounts (array)
        • Changed items (object Account)

          • Added property defaultResetCreditLimit (string)
          • Added property lastImpactDate (string)
          • Added property coBrander (string)
          • Added property resetLimitBalance (object)
POST /issuers/{issuerId}/contracts/create-consumer-contract
Request body:
  • Changed property contract (object CreateConsumerContractRequest.Contract)

    • Added property coBrander (string)

What's Deleted


Change paying account structure for a corporate contract

POST /issuers/{issuerId}/contracts/{contractReference}/change-paying-account

Change paying account structure for a corporate contract

POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/change-paying-account

What's Deprecated


 

No API deprecated.

Enable "on this page" menu on doc section
On

ob-obp-authorization-api

Authorisation API

API Reference

The following two steps have to be performed for each service to facilitate a secure connection between the Initiating Party and the Open Banking Service.

  1. Upload certificate
  2. Retrieve token

Upload certificate

The Initiating Party uploads his public certificate in the Back-office. 

Retrieve token

Endpoint: POST /token

This API retrieves the token which is used in the communication between the Initiating Party and the Open Banking Service. The Initiating Party is using his private key to sign the request. In the response he will receive an access token from the Open Banking Service. This token is used in all subsequent API calls towards the Open Banking Service.

Request

Location Name Comments Type

Query Param

grant_type

required

To be set to ‘client_credentials’

String

Header

Authorization

required

The signature. It contains the header attributes 'app', 'client', 'id' and 'date' signed with the private key of the client.

The signature will be used to sign the authorisation request with the private key which corresponds to the certificate provided for the onboarding. 

Structure

Signature keyId=”<thumbprint of certificate>”, algorithm=”SHA256withRSA”, headers=”app client id date”, signature=”<signature>”

Example

Signature keyId=”58AF4EC5ADD4C4A3F28D3AEFF60656B2F2xxxxxx”, algorithm=”SHA256withRSA”, headers=”app client id date”, signature=”Abczym2rZF…r5qcvgmA==” 

Generating rules

The signature must be created over a String where app, client, id and date are concatenated with the following rules:

  • The keyId is the thumbprint of the certificate, viewed with the SHA1 algorithm.

  • Create the header field string by concatenating the lowercased header field name followed with an ASCII colon `:`, an ASCII space ` `, and the header field value. Leading and trailing optional whitespace (OWS) in the header field value MUST be omitted (as specified in RFC7230 [RFC7230], Section 3.2.4 [7]). If value is not the last value then append an ASCII newline `\n`.

More details can be found here: https://datatracker.ietf.org/doc/draft-ietf-httpbis-message-signatures/

String

Header

App

required

The name of the service. Only IDEAL, AIS, PIS or PSU is allowed.

String

Header

Client

required

The name of the client. This name is provided to the Initiating Party during onboarding. The name of the client is created by the Open Banking Service.

String

Header

Id

required

The combination of Initiating Party ID and sub Id. For example if Initiating Party ID is 433 and the sub ID is 5 the ID will be 433:5

IP=433, subId=5 -> 433:5

IP=434, no subId -> 434

String

Header

Date

required

Should be filled with the current date.

The following date formats are supported:

1. EEE MMM dd HH:mm:ss zzz yyyy

2. ISO DATE: for example 2011-12-03T10:15:30+01:00

3. RFC 1123: for example Tue, 3 Jun 2008 11:05:30 GMT

Date

Response

Location Name Comments Type

[1..1]

access_token

Token to be used in further API calls

String

[1..1]

token_type

Type of the token: Bearer

String

[1..1]

expires_in

Expiration time in seconds

Integer

Example: Authorisation

Request

Address: https://localhost:8443/xs2a/routingservice/services/authorize/token?grant_type=client_credentials
HttpMethod: POST
 
Headers: {App=IDEAL, Accept=application/json, Date=2022-03-25T09:41:31.256Z, Authorization=Signature KeyID="8D0F688AD3E6C2D4D5FB99FE129F2A2E3B496AF7", algorithm="SHA256withRSA", headers="app client id date", signature= "kAIepMoo6CRTWz9CLUFcpZj8eNQTdjXq6V8+kdk/9M1GmVud2CVrP1NMNTEiXgKzBlFQQlhv1iaFhMVOLVq7u8aEV4eeoNxjTLDK+lk4zkjCBjeOyXtr32dtfjsvytlzhXw7KJizgOGd+m4Gh9xtSjY0I5QM/p+znKZsJCVKNSUUBZndAxIudsxy2Srp/yzexmvWpsoAvWIZzwtDS03h4PjGTGKloXz6KyC+/I+GSBjw9M3GATUMMVrrgTKoR8oI0Xcr9v7ZTr3KpT1d1/LrcxQ82o2kq0+4ECVoJdVRezr2oZRmZ5hTHTIHehMNkASnuDqzDaQxQvMInUTg8tFKGA==", Id=000784, Client=Worldline, }

Response

Content-Type: application/json;charset=UTF-8
    ResponseCode: 200
    
    Headers: {X-Request-ID=23eeed2d-f163-43c5-94b1-eeadcbb393e3, MessageCreateDateTime=2022-03-25T09:41:31.819Z, Date=Fri, 25 Mar 2022 09:41:31 GMT, Content-Type=application/json;charset=UTF-8}
    Payload: {
    "access_token": "abb5468b4845dffff9cccd7c950e529",
    "token_type": "Bearer",
    "expires_in": 3600
}
Enable "on this page" menu on doc section
On

Contract

Contract

The contract is the subscription to a product by a customer. The contract inherits default values from its product, with the possibility to override some specific parameters such as fees, terms and conditions, credit limit, card layout reference.

Each Contract is identified by a unique “contractReference”, generated internally. It can optionally have an external reference “issuerContractExternalReference”, provided by the issuer, which must be unique for the issuer.

The below diagram presents different use cases covered by the API in the contract domain.

Contract APIs

Enable "on this page" menu on doc section
On