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)
getAccountList
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8
X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts \
-H 'Accept: application/json' \
-H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8' \
-H 'X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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',
'X-Request-ID': '99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
}
r = requests.get('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts', 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"},
"X-Request-ID": []string{"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://psd2.sandbox.orangebank.es/xs2a/v1/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/accounts
Read Account List
Remark: Note that the /consents endpoint optionally offers to grant an access on all available payment accounts of a PSU. In this case, this endpoint will deliver the information about all available payment accounts of the PSU at this ASPSP.
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. |
X-Request-ID | header | string(uuid) | false | ID of the request, unique to the call, as determined by the initiating party. |
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
{
"accounts": [
{
"resourceId": "string",
"name": "string",
"status": "enabled",
"internalStatus": "OPEN",
"product": "string",
"withholdingTax": "string",
"interestRate": "string",
"openingDate": "string",
"iban": "FR7612345987650123456789014",
"currency": "EUR",
"bic": "AAAADEBBXXX",
"balances": [
{
"balanceAmount": {
"currency": "EUR",
"amount": "5877.78"
},
"balanceType": "closingBooked"
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | accountListResponse-200_json |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Request-ID | string | uuid | ID of the request, unique to the call, as determined by the initiating party. |
get__v1_accounts_{accountId}
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId} HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8
X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId} \
-H 'Accept: application/json' \
-H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8' \
-H 'X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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',
'X-Request-ID': '99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
}
r = requests.get('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}', 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"},
"X-Request-ID": []string{"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://psd2.sandbox.orangebank.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. |
X-Request-ID | header | string(uuid) | false | ID of the request, unique to the call, as determined by the initiating party. |
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 |
get__v1_accounts_{accountId}_balances
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/balances HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8
X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/balances \
-H 'Accept: application/json' \
-H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8' \
-H 'X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/balances',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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',
'X-Request-ID': '99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
}
r = requests.get('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/balances', 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"},
"X-Request-ID": []string{"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://psd2.sandbox.orangebank.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 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. |
X-Request-ID | header | string(uuid) | false | ID of the request, unique to the call, as determined by the initiating party. |
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 |
get__v1_accounts_{accountId}_transactions
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8
X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked \
-H 'Accept: application/json' \
-H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8' \
-H 'X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/accounts/{accountId}/transactions?bookingStatus=booked',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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',
'X-Request-ID': '99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
}
r = requests.get('https://psd2.sandbox.orangebank.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"},
"X-Request-ID": []string{"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://psd2.sandbox.orangebank.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. |
X-Request-ID | header | string(uuid) | false | ID of the request, unique to the call, as determined by the initiating party. |
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
- "booked",
- "pending" and
- "both" "booked" shall be supported by the ASPSP. To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend
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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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 |
post__v1_consents
Code samples
POST https://psd2.sandbox.orangebank.es/xs2a/v1/consents HTTP/1.1
Host: psd2.sandbox.orangebank.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.sandbox.orangebank.es/xs2a/v1/consents \
-H 'Content-Type: application/json; charset=UTF-8' \
-H 'Accept: application/json' \
-H 'PSU-ID: user1@company.com'
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.sandbox.orangebank.es/xs2a/v1/consents',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
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.sandbox.orangebank.es/xs2a/v1/consents',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("https://psd2.sandbox.orangebank.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.sandbox.orangebank.es/xs2a/v1/consents', 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.sandbox.orangebank.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
}
Parameters
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": "e521cf62-a45f-49c5-8372-94853fffeb55",
"_links": {
"status": {
"href": "/v1/consents/1234-wertiq-983/status"
}
}
}
Responses
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
- DECOUPLED |
getConsentInformation
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId} HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId} \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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.sandbox.orangebank.es/xs2a/v1/consents/{consentId}', 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.sandbox.orangebank.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.
Parameters
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"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | consentInformationResponse-200_json |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
delete__v1_consents_{consentId}
Code samples
DELETE https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId} HTTP/1.1
Host: psd2.sandbox.orangebank.es
# You can also use wget
curl -X DELETE https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}',
{
method: 'DELETE'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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.sandbox.orangebank.es/xs2a/v1/consents/{consentId}')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://psd2.sandbox.orangebank.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.
Parameters
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.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | NO_CONTENT | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
get__v1_consents_{consentId}_status
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}/status HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}/status \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/consents/{consentId}/status',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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.sandbox.orangebank.es/xs2a/v1/consents/{consentId}/status', 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.sandbox.orangebank.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.
Parameters
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"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | consentStatusResponse-200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
Payment Instrument Issuer Service (PIIS)
post__v1_funds-confirmations
Code samples
POST https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations HTTP/1.1
Host: psd2.sandbox.orangebank.es
Content-Type: application/json; charset=UTF-8
Accept: application/json
Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8
X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
# You can also use wget
curl -X POST https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations \
-H 'Content-Type: application/json; charset=UTF-8' \
-H 'Accept: application/json' \
-H 'Consent-ID: 57e61d8e-7afd-4e47-ac2c-2183a46162d8' \
-H 'X-Request-ID: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
const inputBody = '{
"accountReference": {
"iban": "FR7612345987650123456789014"
},
"instructedAmount": {
"currency": "EUR",
"amount": "5877.78"
}
}';
const headers = {
'Content-Type':'application/json; charset=UTF-8',
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"accountReference": {
"iban": "FR7612345987650123456789014"
},
"instructedAmount": {
"currency": "EUR",
"amount": "5877.78"
}
};
const headers = {
'Content-Type':'application/json; charset=UTF-8',
'Accept':'application/json',
'Consent-ID':'57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID':'99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations");
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',
'Consent-ID': '57e61d8e-7afd-4e47-ac2c-2183a46162d8',
'X-Request-ID': '99391c7e-ad88-49ec-a2ad-99ddcb1f7721'
}
r = requests.post('https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations', 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"},
"Consent-ID": []string{"57e61d8e-7afd-4e47-ac2c-2183a46162d8"},
"X-Request-ID": []string{"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://psd2.sandbox.orangebank.es/xs2a/v1/funds-confirmations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/funds-confirmations
Confirm an account funds
Confirms that the the account disposes of the given amount.
Body parameter
{
"accountReference": {
"iban": "FR7612345987650123456789014"
},
"instructedAmount": {
"currency": "EUR",
"amount": "5877.78"
}
}
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. |
X-Request-ID | header | string(uuid) | false | ID of the request, unique to the call, as determined by the initiating party. |
body | body | object | false | none |
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
{
"fundsAvailable": false
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Body of the JSON response for a successful confirmation of funds request. | confirmationOfFundsResponse-200_json |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
Payment Initiation Service (PIS)
Perform SEPA transfer
Code samples
POST https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer HTTP/1.1
Host: psd2.sandbox.orangebank.es
Content-Type: application/json
Accept: application/json; charset=UTF-8
ASPSP-SCA-Approach: DECOUPLED
X-Request-ID: 497f6eca-6276-4993-bfeb-53cbbbba6f08
PSU-IP-Address: string
# You can also use wget
curl -X POST https://psd2.sandbox.orangebank.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: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'PSU-IP-Address: string'
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':'497f6eca-6276-4993-bfeb-53cbbbba6f08',
'PSU-IP-Address':'string'
};
fetch('https://psd2.sandbox.orangebank.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);
});
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':'497f6eca-6276-4993-bfeb-53cbbbba6f08',
'PSU-IP-Address':'string'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("https://psd2.sandbox.orangebank.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': '497f6eca-6276-4993-bfeb-53cbbbba6f08',
'PSU-IP-Address': 'string'
}
r = requests.post('https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer', 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{"497f6eca-6276-4993-bfeb-53cbbbba6f08"},
"PSU-IP-Address": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://psd2.sandbox.orangebank.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_json | 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 |
getPaymentInformation
Code samples
GET https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId} HTTP/1.1
Host: psd2.sandbox.orangebank.es
Accept: application/json; charset=UTF-8
X-Request-ID: 497f6eca-6276-4993-bfeb-53cbbbba6f08
# You can also use wget
curl -X GET https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId} \
-H 'Accept: application/json; charset=UTF-8' \
-H 'X-Request-ID: 497f6eca-6276-4993-bfeb-53cbbbba6f08'
const headers = {
'Accept':'application/json; charset=UTF-8',
'X-Request-ID':'497f6eca-6276-4993-bfeb-53cbbbba6f08'
};
fetch('https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json; charset=UTF-8',
'X-Request-ID':'497f6eca-6276-4993-bfeb-53cbbbba6f08'
};
fetch('https://psd2.sandbox.orangebank.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.sandbox.orangebank.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': '497f6eca-6276-4993-bfeb-53cbbbba6f08'
}
r = requests.get('https://psd2.sandbox.orangebank.es/xs2a/v1/payments/sepa-credit-transfer/{paymentId}', 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{"497f6eca-6276-4993-bfeb-53cbbbba6f08"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://psd2.sandbox.orangebank.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:
- 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).
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:
|
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
- IBAN, of a payment accounts
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:
- "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 |
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:
- iban
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": "e521cf62-a45f-49c5-8372-94853fffeb55",
"_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
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
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
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
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
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
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. |
balanceList
[
{
"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 migght be restricted to the current ballance.
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 migght be restricted to the current ballance. |
accountListResponse-200_json
{
"accounts": [
{
"resourceId": "string",
"name": "string",
"status": "enabled",
"internalStatus": "OPEN",
"product": "string",
"withholdingTax": "string",
"interestRate": "string",
"openingDate": "string",
"iban": "FR7612345987650123456789014",
"currency": "EUR",
"bic": "AAAADEBBXXX",
"balances": [
{
"balanceAmount": {
"currency": "EUR",
"amount": "5877.78"
},
"balanceType": "closingBooked"
}
]
}
]
}
Array of objects (accountDetails)
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [accountDetails] | true | none | [The ASPSP shall give at least one of the account reference identifiers: - iban ] |
accountDetails
{
"resourceId": "string",
"name": "string",
"status": "enabled",
"internalStatus": "OPEN",
"product": "string",
"withholdingTax": "string",
"interestRate": "string",
"openingDate": "string",
"iban": "FR7612345987650123456789014",
"currency": "EUR",
"bic": "AAAADEBBXXX",
"balances": [
{
"balanceAmount": {
"currency": "EUR",
"amount": "5877.78"
},
"balanceType": "closingBooked"
}
]
}
The ASPSP shall give at least one of the account reference identifiers:
- iban
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 | currencyCode | true | none | ISO 4217 Alpha 3 currency code |
bic | bicfi | true | none | BICFI |
balances | balanceList | false | none | A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. |
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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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:
|
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 |
confirmationOfFundsResponse-200_json
{
"fundsAvailable": false
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fundsAvailable | fundsAvailable | true | none | none |
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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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": "2019-08-24",
"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 |
fundsAvailable
false
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | boolean | false | none | none |