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
- The organisation enables the Payment Authorisation (for Banks) extension from the dashboard.
- An administrator configures the payment details shown during authorisation, such as payee, amount, currency and execution date fields.
- When a customer initiates a payment in the bank's channels, a presentation request with an
urn:eudi:sca:payment:1transaction data payload is triggered using the configured presentation definition. - The customer reviews the payment details in their EUDI Wallet and presents the SCA Attestation issued by the bank.
- The system verifies the presentation, validates the Key Binding JWT (including
amrandtransaction_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
| Attribute | Description |
|---|---|
iban | International Bank Account Number |
bic | Bank Identifier Code |
currency | Account currency |
Payment Card Credential
| Attribute | Description |
|---|---|
pan_last_four | Last four digits of the card's Primary Account Number |
scheme | Card scheme (e.g. Visa, Mastercard) |
scheme_logo | Logo 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):
| Field | Type | Description |
|---|---|---|
transaction_id | String | Unique identifier for the payment transaction |
date_time | DateTime | Timestamp of the payment request |
payee | Object | Recipient of the payment |
├─ name | String | Name of the recipient |
├─ id | String | Identifier of the recipient |
├─ logo | String | Logo of the recipient |
└─ website | String | Website of the recipient |
pisp | Object | Payment Initiation Service Provider |
├─ legal_name | String | Legal name of the PISP |
├─ brand_name | String | Brand name of the PISP |
└─ domain_name | String | Domain of the PISP |
execution_date | DateTime | Requested execution date |
currency | String | ISO 4217 currency code |
amount | Number | Transaction amount |
amount_estimated | Boolean | True if the amount is an estimate |
amount_earmarked | Boolean | True if funds are earmarked |
sct_inst | Boolean | True if SEPA Instant Credit Transfer |
recurrence | Object (optional) | Recurring payment schedule |
├─ start_date | DateTime | First date the recurrence is valid |
├─ end_date | DateTime | Last date the recurrence is valid |
├─ number | Number | Number of occurrences |
└─ frequency | String | Frequency of the recurrence |
mit_options | Object (optional) | Merchant-Initiated Transaction parameters |
├─ amount_variable | Boolean | True if the charged amount can vary between occurrences |
├─ min_amount | Number | Minimum amount per charge |
├─ max_amount | Number | Maximum amount per charge |
├─ total_amount | Number | Total amount across all charges |
├─ initial_amount | Number | Amount of the first charge |
├─ initial_amount_number | Number | Number of initial charges at initial_amount |
└─ apr | Number | Annual 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