post/funds-confirmations
Payment coverage check request (CBPII)
OAuth2 scopes: cbpii, cbpii, cbpii
Description
The CBPII can ask an ASPSP to check if a given amount can be covered by the liquidity that is available on a PSU cash account or payment card.
Prerequisites
- The TPP has been registered by the Registration Authority for the CBPII role
- The TPP and the PSU have a contract that has been registered by the ASPSP
-
- At this step, the ASPSP has delivered an "Authorization Code", a "Resource Owner Password" or a "Client Credential" OAUTH2 access token to the TPP (cf. § 3.4.2).
- Each ASPSP has to implement either the "Authorization Code"/"Resource Owner Password" or the "Client Credential" OAUTH2 access token model.
- Doing this, it will edit the [security] section on this path in order to specify which model it has chosen The TPP and the ASPSP have successfully processed a mutual check and authentication
- The TPP has presented its OAUTH2 "Authorization Code", "Resource Owner Password" or "Client Credential" access token which allows the ASPSP to identify the relevant PSU.
Business flow
The CBPII requests the ASPSP for a payment coverage check against either a bank account or a card primary identifier. The ASPSP answers with a structure embedding the original request and the result as a Boolean.
Parameters (17)
- Authorizationheaderstringrequired
Access token to be passed as a header
- paymentCoveragebodyrequired
parameters of a payment coverage request
- PSU-IP-Addressheaderstring
IP address used by the PSU's terminal when connecting to the TPP
- PSU-IP-Portheaderstring
IP port used by the PSU's terminal when connecting to the TPP
- PSU-HTTP-Methodheaderstring
Http method for the most relevant PSU’s terminal request to the TTP
- PSU-Dateheaderstring
Timestamp of the most relevant PSU’s terminal request to the TTP
- PSU-GEO-Locationheaderstring
Geographical location of the PSU as provided by the PSU mobile terminal if any to the TPP
- PSU-User-Agentheaderstring
"User-Agent" header field sent by the PSU terminal when connecting to the TPP
- PSU-Refererheaderstring
"Referer" header field sent by the PSU terminal when connecting to the TPP. Notice that an initial typo in RFC 1945 specifies that "referer" (incorrect spelling) is to be used. The correct spelling "referrer" can be used but might not be understood.
- PSU-Acceptheaderstring
"Accept" header field sent by the PSU terminal when connecting to the TPP
- PSU-Accept-Charsetheaderstring
"Accept-Charset" header field sent by the PSU terminal when connecting to the TPP
- PSU-Accept-Encodingheaderstring
"Accept-Encoding" header field sent by the PSU terminal when connecting to the TPP
- PSU-Accept-Languageheaderstring
"Accept-Language" header field sent by the PSU terminal when connecting to the TPP
- PSU-Device-IDheaderstring
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of installation identification this ID need to be unaltered until removal from device.
- Digestheaderstring
Digest of the body
- Signatureheaderstringrequired
http-signature of the request (cf. https://datatracker.ietf.org/doc/draft-cavage-http-signatures/) The keyId must specify the way to get the relevant qualified certificate. It is requested that this identifier is an URL aiming to provide the relevant Qualified Certificate.
- X-Request-IDheaderstringrequired
Correlation header to be set in a request and retrieved in the relevant response
Constraints: maxLength: 70
Request body
PaymentCoverageRequestResource
Payment coverage request structure. The request must rely either on a cash account or a payment card.
Fields (4)
- paymentCoverageRequestIdstringrequired
Identification of the payment Coverage Request
Constraints: maxLength: 35
- payeestring
The merchant where the card is accepted as information to the PSU.
Constraints: maxLength: 70
- instructedAmountAmountTyperequired
Structure aiming to embed the amount and the currency to be used.
Schema: AmountType
Structure aiming to embed the amount and the currency to be used.
Specifies the currency of the amount or of the account.
Schema: CurrencyCode
Specifies the currency of the amount or of the account. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Type: string
Constraints: pattern: `^[A-Z]{3,3}$`
- amountstringrequired
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Constraints: pattern: `^\-{0,1}[0-9]{1,13}(\.[0-9]{0,5}){0,1}$`
- accountIdAccountIdentificationrequired
Unique and unambiguous identification for the account between the account owner and the account servicer.
Schema: AccountIdentification
Unique and unambiguous identification for the account between the account owner and the account servicer.
- ibanstring
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
Constraints: pattern: `^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$`
- otherGenericIdentification
ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer.
Schema: GenericIdentification
ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer. API: The ASPSP will document which account reference type it will support.
- identificationstringrequired
API: Identifier
API: Identifier
Constraints: maxLength: 70
- schemeNamestringrequired
Name of the identification scheme.
Name of the identification scheme. Possible values for the scheme name, partially based on ISO20022 external code list, are the following:
- BANK (BankPartyIdentification): Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
- COID (CountryIdentificationCode) : Country authority given organisation identification (e.g., corporate registration number)
- SREN (SIREN): The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
- SRET (SIRET): The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity.
- NIDN (NationalIdentityNumber): Number assigned by an authority to identify the national identity number of a person. Other values are also permitted, for instance:
- OAUT (OAUTH2): OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU
- CPAN (CardPan): Card PAN Each implementation of the STET PSD2 API must specify in its own documentation which schemes can actually been used
Constraints: maxLength: 70
- issuerstring
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
Constraints: maxLength: 35
Currency used for the account
Schema: CurrencyCode
Specifies the currency of the amount or of the account. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Type: string
Constraints: pattern: `^[A-Z]{3,3}$`
Responses
200
payment coverage request
HalPaymentCoverageReport
HYPERMEDIA structure used for returning the payment coverage report to the CBPII
Fields (3)
- requestPaymentCoverageRequestResourcerequired
Payment coverage request structure. The request must rely either on a cash account or a payment card.
Schema: PaymentCoverageRequestResource
Payment coverage request structure. The request must rely either on a cash account or a payment card.
- paymentCoverageRequestIdstringrequired
Identification of the payment Coverage Request
Constraints: maxLength: 35
- payeestring
The merchant where the card is accepted as information to the PSU.
Constraints: maxLength: 70
- instructedAmountAmountTyperequired
Structure aiming to embed the amount and the currency to be used.
Schema: AmountType
Structure aiming to embed the amount and the currency to be used.
Specifies the currency of the amount or of the account.
Schema: CurrencyCode
Specifies the currency of the amount or of the account. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Type: string
Constraints: pattern: `^[A-Z]{3,3}$`
- amountstringrequired
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Constraints: pattern: `^\-{0,1}[0-9]{1,13}(\.[0-9]{0,5}){0,1}$`
- accountIdAccountIdentificationrequired
Unique and unambiguous identification for the account between the account owner and the account servicer.
Schema: AccountIdentification
Unique and unambiguous identification for the account between the account owner and the account servicer.
- ibanstring
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
Constraints: pattern: `^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$`
- otherGenericIdentification
ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer.
Schema: GenericIdentification
ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer. API: The ASPSP will document which account reference type it will support.
- identificationstringrequired
API: Identifier
API: Identifier
Constraints: maxLength: 70
- schemeNamestringrequired
Name of the identification scheme.
Name of the identification scheme. Possible values for the scheme name, partially based on ISO20022 external code list, are the following:
- BANK (BankPartyIdentification): Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
- COID (CountryIdentificationCode) : Country authority given organisation identification (e.g., corporate registration number)
- SREN (SIREN): The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
- SRET (SIRET): The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity.
- NIDN (NationalIdentityNumber): Number assigned by an authority to identify the national identity number of a person. Other values are also permitted, for instance:
- OAUT (OAUTH2): OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU
- CPAN (CardPan): Card PAN Each implementation of the STET PSD2 API must specify in its own documentation which schemes can actually been used
Constraints: maxLength: 70
- issuerstring
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
Constraints: maxLength: 35
Currency used for the account
Schema: CurrencyCode
Specifies the currency of the amount or of the account. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Type: string
Constraints: pattern: `^[A-Z]{3,3}$`
- resultbooleanrequired
Result of the coverage check :
Result of the coverage check :
- true: the payment can be covered
- false: the payment cannot be covered
- _linksPaymentCoverageReportLinksrequired
links that can be used for further navigation to post another coverage request.
Schema: PaymentCoverageReportLinks
links that can be used for further navigation to post another coverage request.
- selfGenericLinkrequired
hypertext reference
Schema: GenericLink
hypertext reference
- hrefstringrequired
URI to be used
Constraints: maxLength: 140
- templatedboolean
specifies "true" if href is a URI template, i.e. with parameters. Otherwise, this property is absent or set to false
400
Invalid status value
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
401
Unauthorized, authentication failure.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
403
Forbidden, authentication successful but access to resource is not allowed.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
405
Method Not Allowed.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
406
Not Acceptable.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
408
Request Timeout.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
429
Too many requests.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
500
Internal server error.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
503
Service unavailable.
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
Schemas used by this endpoint
Every structure referenced by this operation, listed once. Cross-references resolve to anchors on this page.
AccountIdentification
Unique and unambiguous identification for the account between the account owner and the account servicer.
Fields (3)
- ibanstring
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
Constraints: pattern: `^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$`
- otherGenericIdentification
Schema: GenericIdentification
Currency used for the account
Schema: CurrencyCode
AmountType
Structure aiming to embed the amount and the currency to be used.
Fields (2)
Schema: CurrencyCode
- amountstringrequired
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Constraints: pattern: `^\-{0,1}[0-9]{1,13}(\.[0-9]{0,5}){0,1}$`
CurrencyCode
Specifies the currency of the amount or of the account. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
ErrorModel
Generic error report structure
Fields (5)
current timestamp
- statusinteger (int32)required
HTTP error code
- errorstring
HTTP error text
Constraints: maxLength: 140
- messagestringrequired
HTTP textual reason phrase
Constraints: maxLength: 140
- pathstring
Relevant path that was used
Constraints: maxLength: 140
GenericIdentification
ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer. API: The ASPSP will document which account reference type it will support.
Fields (3)
- identificationstringrequired
API: Identifier
API: Identifier
Constraints: maxLength: 70
- schemeNamestringrequired
Name of the identification scheme.
Name of the identification scheme. Possible values for the scheme name, partially based on ISO20022 external code list, are the following:
- BANK (BankPartyIdentification): Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
- COID (CountryIdentificationCode) : Country authority given organisation identification (e.g., corporate registration number)
- SREN (SIREN): The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
- SRET (SIRET): The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity.
- NIDN (NationalIdentityNumber): Number assigned by an authority to identify the national identity number of a person. Other values are also permitted, for instance:
- OAUT (OAUTH2): OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU
- CPAN (CardPan): Card PAN Each implementation of the STET PSD2 API must specify in its own documentation which schemes can actually been used
Constraints: maxLength: 70
- issuerstring
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
Constraints: maxLength: 35
GenericLink
hypertext reference
Fields (2)
- hrefstringrequired
URI to be used
Constraints: maxLength: 140
- templatedboolean
specifies "true" if href is a URI template, i.e. with parameters. Otherwise, this property is absent or set to false
HalPaymentCoverageReport
HYPERMEDIA structure used for returning the payment coverage report to the CBPII
Fields (3)
- requestPaymentCoverageRequestResourcerequired
Schema: PaymentCoverageRequestResource
- resultbooleanrequired
Result of the coverage check :
Result of the coverage check :
- true: the payment can be covered
- false: the payment cannot be covered
- _linksPaymentCoverageReportLinksrequired
Schema: PaymentCoverageReportLinks
PaymentCoverageReportLinks
links that can be used for further navigation to post another coverage request.
Fields (1)
- selfGenericLinkrequired
Schema: GenericLink
PaymentCoverageRequestResource
Payment coverage request structure. The request must rely either on a cash account or a payment card.
Fields (4)
- paymentCoverageRequestIdstringrequired
Identification of the payment Coverage Request
Constraints: maxLength: 35
- payeestring
The merchant where the card is accepted as information to the PSU.
Constraints: maxLength: 70
- instructedAmountAmountTyperequired
Schema: AmountType
- accountIdAccountIdentificationrequired
Schema: AccountIdentification