API Explorer
-
Account Information Service (AIS)
- Consent status request
- Create consent
- Delete Consent
- Get Consent Authorisation Sub-Resources Request
- Get Consent Request
- Read Account Details
- Read Account List
- Read Balance
- Read the SCA status of the consent authorisation
- Read transaction list of a card account
- Read transaction list of an account
- Start the authorisation process for a consent
- Update PSU Data for consents
- Confirmation of Funds Service (PIIS)
-
Payment Initiation Service (PIS)
- Get Cancellation Authorisation Sub-Resources Request
- Get Payment Information
- Get Payment Initiation Authorisation Sub-Resources Request
- Payment initiation request
- Payment initiation status request
- Read the SCA Status of the payment authorisation
- Read the SCA status of the payment cancellation's authorisation
- Start the authorisation process for a payment initiation
- Start the authorisation process for the cancellation of the addressed payment
- Update PSU Data for payment initiation cancellation
- Update PSU data for payment initiation
-
Account Information Service (AIS)
-
Consent status request
-
Create consent
-
Delete Consent
-
Get Consent Authorisation Sub-Resources Request
-
Get Consent Request
-
Read Account Details
-
Read Account List
-
Read Balance
-
Read the SCA status of the consent authorisation
-
Read transaction list of a card account
-
Read transaction list of an account
-
Start the authorisation process for a consent
-
Update PSU Data for consents
-
Consent status request
-
Confirmation of Funds Service (PIIS)
-
Payment Initiation Service (PIS)
-
Get Cancellation Authorisation Sub-Resources Request
-
Get Payment Information
-
Get Payment Initiation Authorisation Sub-Resources Request
-
Payment initiation request
-
Payment initiation status request
-
Read the SCA Status of the payment authorisation
-
Read the SCA status of the payment cancellation's authorisation
-
Start the authorisation process for a payment initiation
-
Start the authorisation process for the cancellation of the addressed payment
-
Update PSU Data for payment initiation cancellation
-
Update PSU data for payment initiation
-
Get Cancellation Authorisation Sub-Resources Request
v1.3 filtered by tag: Berlin-Group-M (25 APIs)
Consent status request
Read the status of an account information consent resource.
Authentication is Mandatory
URL Parameters:
- CONSENTID: CONSENTID
JSON response body fields:
-
consentStatus: consentStatus
-
jvalueToCaseclass: jvalueToCaseclass
{
"consentStatus":"received"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
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.
Side Effects
When this Consent Request is a request where the "recurringIndicator" equals "true",
and if it exists already a former consent for recurring access on account information
for the addressed PSU, then the former consent automatically expires as soon as the new
consent request is authorised by the PSU.
Optional Extension:
As an option, an ASPSP might optionally accept a specific access right on the access on all psd2 related services for all available accounts.
As another option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account.
The relation to accounts is then handled afterwards between PSU and ASPSP.
This option is not supported for the Embedded SCA Approach.
As a last option, an ASPSP might in addition accept a command with access rights
* to see the list of available payment accounts or
* to see the list of available payment accounts with balances.
Authentication is Mandatory
JSON request body fields:
-
[access](/glossary#API.Access Control): access
-
allPsd2: allPsd2
-
availableAccounts: availableAccounts
-
balances: balances
-
bban: bban
-
combinedServiceIndicator: combinedServiceIndicator
-
currency: EUR
-
frequencyPerDay: frequencyPerDay
-
iban: DE91 1000 0000 0123 4567 89
-
maskedPan: maskedPan
-
msisdn: msisdn
-
pan: pan
-
recurringIndicator: recurringIndicator
-
validUntil: validUntil
JSON response body fields:
-
_links: _links
-
consentId: consentId
-
consentStatus: consentStatus
-
startAuthorisation: startAuthorisation
{
"consentId":"1234-wertiq-983",
"consentStatus":"received",
"_links":{
"startAuthorisation":"/v1.3/consents/1234-wertiq-983/authorisations"
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Delete Consent
The TPP can delete an account information consent object if needed.
Authentication is Mandatory
URL Parameters:
- CONSENTID: CONSENTID
JSON response body fields:
{
"jsonString":"{}"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get Consent Authorisation Sub-Resources Request
Return a list of all authorisation subresources IDs which have been created.
This function returns an array of hyperlinks to all generated authorisation sub-resources.
Authentication is Mandatory
URL Parameters:
- CONSENTID: CONSENTID
JSON response body fields:
-
authorisationIds: authorisationIds
-
jvalueToCaseclass: jvalueToCaseclass
{
"authorisationIds":"faa3657e-13f0-4feb-a6c3-34bf21a9ae8e"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get Consent Request
Returns the content of an account information consent object.
This is returning the data for the TPP especially in cases,
where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach.
Authentication is Mandatory
URL Parameters:
- CONSENTID: CONSENTID
JSON response body fields:
-
[access](/glossary#API.Access Control): access
-
bban: bban
-
combinedServiceIndicator: combinedServiceIndicator
-
consentStatus: consentStatus
-
currency: EUR
-
frequencyPerDay: frequencyPerDay
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
-
lastActionDate: lastActionDate
-
maskedPan: maskedPan
-
msisdn: msisdn
-
pan: pan
-
recurringIndicator: recurringIndicator
-
validUntil: validUntil
{
"access":{
"accounts":[{
"bban":"BARC12345612345678",
"maskedPan":"123456xxxxxx1234",
"iban":"FR7612345987650123456789014",
"currency":"EUR",
"msisdn":"+49 170 1234567",
"pan":"5409050000000000"
},{
"bban":"BARC12345612345678",
"maskedPan":"123456xxxxxx1234",
"iban":"FR7612345987650123456789014",
"currency":"EUR",
"msisdn":"+49 170 1234567",
"pan":"5409050000000000"
}]
},
"recurringIndicator":false,
"validUntil":"2020-12-31",
"frequencyPerDay":4,
"combinedServiceIndicator":false,
"lastActionDate":"2019-06-30",
"consentStatus":"received"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read Account Details
Reads details about an account, with balances where required.
It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.
The addressed details of this account depends then on the stored consent addressed by consentId,
respectively the OAuth2 access token. NOTE: The account-id can represent a multicurrency account.
In this case the currency code is set to "XXX". Give detailed information about the addressed account.
Give detailed information about the addressed account together with balance information
Authentication is Mandatory
URL Parameters:
- ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
JSON response body fields:
-
_links: _links
-
balances: balances
-
bban: bban
-
bic: BUKBGB22
-
cashAccountType: cashAccountType
-
currency: EUR
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
-
linkedAccounts: linkedAccounts
-
msisdn: msisdn
-
product: product
-
resourceId: resourceId
-
usage: usage
{
"cashAccountType":{
},
"product":"product",
"resourceId":"resourceId",
"bban":"BARC12345612345678",
"_links":{
"balances":"/v1.3/payments/sepa-credit-transfers/1234-wertiq-983",
"transactions":"/v1.3/payments/sepa-credit-transfers/1234-wertiq-983"
},
"usage":"PRIV",
"balances":"",
"iban":"FR7612345987650123456789014",
"linkedAccounts":"linkedAccounts",
"name":"name",
"currency":"EUR",
"details":"details",
"msisdn":"+49 170 1234567",
"bic":"AAAADEBBXXX",
"status":{
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read Account List
Read the identifiers of the available payment account together with
booking balance information, depending on the consent granted.
It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.
The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId,
respectively the OAuth2 access token.
Returns all identifiers of the accounts, to which an account access has been granted to through
the /consents endpoint by the PSU.
In addition, relevant information about the accounts and hyperlinks to corresponding account
information resources are provided if a related consent has been already granted.
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.
Authentication is Mandatory
JSON response body fields:
-
_links: _links
-
amount: 10.12
-
balanceAmount: balanceAmount
-
balanceType: balanceType
-
balances: balances
-
bban: bban
-
bic: BUKBGB22
-
cashAccountType: cashAccountType
-
currency: EUR
-
href: href
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
-
lastChangeDateTime: lastChangeDateTime
-
lastCommittedTransaction: lastCommittedTransaction
-
product: product
-
referenceDate: referenceDate
-
resourceId: resourceId
{
"accounts":[{
"resourceId":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"iban":"DE91 1000 0000 0123 4567 89",
"bban":" 1000 0000 0123 4567 89",
"currency":"EUR",
"name":"TOM",
"product":"AC",
"cashAccountType":"AC",
"bic":"AAAADEBBXXX",
"balances":{
"balanceAmount":{
"currency":"EUR",
"amount":"50.89"
},
"balanceType":"AC",
"lastChangeDateTime":"2020-07-02T10:23:57.81Z",
"referenceDate":"2020-07-02",
"lastCommittedTransaction":"entryReference of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known."
},
"_links":{
"balances":{
"href":"/v1.3/accounts/8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0/balances"
}
}
}]
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
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.
Authentication is Mandatory
URL Parameters:
- ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
JSON response body fields:
-
amount: 10.12
-
balanceAmount: balanceAmount
-
balanceType: balanceType
-
balances: balances
-
currency: EUR
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
-
lastChangeDateTime: lastChangeDateTime
-
lastCommittedTransaction: lastCommittedTransaction
-
referenceDate: referenceDate
{
"account":{
"iban":"DE91 1000 0000 0123 4567 89"
},
"balances":[{
"balanceAmount":{
"currency":"EUR",
"amount":"50.89"
},
"balanceType":"AC",
"lastChangeDateTime":"yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"lastCommittedTransaction":"String",
"referenceDate":"2018-03-08"
}]
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read the SCA status of the consent authorisation
This method returns the SCA status of a consent initiation's authorisation sub-resource.
Authentication is Mandatory
URL Parameters:
-
AUTHORISATIONID: AUTHORISATIONID
-
CONSENTID: CONSENTID
JSON response body fields:
-
jvalueToCaseclass: jvalueToCaseclass
-
scaStatus: scaStatus
{
"scaStatus":"started"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read transaction list of a card account
Reads account data from a given card account addressed by "account-id".
Authentication is Mandatory
URL Parameters:
- ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
JSON response body fields:
-
_links: _links
-
amount: 10.12
-
booked: booked
-
bookingDate: bookingDate
-
cardAcceptorAddress: cardAcceptorAddress
-
cardAccount: cardAccount
-
cardTransactionId: cardTransactionId
-
country: country
-
currency: EUR
-
href: href
-
invoiced: invoiced
-
jvalueToCaseclass: jvalueToCaseclass
-
maskedPan: maskedPan
-
originalAmount: originalAmount
-
pending: pending
-
proprietaryBankTransactionCode: proprietaryBankTransactionCode
-
transactionAmount: transactionAmount
-
transactionDate: transactionDate
-
transactionDetails: transactionDetails
{
"cardAccount":{
"maskedPan":"525412******3241"
},
"transactions":{
"booked":[{
"cardTransactionId":"201710020036959",
"transactionAmount":{
"currency":"EUR",
"amount":"256.67"
},
"transactionDate":"2017-10-25",
"bookingDate":"2017-10-26",
"originalAmount":{
"currency":"SEK",
"amount":"2499"
},
"cardAcceptorAddress":{
"city":"STOCKHOLM",
"country":"SE"
},
"maskedPan":"525412******3241",
"proprietaryBankTransactionCode":"PURCHASE",
"invoiced":false,
"transactionDetails":"WIFIMARKET.SE"
},{
"cardTransactionId":"201710020091863",
"transactionAmount":{
"currency":"EUR",
"amount":"10.72"
},
"transactionDate":"2017-10-25",
"bookingDate":"2017-10-26",
"originalAmount":{
"currency":"SEK",
"amount":"99"
},
"cardAcceptorAddress":{
"city":"STOCKHOLM",
"country":"SE"
},
"maskedPan":"525412******8999",
"proprietaryBankTransactionCode":"PURCHASE",
"invoiced":false,
"transactionDetails":"ICA SUPERMARKET SKOGHA"
}],
"pending":[],
"_links":{
"cardAccount":{
"href":"/v1.3/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99"
}
}
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read transaction list of an account
Read transaction reports or transaction lists of a given account ddressed by "account-id",
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.
Authentication is Mandatory
URL Parameters:
- ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
JSON response body fields:
-
_links: _links
-
amount: 10.12
-
booked: booked
-
bookingDate: bookingDate
-
currency: EUR
-
debtorName: debtorName
-
href: href
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
-
pending: pending
-
remittanceInformationUnstructured: remittanceInformationUnstructured
-
transactionAmount: transactionAmount
-
transactionId: transactionId
-
valueDate: valueDate
{
"account":{
"iban":"DE2310010010123456788"
},
"transactions":{
"booked":[{
"transactionId":"1234567",
"creditorName":"John Miles",
"creditorAccount":{
"iban":"DE67100100101306118605"
},
"transactionAmount":{
"currency":"EUR",
"amount":"256.67"
},
"bookingDate":"2017-10-25",
"valueDate":"2017-10-26",
"remittanceInformationUnstructured":"Example 1"
},{
"transactionId":"1234568",
"debtorName":"Paul Simpson",
"debtorAccount":{
"iban":"NL76RABO0359400371"
},
"transactionAmount":{
"currency":"EUR",
"amount":"343.01"
},
"bookingDate":"2017-10-25",
"valueDate":"2017-10-26",
"remittanceInformationUnstructured":"Example 2"
}],
"pending":[{
"transactionId":"1234569",
"creditorName":"Claude Renault",
"creditorAccount":{
"iban":"FR7612345987650123456789014"
},
"transactionAmount":{
"currency":"EUR",
"amount":"-100.03"
},
"valueDate":"2017-10-26",
"remittanceInformationUnstructured":"Example 3"
}],
"_links":{
"account":{
"href":"/v1.3/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f"
}
}
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Start the authorisation process for a consent
Create an authorisation sub-resource and start the authorisation process of a consent.
The message might in addition transmit authentication and authorisation related data.
his method is iterated n times for a n times SCA authorisation in a corporate context,
each creating an own authorisation sub-endpoint for the corresponding PSU authorising the consent.
The ASPSP might make the usage of this access method unnecessary, since the related authorisation
resource will be automatically created by the ASPSP after the submission of the consent data with the
first POST consents call. The start authorisation process is a process which is needed for creating
a new authorisation or cancellation sub-resource.
This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink
in the preceding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using
the extended forms.
* 'startAuthorisationWithPsuIdentfication',
* 'startAuthorisationWithPsuAuthentication'
* 'startAuthorisationWithEncryptedPsuAuthentication'
* 'startAuthorisationWithAuthentciationMethodSelection'
* The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding Payment Cancellation
Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by
using the extended forms as indicated above.
* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation.
* The signing basket needs to be authorised yet.
Authentication is Mandatory
URL Parameters:
- CONSENTID: CONSENTID
JSON request body fields:
JSON response body fields:
-
_links: _links
-
href: href
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"scaStatus":"received",
"psuMessage":"Please use your BankApp for transaction Authorisation.",
"_links":{
"scaStatus":{
"href":"/v1.3/consents/qwer3456tzui7890/authorisations/123auth456"
}
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Update PSU Data for consents
This method update PSU data on the consents resource if needed. It may authorise a consent within the Embedded
SCA Approach where needed. Independently from the SCA Approach it supports
e.g. the selection of the authentication method and a non-SCA PSU authentication.
This methods updates PSU data on the cancellation authorisation resource if needed.
There are several possible Update PSU Data requests in the context of a consent request if needed,
which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable
for
* the selection of authentication methods, before choosing the actual SCA approach.
* Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for
* adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request,
or if no OAuth2 access token is used, or
* the selection of authentication methods.
* Embedded SCA Approach: The Update PSU Data Request might be used
* to add credentials as a first factor authentication data of the PSU and
* to select the authentication method and
* transaction authorisation.
The SCA Approach might depend on the chosen SCA method. For that reason,
the following possible Update PSU Data request can apply to all SCA approaches:
* Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path:
* Update PSU Identification * Update PSU Authentication
* Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present.
Maybe in a later version the access path will change.
* Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present.
Maybe in a later version the access path will change.
Authentication is Mandatory
URL Parameters:
-
AUTHORISATIONID: AUTHORISATIONID
-
CONSENTID: CONSENTID
JSON response body fields:
{
"jsonString":"{}"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Confirmation of Funds Request
Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is available at point
of time of the request on an account linked to a given tuple card issuer(TPP)/card number, or addressed by
IBAN and TPP respectively. If the related extended services are used a conditional Consent-ID is contained
in the header. This field is contained but commented out in this specification.
Authentication is Mandatory
JSON request body fields:
-
amount: 10.12
-
currency: EUR
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
JSON response body fields:
-
fundsAvailable: fundsAvailable
-
jvalueToCaseclass: jvalueToCaseclass
{
"fundsAvailable":true
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get Cancellation Authorisation Sub-Resources Request
Retrieve a list of all created cancellation authorisation sub-resources.
Authentication is Mandatory
URL Parameters:
-
PAYMENTID: PAYMENTID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
- jvalueToCaseclass: jvalueToCaseclass
{
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get Payment Information
Returns the content of a payment object
Authentication is Mandatory
URL Parameters:
-
PAYMENTID: PAYMENTID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
amount: 10.12
-
currency: EUR
-
iban: DE91 1000 0000 0123 4567 89
-
jvalueToCaseclass: jvalueToCaseclass
{
"debtorAccount":{
"iban":"GR12 1234 5123 4511 3981 4475 477"
},
"instructedAmount":{
"currency":"EUR",
"amount":"1234"
},
"creditorAccount":{
"iban":"GR12 1234 5123 4514 4575 3645 077"
},
"creditorName":"70charname"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get Payment Initiation Authorisation Sub-Resources Request
Read a list of all authorisation subresources IDs which have been created.
This function returns an array of hyperlinks to all generated authorisation sub-resources.
Authentication is Mandatory
URL Parameters:
-
PAYMENTID: PAYMENTID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
_links: _links
-
authorisationId: authorisationId
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"jvalueToCaseclass":[{
"scaStatus":"received",
"authorisationId":"940948c7-1c86-4d88-977e-e739bf2c1492",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/940948c7-1c86-4d88-977e-e739bf2c1492"
}
},{
"scaStatus":"received",
"authorisationId":"0ae75eee-deba-41d6-8116-1a4d6e05dd83",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/0ae75eee-deba-41d6-8116-1a4d6e05dd83"
}
}]
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Payment initiation request
This method is used to initiate a payment at the ASPSP.
Variants of Payment Initiation Requests
This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path.
There are the following payment products:
- Payment products with payment information in JSON format:
- sepa-credit-transfers
- instant-sepa-credit-transfers
- target-2-payments
- cross-border-credit-transfers
- Payment products with payment information in pain.001 XML format:
- pain.001-sepa-credit-transfers
- pain.001-instant-sepa-credit-transfers
- pain.001-target-2-payments
- pain.001-cross-border-credit-transfers
-
Furthermore the request body depends on the payment-service
- payments: A single payment initiation request.
- bulk-payments: A collection of several payment iniatiation requests.
In case of a pain.001 message there are more than one payments contained in the *pain.001 message.
In case of a JSON there are several JSON payment blocks contained in a joining list. - periodic-payments:
Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId}
with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body.
This is the first step in the API to initiate the related recurring/periodic payment.
Single and mulitilevel SCA Processes
The Payment Initiation Requests are independent from the need of one ore multilevel
SCA processing, i.e. independent from the number of authorisations needed for the execution of payments.
But the response messages are specific to either one SCA processing or multilevel SCA processing.
For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation,
i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the
response message of a Payment Initation Request for a payment, where multiple authorisations are needed.
Also if any data is needed for the next action, like selecting an SCA method is not supported in the response,
since all starts of the multiple authorisations are fully equal.
In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link.
Additional Instructions:
for PAYMENT_SERVICE use payments
for PAYMENT_PRODUCT use sepa-credit-transfers
Authentication is Mandatory
URL Parameters:
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON request body fields:
-
amount: 10.12
-
chargeBearer: chargeBearer
-
creditorAddress: creditorAddress
-
creditorAgent: creditorAgent
-
creditorAgentName: creditorAgentName
-
creditorId: creditorId
-
creditorNameAndAddress: creditorNameAndAddress
-
currency: EUR
-
currencyOfTransfer: currencyOfTransfer
-
debtorId: debtorId
-
debtorName: debtorName
-
endToEndIdentification: endToEndIdentification
-
exchangeRateInformation: exchangeRateInformation
-
iban: DE91 1000 0000 0123 4567 89
-
instructionIdentification: instructionIdentification
-
purposeCode: purposeCode
-
remittanceInformationStructured: remittanceInformationStructured
-
remittanceInformationStructuredArray: remittanceInformationStructuredArray
-
remittanceInformationUnstructured: remittanceInformationUnstructured
-
remittanceInformationUnstructuredArray: remittanceInformationUnstructuredArray
-
requestedExecutionDate: requestedExecutionDate
-
requestedExecutionTime: requestedExecutionTime
-
serviceLevel: serviceLevel
-
ultimateCreditor: ultimateCreditor
-
ultimateDebtor: ultimateDebtor
JSON response body fields:
-
_links: _links
-
href: href
-
jvalueToCaseclass: jvalueToCaseclass
-
paymentId: paymentId
-
scaRedirect: scaRedirect
-
scaStatus: scaStatus
-
self: self
-
transactionStatus: transactionStatus
{
"transactionStatus":"RCVD",
"paymentId":"1234-wertiq-983",
"_links":{
"scaRedirect":{
"href":"https://api.ttk.com.mk/otp?flow=payment&paymentService=payments&paymentProduct=sepa_credit_transfers&paymentId=b0472c21-6cea-4ee0-b036-3e253adb3b0b"
},
"self":{
"href":"/v1.3/payments/sepa-credit-transfers/1234-wertiq-983"
},
"status":{
"href":"/v1.3/payments/1234-wertiq-983/status"
},
"scaStatus":{
"href":"/v1.3/payments/1234-wertiq-983/authorisations/123auth456"
}
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Payment initiation status request
Check the transaction status of a payment initiation.
Authentication is Mandatory
URL Parameters:
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
jvalueToCaseclass: jvalueToCaseclass
-
transactionStatus: transactionStatus
{
"transactionStatus":"ACCP"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read the SCA Status of the payment authorisation
This method returns the SCA status of a payment initiation's authorisation sub-resource.
Authentication is Mandatory
URL Parameters:
-
AUTHORISATION_ID: AUTHORISATION_ID
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
jvalueToCaseclass: jvalueToCaseclass
-
scaStatus: scaStatus
{
"scaStatus":"psuAuthenticated"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Read the SCA status of the payment cancellation's authorisation
This method returns the SCA status of a payment initiation's authorisation sub-resource.
Authentication is Mandatory
URL Parameters:
-
CANCELLATIONID: CANCELLATIONID
-
PAYMENTID: PAYMENTID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
jvalueToCaseclass: jvalueToCaseclass
-
scaStatus: scaStatus
{
"scaStatus":"psuAuthenticated"
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Start the authorisation process for a payment initiation
Create an authorisation sub-resource and start the authorisation process.
The message might in addition transmit authentication and authorisation related data.
This method is iterated n times for a n times SCA authorisation in a
corporate context, each creating an own authorisation sub-endpoint for
the corresponding PSU authorising the transaction.
The ASPSP might make the usage of this access method unnecessary in case
of only one SCA process needed, since the related authorisation resource
might be automatically created by the ASPSP after the submission of the
payment data with the first POST payments/{payment-product} call.
The start authorisation process is a process which is needed for creating a new authorisation
or cancellation sub-resource.
This applies in the following scenarios:
- The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment
Initiation Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be
uploaded by using the extended forms.- 'startAuthorisationWithPsuIdentfication',
- 'startAuthorisationWithPsuAuthentication' #TODO
- 'startAuthorisationWithAuthentciationMethodSelection'
- The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
- The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded
by using the extended forms as indicated above. - The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for
executing the cancellation. - The signing basket needs to be authorised yet.
Authentication is Mandatory
URL Parameters:
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON request body fields:
JSON response body fields:
-
_links: _links
-
authorisationId: authorisationId
-
challengeData: challengeData
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"challengeData":{
"scaStatus":"received",
"authorisationId":"88695566-6642-46d5-9985-0d824624f507",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/88695566-6642-46d5-9985-0d824624f507"
}
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Start the authorisation process for the cancellation of the addressed payment
Creates an authorisation sub-resource and start the authorisation process of the cancellation of the addressed payment.
The message might in addition transmit authentication and authorisation related data.
This method is iterated n times for a n times SCA authorisation in a
corporate context, each creating an own authorisation sub-endpoint for
the corresponding PSU authorising the cancellation-authorisation.
The ASPSP might make the usage of this access method unnecessary in case
of only one SCA process needed, since the related authorisation resource
might be automatically created by the ASPSP after the submission of the
payment data with the first POST payments/{payment-product} call.
The start authorisation process is a process which is needed for creating a new authorisation
or cancellation sub-resource.
This applies in the following scenarios:
- The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment
Initiation Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be
uploaded by using the extended forms.- 'startAuthorisationWithPsuIdentfication',
- 'startAuthorisationWithPsuAuthentication' #TODO
- 'startAuthorisationWithAuthentciationMethodSelection'
- The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
- The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP.
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded
by using the extended forms as indicated above. - The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for
executing the cancellation. - The signing basket needs to be authorised yet.
Authentication is Mandatory
URL Parameters:
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON request body fields:
JSON response body fields:
-
_links: _links
-
authorisationId: authorisationId
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"scaStatus":"received",
"authorisationId":"8a49b79b-b400-4e6b-b88d-637c3a71479d",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/PAYMENT_ID/8a49b79b-b400-4e6b-b88d-637c3a71479d"
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Update PSU Data for payment initiation cancellation
This method updates PSU data on the cancellation authorisation resource if needed.
It may authorise a cancellation of the payment within the Embedded SCA Approach where needed.
Independently from the SCA Approach it supports e.g. the selection of
the authentication method and a non-SCA PSU authentication.
This methods updates PSU data on the cancellation authorisation resource if needed.
There are several possible Update PSU Data requests in the context of a cancellation authorisation within the payment initiation services needed,
which depends on the SCA approach:
- Redirect SCA Approach:
A specific Update PSU Data Request is applicable for- the selection of authentication methods, before choosing the actual SCA approach.
- Decoupled SCA Approach:
A specific Update PSU Data Request is only applicable for - adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or
- the selection of authentication methods.
- Embedded SCA Approach:
The Update PSU Data Request might be used - to add credentials as a first factor authentication data of the PSU and
- to select the authentication method and
- transaction authorisation.
The SCA Approach might depend on the chosen SCA method.
For that reason, the following possible Update PSU Data request can apply to all SCA approaches:
- Select an SCA method in case of several SCA methods are available for the customer.
There are the following request types on this access path:
* Update PSU Identification
* Update PSU Authentication
* Select PSU Autorization Method
WARNING: This method need a reduced header,
therefore many optional elements are not present.
Maybe in a later version the access path will change.
* Transaction Authorisation
WARNING: This method need a reduced header,
therefore many optional elements are not present.
Maybe in a later version the access path will change.
Authentication is Mandatory
URL Parameters:
-
CANCELLATIONID: CANCELLATIONID
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
_links: _links
-
authorisationId: authorisationId
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"scaStatus":"finalised",
"authorisationId":"4f4a8b7f-9968-4183-92ab-ca512b396bfc",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/PAYMENT_ID/4f4a8b7f-9968-4183-92ab-ca512b396bfc"
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Update PSU data for payment initiation
This methods updates PSU data on the authorisation resource if needed.
It may authorise a payment within the Embedded SCA Approach where needed.
Independently from the SCA Approach it supports e.g. the selection of
the authentication method and a non-SCA PSU authentication.
There are several possible Update PSU Data requests in the context of payment initiation services needed,
which depends on the SCA approach:
- Redirect SCA Approach:
A specific Update PSU Data Request is applicable for- the selection of authentication methods, before choosing the actual SCA approach.
- Decoupled SCA Approach:
A specific Update PSU Data Request is only applicable for - adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or
- the selection of authentication methods.
- Embedded SCA Approach:
The Update PSU Data Request might be used - to add credentials as a first factor authentication data of the PSU and
- to select the authentication method and
- transaction authorisation.
The SCA Approach might depend on the chosen SCA method.
For that reason, the following possible Update PSU Data request can apply to all SCA approaches:
- Select an SCA method in case of several SCA methods are available for the customer.
There are the following request types on this access path:
* Update PSU Identification
* Update PSU Authentication
* Select PSU Autorization Method
WARNING: This method need a reduced header,
therefore many optional elements are not present.
Maybe in a later version the access path will change.
* Transaction Authorisation
WARNING: This method need a reduced header,
therefore many optional elements are not present.
Maybe in a later version the access path will change.
NOTE: For this endpoint, for sandbox mode, the `scaAuthenticationData` is fixed value: 123. To make the process work.
Normally the app use will get SMS/EMAIL to get the value for this process.
Authentication is Mandatory
URL Parameters:
-
AUTHORISATION_ID: AUTHORISATION_ID
-
PAYMENT_ID: PAYMENT_ID
-
PAYMENT_PRODUCT: PAYMENT_PRODUCT
-
PAYMENT_SERVICE: PAYMENT_SERVICE
JSON response body fields:
-
_links: _links
-
authorisationId: authorisationId
-
jvalueToCaseclass: jvalueToCaseclass
-
psuMessage: psuMessage
-
scaStatus: scaStatus
{
"scaStatus":"finalised",
"authorisationId":"88695566-6642-46d5-9985-0d824624f507",
"psuMessage":"Please check your SMS at a mobile device.",
"_links":{
"scaStatus":"/v1.3/payments/sepa-credit-transfers/88695566-6642-46d5-9985-0d824624f507"
}
}
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.