NAV Navigation
HTTP Shell JavaScript Node.js Java Python Go

OpenAPI XS2A v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Summary

This document describes the API exposed by the XS2A microservice.

Description

Base URLs:

Account Information Service (AIS)

Read account list

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts \
  -H 'Accept: application/json' \
  -H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8'

var headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json',
  'Consent-ID': '57e61d8e-7afd-4e47-ac2c-2183a46162d8'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Consent-ID": []string{"57e61d8e-7afd-4e47-ac2c-2183a46162d8"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/accounts

Read Account List

Read Account List

Parameters

Name In Type Required Description
Consent-ID header string(uuid) true This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Detailed descriptions

Consent-ID: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Example responses

200 Response

{
  "resourceId": "string",
  "name": "string",
  "status": "enabled",
  "internalStatus": "OPEN",
  "product": "string",
  "withholdingTax": "string",
  "interestRate": "string",
  "openingDate": "string",
  "iban": "FR7612345987650123456789014",
  "currency": "EUR",
  "bic": "string"
}

Responses

Status Meaning Description Schema
200 OK OK accountListResponse-200_json
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Read account information

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId} HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8'

var headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json',
  'Consent-ID': '57e61d8e-7afd-4e47-ac2c-2183a46162d8'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Consent-ID": []string{"57e61d8e-7afd-4e47-ac2c-2183a46162d8"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/accounts/{accountId}

Read Account Information

Reads account data from a given account addressed by "account-id".

Remark: This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Account List" call.

The account-id is constant at least throughout the lifecycle of a given consent.

Parameters

Name In Type Required Description
accountId path accountId true This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
Consent-ID header string(uuid) true This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Detailed descriptions

accountId: This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.

Consent-ID: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Example responses

200 Response

