openid / openid/OpenID4VP

Relax requirements around transaction data

Open
#794 2 comments 0 reactions 1 assignee View on GitHub

@GarethCOliver is already working on this.

Since Sep 18, 2026.

Dominant language
Shell
Stars
112
Forks
38
Avg merge
12d 19h
Merged PRs (30d)
4

Description

Currently we have this requirement in section 5.1:

"The Wallet MUST return an error if a request contains even one unrecognized transaction data type or transaction data not conforming to the respective type definition."

This is is quite prohibitive, for example it means you can never have several versions of transaction_data in a single requests, for example payment_transaction_v1 and payment_transaction_v2. Instead, we should relax the requirement to only apply if the wallet is returned a credential referenced by one of the credential_ids for the transaction data. That way, I can craft a request like this:

{
    "dcql_query": {
        "credentials": [
            {
                "id": "dpc_with_tx_type_a",
                "format": "mso_mdoc",
                "meta": { "doctype_value": "org.example.dpc" },
                "claims": [
                    {
                        "id": "account_number_claim",
                        "path": [ "org.example.dpc", "account_number" ]
                    }
                ],
            },
            {
                "id": "dpc_with_tx_type_b",
                "format": "mso_mdoc",
                "meta": { "doctype_value": "org.example.dpc" },
                "claims": [
                    {
                        "id": "account_number_claim",
                        "path": [ "org.example.dpc", "account_number" ]
                    }
                ],
            }
        ],
        "credential_sets": [
            {
                "required": true,
                "options": [
                    [
                        "dpc_with_tx_type_a"
                    ],
                    [
                        "dpc_with_tx_type_b"
                    ]
                ]
            }
        ]
  },
  "transaction_data": [ "<base64url-encoded_tx_type_a>", "<base64url-encoded_tx_type_b>",
}

where

  • base64url-encoded_tx_type_a is for transaction data type A and referencing only dpc_with_tx_type_a
  • base64url-encoded_tx_type_b is for transaction data type B and referencing only dpc_with_tx_type_b

It would be good to have this for OpenID4VP 1.1.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.