Skip to main content

Payment Authorisation (for Banks)

The Payment Authorisation (for Banks) extension enables an Account Servicing Payment Service Provider (ASPSP) to authorise payments initiated by its own customer using an SCA Attestation presented from their EUDI Wallet. This is the issuer-requested flow defined in the TS12 Electronic Payments SCA Implementation with Wallet specification.

How it works

  1. The organisation enables the Payment Authorisation (for Banks) extension from the dashboard.
  2. An administrator configures the payment details shown during authorisation, such as payee, amount, currency and execution date fields.
  3. When a customer initiates a payment in the bank's channels, a presentation request with an urn:eudi:sca:payment:1 transaction data payload is triggered using the configured presentation definition.
  4. The customer reviews the payment details in their EUDI Wallet and presents the SCA Attestation issued by the bank.
  5. The system verifies the presentation, validates the Key Binding JWT (including amr and transaction_data_hashes), and produces the PSD2 Authentication Code used to approve the payment.

Configuration

Supported SCA Attestation types

Select which SCA Attestation the bank accepts for this flow. Only the account and card attestations are supported:

Payment Account Credential

AttributeDescription
ibanInternational Bank Account Number
bicBank Identifier Code
currencyAccount currency

Payment Card Credential

AttributeDescription
pan_last_fourLast four digits of the card's Primary Account Number
schemeCard scheme (e.g. Visa, Mastercard)
scheme_logoLogo of the card scheme

Transaction data

The verification request carries an urn:eudi:sca:payment:1 transaction data object. The fields below are cryptographically bound to the authentication (dynamic linking):

FieldTypeDescription
transaction_idStringUnique identifier for the payment transaction
date_timeDateTimeTimestamp of the payment request
payeeObjectRecipient of the payment
├─ nameStringName of the recipient
├─ idStringIdentifier of the recipient
├─ logoStringLogo of the recipient
└─ websiteStringWebsite of the recipient
pispObjectPayment Initiation Service Provider
├─ legal_nameStringLegal name of the PISP
├─ brand_nameStringBrand name of the PISP
└─ domain_nameStringDomain of the PISP
execution_dateDateTimeRequested execution date
currencyStringISO 4217 currency code
amountNumberTransaction amount
amount_estimatedBooleanTrue if the amount is an estimate
amount_earmarkedBooleanTrue if funds are earmarked
sct_instBooleanTrue if SEPA Instant Credit Transfer
recurrenceObject (optional)Recurring payment schedule
├─ start_dateDateTimeFirst date the recurrence is valid
├─ end_dateDateTimeLast date the recurrence is valid
├─ numberNumberNumber of occurrences
└─ frequencyStringFrequency of the recurrence
mit_optionsObject (optional)Merchant-Initiated Transaction parameters
├─ amount_variableBooleanTrue if the charged amount can vary between occurrences
├─ min_amountNumberMinimum amount per charge
├─ max_amountNumberMaximum amount per charge
├─ total_amountNumberTotal amount across all charges
├─ initial_amountNumberAmount of the first charge
├─ initial_amount_numberNumberNumber of initial charges at initial_amount
└─ aprNumberAnnual percentage rate

Integration

Once configured, the system automatically generates a Presentation Definition bound to the urn:eudi:sca:payment:1 transaction data type. This presentation definition can be viewed from the extension configuration page and is used when initiating payment authorisation requests via the API.

API endpoints:

  • GET/v3/config/extension/payment-authorisation-issuer - Retrieve current configuration
  • PUT/v3/config/extension/payment-authorisation-issuer - Update payment authorisation settings
Caution: Disabling the Payment Authorisation (for Banks) extension deletes its configuration. This action is not reversible.