{
  "resourceId": "string",
  "name": "string",
  "status": "enabled",
  "internalStatus": "OPEN",
  "product": "string",
  "withholdingTax": "string",
  "interestRate": "string",
  "openingDate": "string",
  "iban": "FR7612345987650123456789014",
  "currency": "EUR",
  "bic": "string",
  "balances": [
    {
      "balanceAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "balanceType": "closingBooked"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK accountDetailsResponse-200_json
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Read account balance

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances \
  -H 'Accept: application/json' \
  -H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8'

var headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json',
  'Consent-ID': '57e61d8e-7afd-4e47-ac2c-2183a46162d8'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Consent-ID": []string{"57e61d8e-7afd-4e47-ac2c-2183a46162d8"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/balances", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/accounts/{accountId}/balances

Read Balance

Reads account data from a given account addressed by "account-id".

Remark: This accountId can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Account List" call.

The account-id is constant at least throughout the lifecycle of a given consent.

Parameters

Name In Type Required Description
accountId path accountId true This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
Consent-ID header string(uuid) true This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Detailed descriptions

accountId: This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.

Consent-ID: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Example responses

200 Response

{
  "account": {
    "iban": "FR7612345987650123456789014"
  },
  "balances": [
    {
      "balanceAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "balanceType": "closingBooked"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK accountBalancesResponse-200_json
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Read account transactions list

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked \
  -H 'Accept: application/json' \
  -H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8'

var headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions',
  method: 'get',
  data: '?bookingStatus=booked',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json',
  'Consent-ID': '57e61d8e-7afd-4e47-ac2c-2183a46162d8'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions', params={
  'bookingStatus': 'booked'
}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Consent-ID": []string{"57e61d8e-7afd-4e47-ac2c-2183a46162d8"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/accounts/{accountId}/transactions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/accounts/{accountId}/transactions

Read transaction list of an account

Read transaction reports or transaction lists of a given account ddressed by "accountId", depending on the steering parameter "bookingStatus" together with balances.

For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". The ASPSP might add balance information, if transaction lists without balances are not supported.

Parameters

Name In Type Required Description
accountId path accountId true This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
page query integer(int32) false Number of items to skip before returning the results
size query integer(int32) false Maximum number of items to return
minAmount query number false Minimum search amount for transactions to return
maxAmount query number false Maximum search amount for transactions to return
sort query string false Direction and field to sort by. Ascending direction value: + (default), descending direction value: -
type query string false Type of transaction.
dateFrom query string(date) false Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.
dateTo query string(date) false End date (inclusive the data dateTo) of the transaction list, default is "now" if not given.
bookingStatus query string true Permitted codes are
Consent-ID header string(uuid) true This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Detailed descriptions

accountId: This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.

dateFrom: Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.

For booked transactions, the relevant date is the booking date.

For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.

dateTo: End date (inclusive the data dateTo) of the transaction list, default is "now" if not given.

Might be ignored if a delta function is used.

For booked transactions, the relevant date is the booking date.

For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.

bookingStatus: Permitted codes are

Consent-ID: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

Enumerated Values

Parameter Value
type ALL
type WITHDRAWAL
type DEPOSIT
bookingStatus booked
bookingStatus pending
bookingStatus both

Example responses

200 Response

{
  "account": {
    "iban": "FR7612345987650123456789014"
  },
  "transactions": {
    "booked": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "pending": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "accepted": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "holdedBalance": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "_links": {
      "first": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "next": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "previous": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "last": {
        "href": "/v1/consents/1234-wertiq-983/status"
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK transactionsResponse-200_json
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Code samples

POST https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Content-Type: application/json; charset=UTF-8
Accept: application/json
PSU-ID: user1@company.com

# You can also use wget
curl -X POST https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents \
  -H 'Content-Type: application/json; charset=UTF-8' \
  -H 'Accept: application/json' \
  -H 'PSU-ID: user1@company.com'

var headers = {
  'Content-Type':'application/json; charset=UTF-8',
  'Accept':'application/json',
  'PSU-ID':'user1@company.com'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "access": {
    "accounts": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "balances": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "transactions": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "availableAccounts": "allAccounts",
    "allPsd2": "allAccounts"
  },
  "recurringIndicator": false,
  "validUntil": "2020-12-31",
  "frequencyPerDay": 4,
  "combinedServiceIndicator": false
}';
const headers = {
  'Content-Type':'application/json; charset=UTF-8',
  'Accept':'application/json',
  'PSU-ID':'user1@company.com'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Content-Type': 'application/json; charset=UTF-8',
  'Accept': 'application/json',
  'PSU-ID': 'user1@company.com'
}

r = requests.post('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json; charset=UTF-8"},
        "Accept": []string{"application/json"},
        "PSU-ID": []string{"user1@company.com"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/consents

Create consent

This method create a consent resource, defining access rights to dedicated accounts of a given PSU-ID. These accounts are addressed explicitly in the method as parameters as a core function.

Body parameter

{
  "access": {
    "accounts": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "balances": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "transactions": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "availableAccounts": "allAccounts",
    "allPsd2": "allAccounts"
  },
  "recurringIndicator": false,
  "validUntil": "2020-12-31",
  "frequencyPerDay": 4,
  "combinedServiceIndicator": false
}
Name In Type Required Description
PSU-ID header string true Client ID of the PSU in the ASPSP client interface.
body body object false none

Detailed descriptions

PSU-ID: Client ID of the PSU in the ASPSP client interface.

Example responses

201 Response

{
  "consentStatus": "received",
  "consentId": "string",
  "_links": {
    "status": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  }
}
Status Meaning Description Schema
201 Created Created consentsResponse-201
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Response Headers

Status Header Type Format Description
201 ASPSP-SCA-Approach string This data element must be contained, if the SCA Approach is already fixed.

Possible values are

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId} HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId} \
  -H 'Accept: application/json'

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/consents/{consentId}

Get Consent Request

Returns the content of an account information consent object.

Name In Type Required Description
consentId path consentId true ID of the corresponding consent object as returned by an Account Information Consent Request.

Detailed descriptions

consentId: ID of the corresponding consent object as returned by an Account Information Consent Request.

Example responses

200 Response

{
  "access": {
    "accounts": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "balances": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "transactions": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "availableAccounts": "allAccounts",
    "allPsd2": "allAccounts"
  },
  "recurringIndicator": false,
  "validUntil": "2020-12-31",
  "frequencyPerDay": 4,
  "lastActionDate": "2018-07-01",
  "consentStatus": "received",
  "_links": {
    "account": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  }
}
Status Meaning Description Schema
200 OK OK consentInformationResponse-200_json
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Code samples

DELETE https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId} HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es

# You can also use wget
curl -X DELETE https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}


$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}',
  method: 'delete',

  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests

r = requests.delete('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}', params={

)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /v1/consents/{consentId}

Delete a consent

Delete a consent of an account information consent resource.

Name In Type Required Description
consentId path consentId true ID of the corresponding consent object as returned by an Account Information Consent Request.

Detailed descriptions

consentId: ID of the corresponding consent object as returned by an Account Information Consent Request.

Status Meaning Description Schema
204 No Content NO_CONTENT None
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status \
  -H 'Accept: application/json'

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/consents/{consentId}/status", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/consents/{consentId}/status

Consent status request

Read the status of an account information consent resource.

Name In Type Required Description
consentId path consentId true ID of the corresponding consent object as returned by an Account Information Consent Request.

Detailed descriptions

consentId: ID of the corresponding consent object as returned by an Account Information Consent Request.

Example responses

200 Response

{
  "consentStatus": "received"
}
Status Meaning Description Schema
200 OK OK consentStatusResponse-200
400 Bad Request Bad Request None
401 Unauthorized Unauthorized None

Payment Initiation Service (PIS)

Perform SEPA transfer

Code samples

POST https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Content-Type: application/json
Accept: application/json; charset=UTF-8
ASPSP-SCA-Approach: DECOUPLED
X-Request-ID: string
PSU-IP-Address: string

# You can also use wget
curl -X POST https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json; charset=UTF-8' \
  -H 'ASPSP-SCA-Approach: DECOUPLED' \
  -H 'X-Request-ID: string' \
  -H 'PSU-IP-Address: string'

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json; charset=UTF-8',
  'ASPSP-SCA-Approach':'DECOUPLED',
  'X-Request-ID':'string',
  'PSU-IP-Address':'string'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "endToEndIdentification": "string",
  "debtorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "instructedAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "creditorAgent": "AAAADEBBXXX",
  "creditorAgentName": "string",
  "creditorName": "string",
  "creditorAddress": {
    "street": "rue blue",
    "buildingnNumber": "89",
    "city": "Paris",
    "postalCode": "75000",
    "country": "FR"
  },
  "remittanceInformationUnstructured": "Ref Number Merchant"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json; charset=UTF-8',
  'ASPSP-SCA-Approach':'DECOUPLED',
  'X-Request-ID':'string',
  'PSU-IP-Address':'string'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json; charset=UTF-8',
  'ASPSP-SCA-Approach': 'DECOUPLED',
  'X-Request-ID': 'string',
  'PSU-IP-Address': 'string'
}

r = requests.post('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json; charset=UTF-8"},
        "ASPSP-SCA-Approach": []string{"DECOUPLED"},
        "X-Request-ID": []string{"string"},
        "PSU-IP-Address": []string{"string"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/payments/sepa-credit-transfer

Payment initiation request

Body parameter

{
  "endToEndIdentification": "string",
  "debtorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "instructedAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "creditorAgent": "AAAADEBBXXX",
  "creditorAgentName": "string",
  "creditorName": "string",
  "creditorAddress": {
    "street": "rue blue",
    "buildingnNumber": "89",
    "city": "Paris",
    "postalCode": "75000",
    "country": "FR"
  },
  "remittanceInformationUnstructured": "Ref Number Merchant"
}

Parameters

Name In Type Required Description
ASPSP-SCA-Approach header string true Defined the SCA Approach
X-Request-ID header string(uuid) true ID of the request, unique to the call, as determined by the initiating party.
PSU-IP-Address header string true The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
body body paymentInitiation true JSON request body for a payment inition request message for sepa-credit-transfer

Enumerated Values

Parameter Value
ASPSP-SCA-Approach DECOUPLED

Example responses

201 Response

{
  "transactionStatus": "RCVD",
  "paymentId": "string",
  "_links": {
    "self": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  },
  "scaMethod": {
    "authenticationType": "PUSH_OTP",
    "authenticationData": "0936e33e-f356-46f5-81a9-7bb34654c9e9"
  }
}

Responses

Status Meaning Description Schema
201 Created Created CREATED_201_PaymentInitiation
400 Bad Request Bad Request Error400_NG_PIS
401 Unauthorized Unauthorized Error401_NG_PIS
403 Forbidden Forbidden Error403_NG_PIS
409 Conflict Conflict Error409_NG_PIS
503 Service Unavailable Service Unavailable Error

Get Payment Information

Code samples

GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId} HTTP/1.1
Host: psd2.mtls.int.border.proyecto-sol.es
Accept: application/json; charset=UTF-8
X-Request-ID: string

# You can also use wget
curl -X GET https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId} \
  -H 'Accept: application/json; charset=UTF-8' \
  -H 'X-Request-ID: string'

var headers = {
  'Accept':'application/json; charset=UTF-8',
  'X-Request-ID':'string'

};

$.ajax({
  url: 'https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json; charset=UTF-8',
  'X-Request-ID':'string'

};

fetch('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

import requests
headers = {
  'Accept': 'application/json; charset=UTF-8',
  'X-Request-ID': 'string'
}

r = requests.get('https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}', params={

}, headers = headers)

print r.json()

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json; charset=UTF-8"},
        "X-Request-ID": []string{"string"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://psd2.mtls.int.border.proyecto-sol.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/payments/sepa-credit-transfer/{paymentId}

Get Payment Information

Returns the content of a payment object

Parameters

Name In Type Required Description
paymentId path string true Resource identification of the payment initiation resource.
X-Request-ID header string(uuid) true ID of the request, unique to the call, as determined by the initiating party.

Example responses

200 Response

null

Responses

Status Meaning Description Schema
200 OK OK #/components/responses/OK_200_PaymentInitiationInformation
400 Bad Request Bad Request Error400_NG_PIS
401 Unauthorized Unauthorized Error401_NG_PIS

Schemas

address

{
  "street": "rue blue",
  "buildingnNumber": "89",
  "city": "Paris",
  "postalCode": "75000",
  "country": "FR"
}

Properties

Name Type Required Restrictions Description
street string false none none
buildingNumber string false none none
city string false none none
postalCode string false none none
country countryCode true none ISO 3166 ALPHA2 country code

countryCode

"SE"

ISO 3166 ALPHA2 country code

Properties

Name Type Required Restrictions Description
anonymous string false none ISO 3166 ALPHA2 country code

remittanceInformationUnstructured

"Ref Number Merchant"

*Unstructured remittance information *

Properties

Name Type Required Restrictions Description
anonymous string false none Unstructured remittance information

bicfi

"AAAADEBBXXX"

*BICFI *

Properties

Name Type Required Restrictions Description
anonymous string false none BICFI

paymentInitiation_json

{
  "endToEndIdentification": "string",
  "debtorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "instructedAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "creditorAgent": "AAAADEBBXXX",
  "creditorAgentName": "string",
  "creditorName": "string",
  "creditorAddress": {
    "street": "rue blue",
    "buildingnNumber": "89",
    "city": "Paris",
    "postalCode": "75000",
    "country": "FR"
  },
  "remittanceInformationUnstructured": "Ref Number Merchant"
}

Properties

Name Type Required Restrictions Description
endToEndIdentification string false none none
debtorAccount accountReference true none Reference to an account by either * IBAN, of a payment accounts
instructedAmount amount true none Amount
creditorAccount accountReference true none Reference to an account by either * IBAN, of a payment accounts
creditorAgent bicfi false none BICFI
creditorAgentName string false none none
creditorName string true none none
creditorAddress address false none none
remittanceInformationUnstructured remittanceInformationUnstructured false none Unstructured remittance information

scaMethod

{
  "authenticationType": "PUSH_OTP",
  "authenticationData": "0936e33e-f356-46f5-81a9-7bb34654c9e9"
}

Properties

Name Type Required Restrictions Description
authenticationType string true none Only PUSH OTP type allowed
authenticationData string true none This is the data associated with the SCA

Enumerated Values

Property Value
authenticationType PUSH_OTP

Error400_NG_PIS

{
  "tppMessages": [
    {
      "category": "ERROR",
      "path": "string",
      "text": "string",
      "code": "FORMAT_ERROR"
    }
  ]
}

*NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. *

Properties

Name Type Required Restrictions Description
tppMessages [tppMessage400_PIS] false none none

Error401_NG_PIS

{
  "tppMessages": [
    {
      "category": "ERROR",
      "path": "string",
      "text": "string",
      "code": "TOKEN_UNKNOWN"
    }
  ]
}

*NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. *

Properties

Name Type Required Restrictions Description
tppMessages [tppMessage401_PIS] false none none

Error403_NG_PIS

{
  "tppMessages": [
    {
      "category": "ERROR",
      "path": "string",
      "text": "string",
      "code": "PRODUCT_INVALID"
    }
  ]
}

*NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. *

Properties

Name Type Required Restrictions Description
tppMessages [tppMessage403_PIS] false none none

Error404_NG_PIS

{
  "tppMessages": [
    {
      "category": "ERROR",
      "path": "string",
      "text": "string",
      "code": "RESOURCE_UNKNOWN"
    }
  ]
}

*NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. *

Properties

Name Type Required Restrictions Description
tppMessages [tppMessage404_PIS] false none none

Error409_NG_PIS

{
  "tppMessages": [
    {
      "category": "ERROR",
      "path": "string",
      "text": "string",
      "code": "STATUS_INVALID"
    }
  ]
}

*NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. *

Properties

Name Type Required Restrictions Description
tppMessages [tppMessage409_PIS] false none none

tppMessage400_PIS

{
  "category": "ERROR",
  "path": "string",
  "text": "string",
  "code": "FORMAT_ERROR"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none

and

Name Type Required Restrictions Description
anonymous tppMessage false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» code MessageCode400_PIS false none Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).

tppMessage401_PIS

{
  "category": "ERROR",
  "path": "string",
  "text": "string",
  "code": "TOKEN_UNKNOWN"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none

and

Name Type Required Restrictions Description
anonymous tppMessage false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» code MessageCode401_PIS false none Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).

tppMessage403_PIS

{
  "category": "ERROR",
  "path": "string",
  "text": "string",
  "code": "PRODUCT_INVALID"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none

and

Name Type Required Restrictions Description
anonymous tppMessage false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» code MessageCode403_PIS false none Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

tppMessage404_PIS

{
  "category": "ERROR",
  "path": "string",
  "text": "string",
  "code": "RESOURCE_UNKNOWN"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none

and

Name Type Required Restrictions Description
anonymous tppMessage false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» code MessageCode404_PIS false none Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

tppMessage409_PIS

{
  "category": "ERROR",
  "path": "string",
  "text": "string",
  "code": "STATUS_INVALID"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none

and

Name Type Required Restrictions Description
anonymous tppMessage false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» code MessageCode409_PIS false none Message codes defined for PIS for HTTP Error code 409 (CONFLICT).

MessageCode400_PIS

"FORMAT_ERROR"

Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).

Properties

Name Type Required Restrictions Description
anonymous string false none Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).

Enumerated Values

Property Value
anonymous FORMAT_ERROR
anonymous PAYMENT_FAILED

MessageCode401_PIS

"TOKEN_UNKNOWN"

Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).

Properties

Name Type Required Restrictions Description
anonymous string false none Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).

Enumerated Values

Property Value
anonymous TOKEN_UNKNOWN
anonymous TOKEN_INVALID
anonymous TOKEN_EXPIRED

MessageCode403_PIS

"PRODUCT_INVALID"

Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

Properties

Name Type Required Restrictions Description
anonymous string false none Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

Enumerated Values

Property Value
anonymous PRODUCT_INVALID

MessageCode404_PIS

"RESOURCE_UNKNOWN"

Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

Properties

Name Type Required Restrictions Description
anonymous string false none Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).

Enumerated Values

Property Value
anonymous RESOURCE_UNKNOWN

MessageCode409_PIS

"STATUS_INVALID"

Message codes defined for PIS for HTTP Error code 409 (CONFLICT).

Properties

Name Type Required Restrictions Description
anonymous string false none Message codes defined for PIS for HTTP Error code 409 (CONFLICT).

Enumerated Values

Property Value
anonymous STATUS_INVALID

Error

{
  "code": 1,
  "message": "The requested resource could not be found (756e0d28-333f-453a-99a1-394e8a332d74)",
  "description": "Your request is not valid. Please correct any mistakes before retrying"
}

Properties

Name Type Required Restrictions Description
code number true none none
message string true none none
description string true none none

tppMessage

{
  "category": "ERROR",
  "path": "string",
  "text": "string"
}

Properties

Name Type Required Restrictions Description
category tppMessageCategory true none Category of the TPP message category
path string false none none
text tppMessageText false none Additional explaining text to the TPP.

tppMessageCategory

"ERROR"

Category of the TPP message category

Properties

Name Type Required Restrictions Description
anonymous string false none Category of the TPP message category

Enumerated Values

Property Value
anonymous ERROR
anonymous WARNING

tppMessageText

"string"

Additional explaining text to the TPP.

Properties

Name Type Required Restrictions Description
anonymous string false none Additional explaining text to the TPP.

transactionStatus

"RCVD"

*PSD2 transaction status codes:

*

Properties

None

CREATED_201_PaymentInitiation

{
  "transactionStatus": "RCVD",
  "paymentId": "string",
  "_links": {
    "self": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  },
  "scaMethod": {
    "authenticationType": "PUSH_OTP",
    "authenticationData": "0936e33e-f356-46f5-81a9-7bb34654c9e9"
  }
}

Body of the response for a successful payment initiation request.

Properties

Name Type Required Restrictions Description
transactionStatus transactionStatus true none PSD2 transaction status codes:
  • RCVD: Payment initiation has been received by the receiving agent.
  • ACSP: All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
  • RJCT: Payment initiation or individual transaction included in the payment initiation has been rejected.
  • ACSC: Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.
  • ACCC: Settlement on both the creditor's and the debtor's accounts has been completed (applies only to Intrabank transfers).
paymentId paymentId true none Resource identification of the generated payment initiation resource.
_links _linksPaymentInitiation true none A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'self': The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data.
scaMethod scaMethod false none none

_linksPaymentInitiation

{
  "self": {
    "href": "/v1/consents/1234-wertiq-983/status"
  }
}

*A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'self': The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data. *

Properties

Name Type Required Restrictions Description
self hrefType false none Link to a resource

paymentId

"string"

Resource identification of the generated payment initiation resource.

Properties

Name Type Required Restrictions Description
anonymous string false none Resource identification of the generated payment initiation resource.

_linksGetConsent

{
  "account": {
    "href": "/v1/consents/1234-wertiq-983/status"
  }
}

*A list of hyperlinks to be recognised by the TPP.

Links of type "account" and/or "cardAccount", depending on the nature of the consent. *

Properties

Name Type Required Restrictions Description
account hrefType false none Link to a resource

iban

"FR7612345987650123456789014"

IBAN of an account

Properties

Name Type Required Restrictions Description
anonymous string false none IBAN of an account

recurringIndicator

false

Properties

Name Type Required Restrictions Description
anonymous boolean false none none

combinedServiceIndicator

false

Properties

Name Type Required Restrictions Description
anonymous boolean false none none

validUntil

"2020-12-31"

Properties

Name Type Required Restrictions Description
anonymous string(date) false none none

frequencyPerDay

4

Properties

Name Type Required Restrictions Description
anonymous integer false none none

accountReference

{
  "iban": "FR7612345987650123456789014"
}

*Reference to an account by either

Properties

Name Type Required Restrictions Description
iban iban false none IBAN of an account

accountStatus

"enabled"

*Account status. The value is one of the following:

Properties

Name Type Required Restrictions Description
anonymous string false none Account status. The value is one of the following: - "enabled": account is available - "deleted": account is terminated - "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification.

Enumerated Values

Property Value
anonymous enabled
anonymous deleted
anonymous blocked

accountDetailsResponse-200_json

{
  "resourceId": "string",
  "name": "string",
  "status": "enabled",
  "internalStatus": "OPEN",
  "product": "string",
  "withholdingTax": "string",
  "interestRate": "string",
  "openingDate": "string",
  "iban": "FR7612345987650123456789014",
  "currency": "EUR",
  "bic": "string",
  "balances": [
    {
      "balanceAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "balanceType": "closingBooked"
    }
  ]
}

*The ASPSP shall give at least one of the account reference identifiers:

Properties

Name Type Required Restrictions Description
resourceId string true none This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.
name string true none Name of the account given by the bank or the PSU in online-banking.
status accountStatus true none Account status. The value is one of the following: - "enabled": account is available - "deleted": account is terminated - "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification.
internalStatus internalStatus true none none
product string true none Product name of the bank for this account, proprietary definition.
withholdingTax withholdingTax false none National tax per interest generated in a saving account expressed as a percentage
interestRate interestRate false none Generated interest rate for a saving account expressed as a percentage
openingDate openingDate true none none
iban iban true none IBAN of an account
currency currency true none ISO 4217 Alpha 3 currency code
bic bic true none BICFI
balances balances false none A list of balances regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance.

accountAccess

{
  "accounts": [
    {
      "iban": "FR7612345987650123456789014"
    }
  ],
  "balances": [
    {
      "iban": "FR7612345987650123456789014"
    }
  ],
  "transactions": [
    {
      "iban": "FR7612345987650123456789014"
    }
  ],
  "availableAccounts": "allAccounts",
  "allPsd2": "allAccounts"
}

*Requested access services for a consent. *

Properties

Name Type Required Restrictions Description
accounts [accountReference] false none [Reference to an account by either * IBAN, of a payment accounts ]
balances [accountReference] false none [Reference to an account by either * IBAN, of a payment accounts ]
transactions [accountReference] false none [Reference to an account by either * IBAN, of a payment accounts ]
availableAccounts string false none none
allPsd2 string false none none

Enumerated Values

Property Value
availableAccounts allAccounts
availableAccounts allAccountsWithBalances
allPsd2 allAccounts

consentsResponse-201

{
  "consentStatus": "received",
  "consentId": "string",
  "_links": {
    "status": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  }
}

Body of the JSON response for a successful conset request.

Properties

Name Type Required Restrictions Description
consentStatus consentStatus true none This is the overall lifecycle status of the consent.
consentId consentId true none ID of the corresponding consent object as returned by an Account Information Consent Request.
_links _linksConsents true none A list of hyperlinks to be recognised by the TPP.

consentStatus

"received"

*This is the overall lifecycle status of the consent. *

Properties

Name Type Required Restrictions Description
anonymous string false none This is the overall lifecycle status of the consent.

Enumerated Values

Property Value
anonymous received
anonymous rejected
anonymous valid
anonymous revokedByPsu
anonymous expired
anonymous terminatedByTpp

status

"enabled"

*Account status. The value is one of the following: "enabled": account is available "deleted": account is terminated "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification. *

Properties

Name Type Required Restrictions Description
anonymous string false none Account status. The value is one of the following: "enabled": account is available "deleted": account is terminated "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification.

Enumerated Values

Property Value
anonymous enabled
anonymous deleted
anonymous blocked

internalStatus

"OPEN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous OPEN
anonymous APPROVED
anonymous ACTIVE
anonymous BLOCKED
anonymous CLOSED

balanceType

"closingBooked"

*The following balance types are defined:

"closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.

"expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted.

"hold": The retained balance, sum of the pending items (not yet booked) *

Properties

Name Type Required Restrictions Description
anonymous string false none The following balance types are defined: "closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. "expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. "hold": The retained balance, sum of the pending items (not yet booked)

Enumerated Values

Property Value
anonymous closingBooked
anonymous expected
anonymous hold

accountId

"string"

*This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. *

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.

consentId

"string"

*ID of the corresponding consent object as returned by an Account Information Consent Request. *

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none ID of the corresponding consent object as returned by an Account Information Consent Request.

resourceId

"string"

*This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. *

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.

name

"string"

*Name of the account given by the bank or the PSU in online-banking. *

Properties

Name Type Required Restrictions Description
anonymous string false none Name of the account given by the bank or the PSU in online-banking.

product

"string"

*Product name of the bank for this account, proprietary definition. *

Properties

Name Type Required Restrictions Description
anonymous string false none Product name of the bank for this account, proprietary definition.

withholdingTax

"string"

*National tax per interest generated in a saving account expressed as a percentage *

Properties

Name Type Required Restrictions Description
anonymous string false none National tax per interest generated in a saving account expressed as a percentage

currency

"EUR"

*ISO 4217 Alpha 3 currency code *

Properties

Name Type Required Restrictions Description
anonymous string false none ISO 4217 Alpha 3 currency code

bic

"string"

*BICFI *

Properties

Name Type Required Restrictions Description
anonymous string false none BICFI

balance

{
  "balanceAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "balanceType": "closingBooked"
}

*Balance detail regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance. *

Properties

Name Type Required Restrictions Description
balanceAmount amount true none Amount
balanceType balanceType true none The following balance types are defined: "closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. "expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. "hold": The retained balance, sum of the pending items (not yet booked)

amount

{
  "currency": "EUR",
  "amount": "5877.78"
}

*Amount *

Properties

Name Type Required Restrictions Description
currency currency true none ISO 4217 Alpha 3 currency code
amount number false none The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.

number

"5877.78"

*The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. *

Properties

Name Type Required Restrictions Description
anonymous string false none The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.

balances

[
  {
    "balanceAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "balanceType": "closingBooked"
  }
]

*A list of balances regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance. *

Properties

Name Type Required Restrictions Description
anonymous [balance] false none A list of balances regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance.

interestRate

"string"

*Generated interest rate for a saving account expressed as a percentage *

Properties

Name Type Required Restrictions Description
anonymous string false none Generated interest rate for a saving account expressed as a percentage

openingDate

"string"

Properties

Name Type Required Restrictions Description
anonymous string false none none

_linksConsents

{
  "status": {
    "href": "/v1/consents/1234-wertiq-983/status"
  }
}

*A list of hyperlinks to be recognised by the TPP. *

Properties

Name Type Required Restrictions Description
status hrefType false none Link to a resource

hrefType

{
  "href": "/v1/consents/1234-wertiq-983/status"
}

Link to a resource

Properties

Name Type Required Restrictions Description
href hrefEntry false none Link to a resource

hrefEntry

"/v1/consents/1234-wertiq-983/status"

Link to a resource

Properties

Name Type Required Restrictions Description
anonymous string false none Link to a resource

lastActionDate

"2018-07-01"

*This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status. *

Properties

Name Type Required Restrictions Description
anonymous string(date) false none This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status.

consentStatusResponse-200

{
  "consentStatus": "received"
}

Body of the JSON response for a successful get status request for a consent.

Properties

Name Type Required Restrictions Description
consentStatus consentStatus true none This is the overall lifecycle status of the consent.

consentInformationResponse-200_json

{
  "access": {
    "accounts": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "balances": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "transactions": [
      {
        "iban": "FR7612345987650123456789014"
      }
    ],
    "availableAccounts": "allAccounts",
    "allPsd2": "allAccounts"
  },
  "recurringIndicator": false,
  "validUntil": "2020-12-31",
  "frequencyPerDay": 4,
  "lastActionDate": "2018-07-01",
  "consentStatus": "received",
  "_links": {
    "account": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  }
}

Body of the JSON response for a successfull get consent request.

Properties

Name Type Required Restrictions Description
access accountAccess true none Requested access services for a consent.
recurringIndicator recurringIndicator true none none
validUntil validUntil true none none
frequencyPerDay frequencyPerDay true none none
lastActionDate lastActionDate true none This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status.
consentStatus consentStatus true none This is the overall lifecycle status of the consent.
_links _linksGetConsent false none A list of hyperlinks to be recognised by the TPP. Links of type "account" and/or "cardAccount", depending on the nature of the consent.

accountBalancesResponse-200_json

{
  "account": {
    "iban": "FR7612345987650123456789014"
  },
  "balances": [
    {
      "balanceAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "balanceType": "closingBooked"
    }
  ]
}

Account Balances detail

Properties

Name Type Required Restrictions Description
account accountReference false none Reference to an account by either * IBAN, of a payment accounts
balances balances true none A list of balances regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance.

accountListResponse-200_json

{
  "resourceId": "string",
  "name": "string",
  "status": "enabled",
  "internalStatus": "OPEN",
  "product": "string",
  "withholdingTax": "string",
  "interestRate": "string",
  "openingDate": "string",
  "iban": "FR7612345987650123456789014",
  "currency": "EUR",
  "bic": "string"
}

Array of objects (accountDetails)

Properties

Name Type Required Restrictions Description
resourceId resourceId true none This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.
name name true none Name of the account given by the bank or the PSU in online-banking.
status status true none Account status. The value is one of the following: "enabled": account is available "deleted": account is terminated "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification.
internalStatus internalStatus true none none
product product true none Product name of the bank for this account, proprietary definition.
withholdingTax withholdingTax false none National tax per interest generated in a saving account expressed as a percentage
interestRate interestRate false none Generated interest rate for a saving account expressed as a percentage
openingDate openingDate true none none
iban iban true none IBAN of an account
currency currency true none ISO 4217 Alpha 3 currency code
bic bic true none BICFI

transactionsResponse-200_json

{
  "account": {
    "iban": "FR7612345987650123456789014"
  },
  "transactions": {
    "booked": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "pending": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "accepted": [
      {
        "account": {
          "iban": "FR7612345987650123456789014"
        },
        "transactionId": "string",
        "endToEndId": "string",
        "balance": {
          "balanceAmount": {
            "currency": "EUR",
            "amount": "5877.78"
          },
          "balanceType": "closingBooked"
        },
        "bookingDate": "2017-10-25T15:30:35.035Z",
        "valueDate": "2017-10-25T15:30:35.035Z",
        "operationDate": "2017-10-25T15:30:35.035Z",
        "transactionAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "originalAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "convertedAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "exchangeRate": {
          "sourceCurrency": "EUR",
          "rate": "10.25",
          "targetCurrency": "EUR",
          "rateDate": "2020-02-20",
          "rateContract": "string"
        },
        "feeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmDisloyaltyFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmSurchargeAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "creditorName": "Creditor Name",
        "creditorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "debtorName": "Debtor Name",
        "debtorAccount": {
          "iban": "FR7612345987650123456789014"
        },
        "remittanceInformationUnstructured": "Ref Number Merchant",
        "interestRate": "string",
        "interestAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "interestTaxRate": "string",
        "interestTaxAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "cardAcceptorName": "string",
        "cardAcceptorAddress": {
          "street": "rue blue",
          "buildingnNumber": "89",
          "city": "Paris",
          "postalCode": "75000",
          "country": "FR"
        },
        "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
        "type": "TRANSFER_RECEIVED",
        "transactionType": "TRANSFER",
        "amortizationType": "PARTIAL",
        "cardTransactionStatus": "SETTLED",
        "maskedPan": "524076******8454",
        "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
        "transactionDate": "2018-07-10T10:10:10",
        "retrievalReferenceNumber": "831309002494",
        "authCode": "b950e74c0c49a5c4",
        "authProcessResponseCode": "APPROVED",
        "cashBack": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "settlementDate": "2018-07-10",
        "cardSequenceNumber": "a131faae6c260e4c",
        "walletIdentifier": "APPLE_PAY",
        "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
        "posTerminalAttendance": "ATTENDED_TERMINAL",
        "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
        "posCardHolderPresence": "CARDHOLDER_PRESENT",
        "posCardPresence": "CARD_PRESENT",
        "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
        "posCountryCode": "ES",
        "moneySend": "YES",
        "atmServiceFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "creditCardFee": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "atmMonthlyCounter": 8,
        "riskScoring": "NO"
      }
    ],
    "holdedBalance": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "_links": {
      "first": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "next": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "previous": {
        "href": "/v1/consents/1234-wertiq-983/status"
      },
      "last": {
        "href": "/v1/consents/1234-wertiq-983/status"
      }
    }
  }
}

*Body of the JSON response for a successful read transaction list request. This account report contains transactions resulting from the query parameters. *

Properties

Name Type Required Restrictions Description
account accountReference false none Reference to an account by either * IBAN, of a payment accounts
transactions accountReport false none JSON based account report. This account report contains transactions resulting from the query parameters. 'booked' shall be contained if bookingStatus parameter is set to "booked" or "both". 'pending' is not contained if the bookingStatus parameter is set to "booked".

paymentInitiationInformationResponse-200_json

{
  "endToEndIdentification": "string",
  "debtorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "instructedAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "creditorAgent": "AAAADEBBXXX",
  "creditorName": "Creditor Name",
  "creditorAddress": {
    "street": "rue blue",
    "buildingnNumber": "89",
    "city": "Paris",
    "postalCode": "75000",
    "country": "FR"
  },
  "remittanceInformationUnstructured": "Ref Number Merchant",
  "transactionStatus": "RCVD",
  "compensationEventMetadata": {
    "href": {
      "id": "string",
      "type": "string",
      "operationId": "string",
      "domain": "string",
      "entity": {
        "id": "string",
        "name": "string"
      },
      "source": "string",
      "instanceId": "string",
      "datetime": "string",
      "category": "string",
      "version": 0
    }
  },
  "compensationEventPayload": {
    "href": {
      "originalEvent": "string"
    }
  }
}

Properties

Name Type Required Restrictions Description
endToEndIdentification string false none none
debtorAccount accountReference true none Reference to an account by either * IBAN, of a payment accounts
instructedAmount amount true none Amount
creditorAccount accountReference true none Reference to an account by either * IBAN, of a payment accounts
creditorAgent bicfi false none BICFI
creditorName creditorName true none Creditor Name
creditorAddress address false none none
remittanceInformationUnstructured remittanceInformationUnstructured false none Unstructured remittance information
transactionStatus transactionStatus false none PSD2 transaction status codes:
  • RCVD: Payment initiation has been received by the receiving agent.
  • ACSP: All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
  • RJCT: Payment initiation or individual transaction included in the payment initiation has been rejected.
  • ACSC: Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.
  • ACCC: Settlement on both the creditor's and the debtor's accounts has been completed (applies only to Intrabank transfers).
compensationEventMetadata compensationMetadata false none metadata of the successful call to compensate an event
compensationEventPayload compensationPayload false none Payload of the successful call to compensate an event

compensationMetadata

{
  "href": {
    "id": "string",
    "type": "string",
    "operationId": "string",
    "domain": "string",
    "entity": {
      "id": "string",
      "name": "string"
    },
    "source": "string",
    "instanceId": "string",
    "datetime": "string",
    "category": "string",
    "version": 0
  }
}

metadata of the successful call to compensate an event

Properties

Name Type Required Restrictions Description
href compensationMetadataDesc false none object containing metadata of the successful call to compensate an event

compensationPayload

{
  "href": {
    "originalEvent": "string"
  }
}

Payload of the successful call to compensate an event

Properties

Name Type Required Restrictions Description
href compensationPayloadDesc false none object containing the payload of the successful call to compensate an event

compensationMetadataDesc

{
  "id": "string",
  "type": "string",
  "operationId": "string",
  "domain": "string",
  "entity": {
    "id": "string",
    "name": "string"
  },
  "source": "string",
  "instanceId": "string",
  "datetime": "string",
  "category": "string",
  "version": 0
}

object containing metadata of the successful call to compensate an event

Properties

Name Type Required Restrictions Description
id string false none none
type string false none none
operationId string false none none
domain string false none none
entity object false none none
» id string false none none
» name string false none none
source string false none none
instanceId string false none none
datetime string false none none
category string false none none
version integer false none none

compensationPayloadDesc

{
  "originalEvent": "string"
}

object containing the payload of the successful call to compensate an event

Properties

Name Type Required Restrictions Description
originalEvent string false none none

accountReport

{
  "booked": [
    {
      "account": {
        "iban": "FR7612345987650123456789014"
      },
      "transactionId": "string",
      "endToEndId": "string",
      "balance": {
        "balanceAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "balanceType": "closingBooked"
      },
      "bookingDate": "2017-10-25T15:30:35.035Z",
      "valueDate": "2017-10-25T15:30:35.035Z",
      "operationDate": "2017-10-25T15:30:35.035Z",
      "transactionAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "originalAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "convertedAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "exchangeRate": {
        "sourceCurrency": "EUR",
        "rate": "10.25",
        "targetCurrency": "EUR",
        "rateDate": "2020-02-20",
        "rateContract": "string"
      },
      "feeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmDisloyaltyFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmSurchargeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "creditorName": "Creditor Name",
      "creditorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "debtorName": "Debtor Name",
      "debtorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "remittanceInformationUnstructured": "Ref Number Merchant",
      "interestRate": "string",
      "interestAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "interestTaxRate": "string",
      "interestTaxAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "cardAcceptorName": "string",
      "cardAcceptorAddress": {
        "street": "rue blue",
        "buildingnNumber": "89",
        "city": "Paris",
        "postalCode": "75000",
        "country": "FR"
      },
      "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
      "type": "TRANSFER_RECEIVED",
      "transactionType": "TRANSFER",
      "amortizationType": "PARTIAL",
      "cardTransactionStatus": "SETTLED",
      "maskedPan": "524076******8454",
      "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "transactionDate": "2018-07-10T10:10:10",
      "retrievalReferenceNumber": "831309002494",
      "authCode": "b950e74c0c49a5c4",
      "authProcessResponseCode": "APPROVED",
      "cashBack": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "settlementDate": "2018-07-10",
      "cardSequenceNumber": "a131faae6c260e4c",
      "walletIdentifier": "APPLE_PAY",
      "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
      "posTerminalAttendance": "ATTENDED_TERMINAL",
      "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
      "posCardHolderPresence": "CARDHOLDER_PRESENT",
      "posCardPresence": "CARD_PRESENT",
      "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
      "posCountryCode": "ES",
      "moneySend": "YES",
      "atmServiceFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditCardFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmMonthlyCounter": 8,
      "riskScoring": "NO"
    }
  ],
  "pending": [
    {
      "account": {
        "iban": "FR7612345987650123456789014"
      },
      "transactionId": "string",
      "endToEndId": "string",
      "balance": {
        "balanceAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "balanceType": "closingBooked"
      },
      "bookingDate": "2017-10-25T15:30:35.035Z",
      "valueDate": "2017-10-25T15:30:35.035Z",
      "operationDate": "2017-10-25T15:30:35.035Z",
      "transactionAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "originalAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "convertedAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "exchangeRate": {
        "sourceCurrency": "EUR",
        "rate": "10.25",
        "targetCurrency": "EUR",
        "rateDate": "2020-02-20",
        "rateContract": "string"
      },
      "feeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmDisloyaltyFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmSurchargeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "creditorName": "Creditor Name",
      "creditorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "debtorName": "Debtor Name",
      "debtorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "remittanceInformationUnstructured": "Ref Number Merchant",
      "interestRate": "string",
      "interestAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "interestTaxRate": "string",
      "interestTaxAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "cardAcceptorName": "string",
      "cardAcceptorAddress": {
        "street": "rue blue",
        "buildingnNumber": "89",
        "city": "Paris",
        "postalCode": "75000",
        "country": "FR"
      },
      "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
      "type": "TRANSFER_RECEIVED",
      "transactionType": "TRANSFER",
      "amortizationType": "PARTIAL",
      "cardTransactionStatus": "SETTLED",
      "maskedPan": "524076******8454",
      "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "transactionDate": "2018-07-10T10:10:10",
      "retrievalReferenceNumber": "831309002494",
      "authCode": "b950e74c0c49a5c4",
      "authProcessResponseCode": "APPROVED",
      "cashBack": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "settlementDate": "2018-07-10",
      "cardSequenceNumber": "a131faae6c260e4c",
      "walletIdentifier": "APPLE_PAY",
      "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
      "posTerminalAttendance": "ATTENDED_TERMINAL",
      "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
      "posCardHolderPresence": "CARDHOLDER_PRESENT",
      "posCardPresence": "CARD_PRESENT",
      "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
      "posCountryCode": "ES",
      "moneySend": "YES",
      "atmServiceFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditCardFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmMonthlyCounter": 8,
      "riskScoring": "NO"
    }
  ],
  "accepted": [
    {
      "account": {
        "iban": "FR7612345987650123456789014"
      },
      "transactionId": "string",
      "endToEndId": "string",
      "balance": {
        "balanceAmount": {
          "currency": "EUR",
          "amount": "5877.78"
        },
        "balanceType": "closingBooked"
      },
      "bookingDate": "2017-10-25T15:30:35.035Z",
      "valueDate": "2017-10-25T15:30:35.035Z",
      "operationDate": "2017-10-25T15:30:35.035Z",
      "transactionAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "originalAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "convertedAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "exchangeRate": {
        "sourceCurrency": "EUR",
        "rate": "10.25",
        "targetCurrency": "EUR",
        "rateDate": "2020-02-20",
        "rateContract": "string"
      },
      "feeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmDisloyaltyFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmSurchargeAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "creditorName": "Creditor Name",
      "creditorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "debtorName": "Debtor Name",
      "debtorAccount": {
        "iban": "FR7612345987650123456789014"
      },
      "remittanceInformationUnstructured": "Ref Number Merchant",
      "interestRate": "string",
      "interestAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "interestTaxRate": "string",
      "interestTaxAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "cardAcceptorName": "string",
      "cardAcceptorAddress": {
        "street": "rue blue",
        "buildingnNumber": "89",
        "city": "Paris",
        "postalCode": "75000",
        "country": "FR"
      },
      "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
      "type": "TRANSFER_RECEIVED",
      "transactionType": "TRANSFER",
      "amortizationType": "PARTIAL",
      "cardTransactionStatus": "SETTLED",
      "maskedPan": "524076******8454",
      "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
      "transactionDate": "2018-07-10T10:10:10",
      "retrievalReferenceNumber": "831309002494",
      "authCode": "b950e74c0c49a5c4",
      "authProcessResponseCode": "APPROVED",
      "cashBack": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "settlementDate": "2018-07-10",
      "cardSequenceNumber": "a131faae6c260e4c",
      "walletIdentifier": "APPLE_PAY",
      "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
      "posTerminalAttendance": "ATTENDED_TERMINAL",
      "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
      "posCardHolderPresence": "CARDHOLDER_PRESENT",
      "posCardPresence": "CARD_PRESENT",
      "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
      "posCountryCode": "ES",
      "moneySend": "YES",
      "atmServiceFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "creditCardFee": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "atmMonthlyCounter": 8,
      "riskScoring": "NO"
    }
  ],
  "holdedBalance": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "_links": {
    "first": {
      "href": "/v1/consents/1234-wertiq-983/status"
    },
    "next": {
      "href": "/v1/consents/1234-wertiq-983/status"
    },
    "previous": {
      "href": "/v1/consents/1234-wertiq-983/status"
    },
    "last": {
      "href": "/v1/consents/1234-wertiq-983/status"
    }
  }
}

*JSON based account report. This account report contains transactions resulting from the query parameters.

'booked' shall be contained if bookingStatus parameter is set to "booked" or "both".

'pending' is not contained if the bookingStatus parameter is set to "booked". *

Properties

Name Type Required Restrictions Description
booked transactionList false none Array of transaction details
pending transactionList false none Array of transaction details
accepted transactionList false none Array of transaction details
holdedBalance amount false none Amount
_links _linksAccountReport true none none

transactionList

[
  {
    "account": {
      "iban": "FR7612345987650123456789014"
    },
    "transactionId": "string",
    "endToEndId": "string",
    "balance": {
      "balanceAmount": {
        "currency": "EUR",
        "amount": "5877.78"
      },
      "balanceType": "closingBooked"
    },
    "bookingDate": "2017-10-25T15:30:35.035Z",
    "valueDate": "2017-10-25T15:30:35.035Z",
    "operationDate": "2017-10-25T15:30:35.035Z",
    "transactionAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "originalAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "convertedAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "exchangeRate": {
      "sourceCurrency": "EUR",
      "rate": "10.25",
      "targetCurrency": "EUR",
      "rateDate": "2020-02-20",
      "rateContract": "string"
    },
    "feeAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "atmDisloyaltyFee": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "atmSurchargeAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
    "creditorName": "Creditor Name",
    "creditorAccount": {
      "iban": "FR7612345987650123456789014"
    },
    "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
    "debtorName": "Debtor Name",
    "debtorAccount": {
      "iban": "FR7612345987650123456789014"
    },
    "remittanceInformationUnstructured": "Ref Number Merchant",
    "interestRate": "string",
    "interestAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "interestTaxRate": "string",
    "interestTaxAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "cardAcceptorName": "string",
    "cardAcceptorAddress": {
      "street": "rue blue",
      "buildingnNumber": "89",
      "city": "Paris",
      "postalCode": "75000",
      "country": "FR"
    },
    "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
    "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
    "type": "TRANSFER_RECEIVED",
    "transactionType": "TRANSFER",
    "amortizationType": "PARTIAL",
    "cardTransactionStatus": "SETTLED",
    "maskedPan": "524076******8454",
    "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
    "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
    "transactionDate": "2018-07-10T10:10:10",
    "retrievalReferenceNumber": "831309002494",
    "authCode": "b950e74c0c49a5c4",
    "authProcessResponseCode": "APPROVED",
    "cashBack": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "settlementDate": "2018-07-10",
    "cardSequenceNumber": "a131faae6c260e4c",
    "walletIdentifier": "APPLE_PAY",
    "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
    "posTerminalAttendance": "ATTENDED_TERMINAL",
    "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
    "posCardHolderPresence": "CARDHOLDER_PRESENT",
    "posCardPresence": "CARD_PRESENT",
    "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
    "posCountryCode": "ES",
    "moneySend": "YES",
    "atmServiceFee": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "creditCardFee": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "atmMonthlyCounter": 8,
    "riskScoring": "NO"
  }
]

Array of transaction details

Properties

Name Type Required Restrictions Description
anonymous [transactionDetails] false none Array of transaction details

transactionDetails

{
  "account": {
    "iban": "FR7612345987650123456789014"
  },
  "transactionId": "string",
  "endToEndId": "string",
  "balance": {
    "balanceAmount": {
      "currency": "EUR",
      "amount": "5877.78"
    },
    "balanceType": "closingBooked"
  },
  "bookingDate": "2017-10-25T15:30:35.035Z",
  "valueDate": "2017-10-25T15:30:35.035Z",
  "operationDate": "2017-10-25T15:30:35.035Z",
  "transactionAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "originalAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "convertedAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "exchangeRate": {
    "sourceCurrency": "EUR",
    "rate": "10.25",
    "targetCurrency": "EUR",
    "rateDate": "2020-02-20",
    "rateContract": "string"
  },
  "feeAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "atmDisloyaltyFee": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "atmSurchargeAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
  "creditorName": "Creditor Name",
  "creditorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "debtorId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
  "debtorName": "Debtor Name",
  "debtorAccount": {
    "iban": "FR7612345987650123456789014"
  },
  "remittanceInformationUnstructured": "Ref Number Merchant",
  "interestRate": "string",
  "interestAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "interestTaxRate": "string",
  "interestTaxAmount": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "cardAcceptorName": "string",
  "cardAcceptorAddress": {
    "street": "rue blue",
    "buildingnNumber": "89",
    "city": "Paris",
    "postalCode": "75000",
    "country": "FR"
  },
  "cardId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
  "cardAccountId": "cd9e500c-4bbf-11e9-8646-d663bd873d91",
  "type": "TRANSFER_RECEIVED",
  "transactionType": "TRANSFER",
  "amortizationType": "PARTIAL",
  "cardTransactionStatus": "SETTLED",
  "maskedPan": "524076******8454",
  "loanId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
  "installmentId": "cd9e500c-4bbf-11e9-8646-d663bd873d93",
  "transactionDate": "2018-07-10T10:10:10",
  "retrievalReferenceNumber": "831309002494",
  "authCode": "b950e74c0c49a5c4",
  "authProcessResponseCode": "APPROVED",
  "cashBack": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "settlementDate": "2018-07-10",
  "cardSequenceNumber": "a131faae6c260e4c",
  "walletIdentifier": "APPLE_PAY",
  "posPanInputMode": "PAN_ENTRY_MODE_UNKNOWN",
  "posTerminalAttendance": "ATTENDED_TERMINAL",
  "posTerminalLocation": "ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY",
  "posCardHolderPresence": "CARDHOLDER_PRESENT",
  "posCardPresence": "CARD_PRESENT",
  "posCardHolderAuthenticationMethod": "NOT_AUTHENTICATED",
  "posCountryCode": "ES",
  "moneySend": "YES",
  "atmServiceFee": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "creditCardFee": {
    "currency": "EUR",
    "amount": "5877.78"
  },
  "atmMonthlyCounter": 8,
  "riskScoring": "NO"
}

Transaction details

Properties

Name Type Required Restrictions Description
account accountReference false none Reference to an account by either * IBAN, of a payment accounts
transactionId string true none the Transaction Id can be used as access-ID in the API, where more details on an transaction is offered. If this data attribute is provided this shows that the AIS can get access on more details about this transaction using the GET Transaction Details Request
endToEndId string false none Unique end to end identity.
balance balance false none Balance detail regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance.
bookingDate bgDate false none The Date when an entry is posted to an account on the ASPSPs books.
valueDate bgDate false none The Date when an entry is posted to an account on the ASPSPs books.
operationDate bgDate true none The Date when an entry is posted to an account on the ASPSPs books.
transactionAmount amount true none Amount
originalAmount amount false none Amount
convertedAmount amount false none Amount
exchangeRate ExchangeRate false none Exchange Rate
feeAmount amount false none Amount
atmDisloyaltyFee amount false none Amount
atmSurchargeAmount amount false none Amount
creditorId string(UUID) false none none
creditorName creditorName false none Creditor Name
creditorAccount accountReference false none Reference to an account by either * IBAN, of a payment accounts
debtorId string(UUID) false none none
debtorName debtorName false none Debtor Name
debtorAccount accountReference false none Reference to an account by either * IBAN, of a payment accounts
remittanceInformationUnstructured remittanceInformationUnstructured false none Unstructured remittance information
interestRate string false none none
interestAmount amount false none Amount
interestTaxRate string false none none
interestTaxAmount amount false none Amount
cardAcceptorName string false none none
cardAcceptorAddress Address false none none
cardId string(UUID) false none none
cardAccountId string(UUID) false none none
type string true none none
transactionType string false none none
amortizationType string false none none
cardTransactionStatus string false none none
maskedPan string false none Partial representation for the card PAN number. We never should have access to the complete PAN over this api. Secure data information is accessed with a new PCI compliant API.
loanId string(UUID) false none none
installmentId string(UUID) false none none
transactionDate string(date-time) false none none
retrievalReferenceNumber string false none none
authCode string false none none
authProcessResponseCode string false none none
cashBack amount false none Amount
settlementDate string(date) false none none
cardSequenceNumber string false none none
walletIdentifier string false none none
posPanInputMode string false none none
posTerminalAttendance string false none none
posTerminalLocation string false none none
posCardHolderPresence string false none none
posCardPresence string false none none
posCardHolderAuthenticationMethod string false none none
posCountryCode string false none none
moneySend string false none none
atmServiceFee amount false none Amount
creditCardFee amount false none Amount
atmMonthlyCounter number false none none
riskScoring string false none none

Enumerated Values

Property Value
type TRANSFER_RECEIVED
type TRANSFER_ISSUED
type INTERNAL_TRANSFER_RECEIVED
type INTERNAL_TRANSFER_ISSUED
type DISBURSEMENT
type AMORTIZE
type CREDITOR
type CARD_PAYMENT
type CARD_ATM_WITHDRAWAL
transactionType TRANSFER
transactionType INTEREST
transactionType LOAN
transactionType CARD
amortizationType MONTHLY
amortizationType PARTIAL
amortizationType TOTAL
cardTransactionStatus PENDING
cardTransactionStatus ACCEPTED
cardTransactionStatus SETTLED
cardTransactionStatus REVERSED
cardTransactionStatus FAILED
authProcessResponseCode APPROVED
authProcessResponseCode REFER_TO_CARD_ISSUER
authProcessResponseCode REFER_TO_CARD_ISSUER_SPECIAL_CONDITION
authProcessResponseCode INVALID_MERCHANT
authProcessResponseCode PICK_UP_CARD
authProcessResponseCode DO_NOT_HONOUR
authProcessResponseCode ERROR
authProcessResponseCode PICK_UP_CARD_SPECIAL_CONDITION
authProcessResponseCode HONOUR_WITH_IDENTIFICATION
authProcessResponseCode REQUEST_IN_PROGRESS
authProcessResponseCode APPROVED_FOR_PARTIAL_AMOUNT
authProcessResponseCode APPROVED_VIP
authProcessResponseCode INVALID_TRANSACTION
authProcessResponseCode INVALID_AMOUNT
authProcessResponseCode INVALID_CARD_NUMBER
authProcessResponseCode NO_SUCH_ISSUER
authProcessResponseCode APPROVED_UPDATE_TRACK_3
authProcessResponseCode CUSTOMER_CANCELLATION
authProcessResponseCode CUSTOMER_DISPUTE
authProcessResponseCode RE_ENTER_TRANSACTION
authProcessResponseCode INVALID_RESPONSE
authProcessResponseCode NO_ACTION_TAKEN
authProcessResponseCode SUSPECTED_MALFUNCTION
authProcessResponseCode UNACCEPTABLE_TRANSACTION_FEE
authProcessResponseCode FILE_UPDATE_NOT_SUPPORTED_BY_RECEIVER
authProcessResponseCode NO_SUCH_RECORD
authProcessResponseCode DUPLICATE_RECORD_UPDATE_OLD_RECORD_REPLACED
authProcessResponseCode FILE_UPDATE_FIELD_EDIT_ERROR
authProcessResponseCode FILE_LOCKED_OUT_WHILE_UPDATE
authProcessResponseCode FILE_UPDATE_ERROR_CONTACT_ACQUIRER
authProcessResponseCode FORMAT_ERROR
authProcessResponseCode ISSUER_SIGNED_OFF
authProcessResponseCode COMPLETED_PARTIALLY
authProcessResponseCode PICK_UP_EXPIRED_CARD
authProcessResponseCode SUSPECT_FRAUD
authProcessResponseCode PICK_UP_CARD_ACCEPTOR_CONTACT_ACQUIRER
authProcessResponseCode PICK_UP_CARD_RESTRICTED
authProcessResponseCode PICK_UP_CALL_ACQUIRER_SECURITY
authProcessResponseCode PICK_UP_ALLOWABLE_PIN_TRIES_EXCEEDED
authProcessResponseCode NO_CREDIT_ACCOUNT
authProcessResponseCode REQUESTED_FUNCTION_NOT_SUPPORTED
authProcessResponseCode LOST_CARD_PICK_UP
authProcessResponseCode NO_UNIVERSAL_ACCOUNT
authProcessResponseCode STOLEN_CARD_PICK_UP
authProcessResponseCode NO_INVESTMENT_ACCOUNT
authProcessResponseCode RESERVED_FOR_ISO_USE
authProcessResponseCode DO_NOT_RENEW
authProcessResponseCode NOT_SUFFICIENT_FUNDS
authProcessResponseCode NO_CHECKING_ACCOUNT
authProcessResponseCode NO_SAVINGS_ACCOUNT
authProcessResponseCode EXPIRED_CARD
authProcessResponseCode PIN_INCORRECT
authProcessResponseCode NO_CARD_RECORD
authProcessResponseCode TRANSACTION_NOT_ALLOWED_FOR_CARDHOLDER
authProcessResponseCode TRANSACTION_NOT_ALLOWED_FOR_MERCHANT
authProcessResponseCode SUSPECTED_FRAUD
authProcessResponseCode CARD_ACCEPTOR_CONTACT_ACQUIRER
authProcessResponseCode EXCEEDS_WITHDRAWAL_AMOUNT_LIMIT
authProcessResponseCode RESTRICTED_CARD
authProcessResponseCode SECURITY_VIOLATION
authProcessResponseCode WRONG_ORIGINAL_AMOUNT
authProcessResponseCode ACTIVITY_COUNT_LIMIT_EXCEEDED
authProcessResponseCode CARD_TO_BE_PICKED_UP_AT_ATM
authProcessResponseCode RESPONSE_RECEIVED_TOO_LATE
authProcessResponseCode INVALID_TRANSACTION_CONTACT_CARD_ISSUER
authProcessResponseCode DECLINE_PIN_NOT_CHANGED
authProcessResponseCode PIN_TRIES_EXCEEDED
authProcessResponseCode WRONG_PIN_NUMBER_OF_PIN_TRIES_EXCEEDED
authProcessResponseCode INCONSISTENT_WITH_ORIGINAL
authProcessResponseCode NO_ACCOUNT
authProcessResponseCode ALREADY_REVERSED
authProcessResponseCode NETWORK_ERROR
authProcessResponseCode FOREIGN_NETWORK_ERROR_PIN_CRYPTOGRAPHIC_ERROR
authProcessResponseCode TIME_OUT_AT_ISSUER_SYSTEM_BAD_CVV_VISA
authProcessResponseCode TRANSACTION_FAILED
authProcessResponseCode PRE_AUTHORISATION_TIME_TOO_GREAT
authProcessResponseCode NO_REASON_TO_DECLINE
authProcessResponseCode CANNOT_VERIFY_PIN
authProcessResponseCode PURCHASE_APPROVAL_ONLY
authProcessResponseCode CRYPTOGRAPHIC_FAILURE
authProcessResponseCode AUTHENTICATION_FAILURE
authProcessResponseCode CUTOFF_IS_IN_PROGRESS
authProcessResponseCode ISSUER_UNAVAILABLE
authProcessResponseCode INVALID_RECEIVING_INSTITUTION_ID
authProcessResponseCode TRANSACTION_VIOLATES_LAW
authProcessResponseCode DUPLICATE_TRANSACTION
authProcessResponseCode RECONCILE_ERROR_AUTH_NOT_FOUND
authProcessResponseCode SYSTEM_MALFUNCTION
authProcessResponseCode RESERVED
authProcessResponseCode CHAIN_NOT_FOUND
authProcessResponseCode INCORRECT_CHAIN
authProcessResponseCode MULTIPLE_ADJUSTMENT
authProcessResponseCode CARD_BIN_NOT_ON_FILE
authProcessResponseCode CARD_TYPE_NOT_IN_SERVICE_FOR_THIS_DEVICE
authProcessResponseCode INVALID_OPERATION_FOR_THIS_CARD
authProcessResponseCode SUSPICIOUS_TRANSACTION
authProcessResponseCode CARD_BIN_NOT_IN_SERVICE_FOR_THIS_DEVICE
authProcessResponseCode CARD_NOT_IN_SERVICE_FOR_THIS_DEVICE
authProcessResponseCode REPEAT
authProcessResponseCode PREVIOUS_DOC_NOT_FOUND
authProcessResponseCode INVALID_REVERSAL_AMOUNT
authProcessResponseCode CAPTURE_PERIOD_EXPIRED
authProcessResponseCode INVALID_CAPTURE_AMOUNT
authProcessResponseCode INVALID_PIN_BLOCK_FORMAT
authProcessResponseCode NO_COMMUNICATION_KEYS_AVAILABLE_FOR_USE
authProcessResponseCode OPERATION_KEY_BUFFER_ERROR
authProcessResponseCode INVALID_TERMINAL_ID
authProcessResponseCode WRONG_TRANSACTION_ATTRIBUTES
authProcessResponseCode UNMATCHED_TRANSACTION_CONDITION
authProcessResponseCode THE_TRANSACTION_HAS_ALREADY_BEEN_REVERSED
authProcessResponseCode FIELD_39_IN_RESPONSE_IS_ABSENT
authProcessResponseCode UNEXPECTED_FIELD_39_RECEIVED
authProcessResponseCode DESTINATION_CHANNEL_HAS_DECEASED
authProcessResponseCode CHECK_REQUEST_DECLINED_BY_BILLING_CHANNEL
authProcessResponseCode PAYMENT_REQUEST_DECLINED_BY_BILLING_CHANNEL
authProcessResponseCode CREDIT_AUTHORIZATION_DECLINED
authProcessResponseCode CARD_NOT_IN_SERVICE_FOR_INTERNATIONAL_TRANSFERS
authProcessResponseCode TRANSACTION_DECLINED_BY_TERMINAL
authProcessResponseCode DEVICE_HARDWARE_SOFTWARE_ERROR
authProcessResponseCode WRONG_DEVICE_STATUS
authProcessResponseCode UNKNOWN_STATUS_MESSAGE
authProcessResponseCode HSM_RESPONSE_ERROR
authProcessResponseCode COMMAND_REJECTED_BY_DEVICE
authProcessResponseCode AUTHORIZATION_SYSTEM_MALFUNCTION
authProcessResponseCode COMMAND_ABORTED
authProcessResponseCode ISO_LOG_INSERT_ERROR
authProcessResponseCode FIELD_MAPPER_INTERNAL_ERROR
authProcessResponseCode LIMIT_NOT_SETUPED
authProcessResponseCode MESSAGE_AUTHENTICATION_KEY_NOT_DEFINED
authProcessResponseCode MESSAGE_AUTHENTICATION_FIELD_MISSING
authProcessResponseCode MAC_VERIFICATION_ERROR
authProcessResponseCode MAC_GENERATION_ERROR
authProcessResponseCode SECURITY_HARDWARE_SOFTWARE_ERROR
authProcessResponseCode SECURITY_MODULE_CHANNEL_TIMEOUT
authProcessResponseCode LINK_IS_INACTIVE_DEVICE_IS_NOT_CONNECTED
authProcessResponseCode DEVICE_IS_NOT_IN_TRANSACTION
authProcessResponseCode DEVICE_IS_ALREADY_IN_TRANSACTION
authProcessResponseCode DEVICE_RESPONSE_TIMED_OUT
authProcessResponseCode AMOUNT_IS_TOO_SMALL_DISPENSE_NOT_POSSIBLE
authProcessResponseCode AMOUNT_IS_TOO_BIG_DISPENSE_NOT_POSSIBLE
authProcessResponseCode AMOUNT_HAS_CENTS
authProcessResponseCode DISPENSE_NOT_POSSIBLE
authProcessResponseCode INVALID_AUTHORIZATION_AMOUNT
authProcessResponseCode THE_CARDHOLDER_HAS_NOT_TAKEN_MONEY
authProcessResponseCode NON_WORKING_TIME_FOR_THIS_DEVICE
authProcessResponseCode DEVICE_NOT_CONFIGURED_OR_NOT_VALID
authProcessResponseCode DEVICE_CONTRACT_NOT_VALID
authProcessResponseCode DEVICE_NOT_ON_FILE
authProcessResponseCode REQUESTED_OPERATION_NOT_ON_FILE_FOR_THIS_DEVICE
authProcessResponseCode OPERATION_IS_DISABLED_FOR_THIS_DEVICE
authProcessResponseCode CURRENCY_IS_NOT_AVAILABLE_FOR_DEVICE
authProcessResponseCode FRAUD_RULES_BROKEN
authProcessResponseCode INTERNAL_SYSTEM_MALFUNCTION
authProcessResponseCode TRACK_2_FORMAT_ERROR
authProcessResponseCode PIN_BLOCK_CONVERSION_ERROR
authProcessResponseCode THE_CARDHOLDER_HAS_NOT_TAKEN_HIS_CARD
authProcessResponseCode DEVICE_IS_CONNECTED_TO_ANOTHER_CONTROLLER
authProcessResponseCode SOURCE_CONTRACT_EXPIRED
authProcessResponseCode MERCHANT_CARD_IS_NOT_ON_FILE
authProcessResponseCode MERCHANT_CARD_EXPIRED
authProcessResponseCode MERCHANT_CARD_CONTRACT_HAS_NOT_BEEN_APPROVED
authProcessResponseCode DEVICE_CONTRACT_IS_NOT_ON_FILE
authProcessResponseCode DEVICE_AMOUNT_LIMITS_EXCEEDED
authProcessResponseCode REJECTED_SOME_DOCUMENTS_IN_THIS_BATCH
authProcessResponseCode WRONG_INVOICE_PARTY
authProcessResponseCode DEVICE_FREQUENCY_LIMITS_EXCEEDED
authProcessResponseCode CAT_TRANSACTION_IS_NOT_COMPATIBLE_WITH_MCC_6011
authProcessResponseCode ATTRIBUTES_FOR_CHIP_CARD_ARE_PRESENT_BUT_SERVICE_CODE_NOT_BELONGS_TO_INTEGRATED_CIRCUIT_CARD
authProcessResponseCode MERCHANT_CARD_AMOUNT_LIMITS_EXCEEDED
authProcessResponseCode MERCHANT_CARD_FREQUENCY_LIMITS_EXCEEDED
authProcessResponseCode CASHBACK_DISABLED
authProcessResponseCode EXCEEDS_CASHBACK_AMOUNT_LIMIT
walletIdentifier APPLE_PAY
walletIdentifier GOOGLE_PAY
walletIdentifier SAMSUNG_PAY
walletIdentifier MDES_FOR_MERCHANTS
walletIdentifier FIT_PAY
walletIdentifier FITBIT_PAY
posPanInputMode PAN_ENTRY_MODE_UNKNOWN
posPanInputMode PAN_MANUAL_ENTRY
posPanInputMode PAN_AUTO_ENTRY_VIA_MAGNETIC_STRIP
posPanInputMode PAN_AUTO_ENTRY_VIA_CHIP_ONLINE_AUTHORIZED_TRANSACTION
posPanInputMode PAN_AUTO_ENTRY_VIA_CHIP_MASTERCARD
posPanInputMode PAN_AUTO_ENTRY_VIA_CONTACTLESS_M_CHIP
posPanInputMode CONTACTLESS_M_CHIP_MASTERCARD
posPanInputMode PAN_ENTRY_VIA_ELECTRONIC_COMMERCE_INCLUDING_REMOTE_CHIP
posPanInputMode CREDENTIAL_ON_FILE
posPanInputMode PAN_MANUAL_ENTRY_USING_A_TERMINAL
posPanInputMode PAN_AUTO_ENTRY_VIA_MAGNETIC_STRIPE
posPanInputMode PAN_AUTO_ENTRY_VIA_ELECTRONIC_COMMERCE
posPanInputMode PAN_AUTO_ENTRY_VIA_SERVER
posPanInputMode MAGNETIC_STRIPE
posPanInputMode PAN_AUTO_ENTRY_WITH_CONTACTLESS_MAGNETIC_STRIPE
posPanInputMode CONTACTLESS_INPUT
posPanInputMode INTEGRATED_CIRCUIT_CARD
posPanInputMode PAN_AUTO_ENTRY_VIA_CHIP_OFFLINE_AUTHORIZED_TRANSACTION
posTerminalAttendance ATTENDED_TERMINAL
posTerminalAttendance UNATTENDED_TERMINAL
posTerminalAttendance NO_TERMINAL_USED
posTerminalLocation ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY
posTerminalLocation OFF_PREMISES_OF_CARD_ACCEPTOR_FACILITY_MERCHANT_TERMINAL
posTerminalLocation OFF_PREMISES_OF_CARD_ACCEPTOR_FACILITY_CARDHOLDER_TERMINAL
posTerminalLocation NO_TERMINAL_USED
posTerminalLocation ON_PREMISES_OF_CARD_ACCEPTOR_FACILITY_CARDHOLDER_TERMINAL
posCardHolderPresence CARDHOLDER_PRESENT
posCardHolderPresence CARDHOLDER_NOT_PRESENT_UNSPECIFIED
posCardHolderPresence CARDHOLDER_NOT_PRESENT_MAIL_FACSIMILE_ORDER
posCardHolderPresence CARDHOLDER_NOT_PRESENT_PHONE_OR_AUTOMATED_RESPONSE_UNIT
posCardHolderPresence STANDING_ORDER_RECURRING_TRANSACTIONS
posCardHolderPresence CARDHOLDER_NOT_PRESENT_ELECTRONIC_ORDER
posCardHolderPresence UNKNOWN
posCardPresence CARD_PRESENT
posCardPresence CARD_NOT_PRESENT
posCardPresence UNKNOWN
posCardHolderAuthenticationMethod NOT_AUTHENTICATED
posCardHolderAuthenticationMethod PIN
posCardHolderAuthenticationMethod ELECTRONIC_SIGNATURE_ANALYSIS
posCardHolderAuthenticationMethod MANUAL_SIGNATURE_VERIFICATION
posCardHolderAuthenticationMethod OTHER_MANUAL_VERIFICATION
posCardHolderAuthenticationMethod UNKNOWN
posCardHolderAuthenticationMethod OTHER_SYSTEMATIC_VERIFICATION

Address

{
  "street": "rue blue",
  "buildingnNumber": "89",
  "city": "Paris",
  "postalCode": "75000",
  "country": "FR"
}

Properties

Name Type Required Restrictions Description
street string false none none
buildingNumber string false none none
city string false none none
postalCode string false none none
country CountryCode false none ISO 3166 ALPHA2 country code

CountryCode

"SE"

ISO 3166 ALPHA2 country code

Properties

Name Type Required Restrictions Description
anonymous string false none ISO 3166 ALPHA2 country code

creditorName

"Creditor Name"

Creditor Name

Properties

Name Type Required Restrictions Description
anonymous string false none Creditor Name

debtorName

"Debtor Name"

Debtor Name

Properties

Name Type Required Restrictions Description
anonymous string false none Debtor Name

ExchangeRate

{
  "sourceCurrency": "EUR",
  "rate": "10.25",
  "targetCurrency": "EUR",
  "rateDate": "2020-02-20",
  "rateContract": "string"
}

Exchange Rate

Properties

Name Type Required Restrictions Description
sourceCurrency currencyCode true none ISO 4217 Alpha 3 currency code
rate rate true none Rate in (%)
targetCurrency currencyCode true none ISO 4217 Alpha 3 currency code
rateDate string(date) false none none
rateContract string false none none

currencyCode

"EUR"

*ISO 4217 Alpha 3 currency code *

Properties

Name Type Required Restrictions Description
anonymous string false none ISO 4217 Alpha 3 currency code

rate

"10.25"

Rate in (%)

Properties

Name Type Required Restrictions Description
anonymous string false none Rate in (%)

bgDate

"2017-10-25T15:30:35.035Z"

*The Date when an entry is posted to an account on the ASPSPs books. *

Properties

Name Type Required Restrictions Description
anonymous string false none The Date when an entry is posted to an account on the ASPSPs books.

_linksAccountReport

{
  "first": {
    "href": "/v1/consents/1234-wertiq-983/status"
  },
  "next": {
    "href": "/v1/consents/1234-wertiq-983/status"
  },
  "previous": {
    "href": "/v1/consents/1234-wertiq-983/status"
  },
  "last": {
    "href": "/v1/consents/1234-wertiq-983/status"
  }
}

Properties

Name Type Required Restrictions Description
first hrefType false none Link to a resource
next hrefType false none Link to a resource
previous hrefType false none Link to a resource
last hrefType false none Link to a resource