Skip to main content

TS12: Payment Confirmation

TS12 SCA payment confirmation enables a relying party to authorise a payment by requesting a Payment Card credential with transaction data that captures the payee details, amount, and currency.

Scenario: A ferry service requests payment confirmation from the user's Payment Card credential with transaction data describing the payee (Fast Ferries), the amount (89.50 EUR), and execution details.

For the underlying TS12 specification and transaction data requirements, see the "Payment confirmation" use case in our TS12 concepts article.

Step 1: Get the API Key (Issuer Admin)​

To obtain your API key, please contact [email protected]. Once you have received your API key, enter it in the field below and click the Set API Key button to save it for future use.

Step 2: Create Credential Definition (Issuer Admin)​

To create a credential definition, run the interactive block below using the Run button. Alternatively, you can manually copy the JSON and use it in the body of the API available here.

From the API response, copy the credentialDefinitionId and id value from the credentialDefinitions array for use in Step 3.

Request

Response

Step 3: Issue and Receive Credential (Issuer/Holder)​

The holder of the wallet submits a request for the issuance of a credential by executing the JSON code block below using the Run button in InTime issuance mode. Replace <credentialDefinitionId> and <id> with the actual values obtained from the previous step. Alternatively, you may use the API available here.

After receiving the response, you can toggle the switch to dynamically generate a QR code. The EUDI Wallet/Holder can then accept the credential offer using the Data Wallet (or any other EU Digital Identity Wallet) by either scanning the QR code or by directly accessing the credential offer on their mobile device (e.g. via a browser).

Request

Response

To receive and accept the credential via API. First, use the credentialOffer to call the Receive Credential API. Once you have the response, copy the credentialId and provide it at Accept Credential API to accept the credential.

Step 4: Create Presentation Definition (Verifier Admin)​

To create a presentation definition for requesting proof, you can run the code block below using the Run button. Alternatively, you can manually copy the code block and use it in the body of the API request provided here.

Once a presentation definition has been created, the presentationDefinitionId can be reused to verify multiple credentials (Step 5).

Request

Response

Step 5: Create Verification Request (Verifier/Relying Party)​

To create the verification request, execute the code block below using the Run button. Alternatively, you can manually copy the JSON and use it in the body of the API available here. This step includes transactionData in the verification request payload, which is specific to TS12 SCA workflows. The transactionData.payload contains the transaction details that are dynamically linked to the user's authentication.

After receiving the response, toggle the button provided to dynamically generate a QR code. The EUDI Wallet/Holder can then accept the verification request using the Data Wallet (or any other EU Digital Identity Wallet) by either scanning the QR code or directly accessing the verification request on their mobile device, such as via a browser.

Request

Response

Users can copy the presentationExchangeId from the JSON response to track verification history.