Skip to content

[Feat]: vct documentation omits the version suffix required by exact matching #322

Description

@mh-yu

Is your feature request related to a problem? Please describe.

Description

AP2 requires mandate vct values to include a version suffix and to be matched exactly, for example mandate.payment.1 and mandate.checkout.1.

Some repository documentation and generated descriptions omit that suffix. The schema const values are versioned, but the adjacent descriptions say the value must be the unversioned string such as mandate.payment or mandate.checkout. The SDK README also lists unversioned mandate vct values.

These inconsistent references make the required vct value ambiguous for implementers who rely on the generated descriptions or SDK README.

Impact

An implementation following the incorrect descriptions instead of the schema constants may accept unversioned vct values or use prefix matching.

That would weaken AP2's version boundary, where incompatible future mandate formats are meant to be distinguished by exact versioned vct strings.

Steps to Reproduce

  1. Review docs/ap2/specification.md:138-143. AP2 requires exact vct matching, including the version suffix.

  2. Review docs/ap2/payment_mandate.md:14-18 and docs/ap2/checkout_mandate.md:14-18. These pages use the correct versioned values.

  3. Review code/sdk/schemas/ap2/payment_mandate.json:15-20 and code/sdk/schemas/ap2/checkout_mandate.json:13-18. The const and default values are versioned, but the descriptions omit the suffix.

  4. Review code/sdk/python/ap2/sdk/generated/payment_mandate.py:21-24 and code/sdk/python/ap2/sdk/generated/checkout_mandate.py:17-20. The Python literals are versioned, but the generated field descriptions inherit the unversioned text.

  5. Review code/sdk/python/ap2/sdk/README.md:113-118 and :175-180. The SDK README shows unversioned mandate vct values.

Describe the solution you'd like

Update the schema descriptions, generated model descriptions, SDK README, and examples so every mandate vct value uses the exact versioned string, such as mandate.payment.1, mandate.payment.open.1, mandate.checkout.1, and mandate.checkout.open.1.

Describe alternatives you've considered

No response

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions