It seems like you're encountering issues with the Dodo Payments Kotlin SDK regarding metadata handling. Here are a few points to consider:
-
Metadata Value Types: According to the context, metadata in Dodo Payments is designed to store additional, structured information as key-value pairs. The keys should be alphanumeric and can include dashes and underscores, while the values can be up to 500 characters long. The context does not explicitly state that only string values are allowed, but it is common for metadata systems to handle values as strings for consistency and compatibility.
-
SDK Limitations: If the Kotlin SDK is allowing other primitive types for metadata values and this is causing API failures, it might be a limitation or a bug in the SDK. It would be advisable to convert all metadata values to strings before sending them to the API to ensure compatibility.
-
Accessing Metadata Values: If the SDK does not provide a straightforward way to access metadata values, you might need to manually parse the metadata from the API responses. This could involve accessing the raw response data and extracting the metadata section.
-
Production Use: As for whether anyone is using this SDK in production, this information is not available in the provided context. It might be helpful to reach out to the Dodo Payments support team or community forums to gather insights from other users who might be using the SDK in production environments.
If these points do not resolve your issue, you might want to provide more specific details or examples of the problems you're encountering, which could help in diagnosing the issue further.