What happened?
Description
The value field in PaymentCurrencyAmount is currently defined as a numeric type (float in Python, float64 in Go, Double in Kotlin), but the W3C Payment Request API specification defines it as a DOMString (string type).
This inconsistency may cause issues with cross-language interoperability and deviates from the standard that the codebase explicitly references in its docstrings.
Affected files
src/ap2/types/payment_request.py — value: float
samples/go/pkg/ap2/types/payment_request.go — Value float64
samples/android/.../data/ShoppingAgentTypes.kt — val value: Double
Proposed fix
Change value to a string type across all languages to align with the W3C spec.
See PR: #191
Relevant log output
Code of Conduct
What happened?
Description
The
valuefield inPaymentCurrencyAmountis currently defined as a numeric type (floatin Python,float64in Go,Doublein Kotlin), but the W3C Payment Request API specification defines it as aDOMString(string type).This inconsistency may cause issues with cross-language interoperability and deviates from the standard that the codebase explicitly references in its docstrings.
Affected files
src/ap2/types/payment_request.py—value: floatsamples/go/pkg/ap2/types/payment_request.go—Value float64samples/android/.../data/ShoppingAgentTypes.kt—val value: DoubleProposed fix
Change
valueto a string type across all languages to align with the W3C spec.See PR: #191
Relevant log output
Code of Conduct