It would be really useful to be able to generate checkout URLs with a custom_fields[x].value parameter, so the payment form renders with a pre-filled value for that field (or, at minimum, a placeholder in the text inputs).
A concrete example where this matters:
Suppose you run a multi-tenant SaaS where each tenant can register with the same email on a different domain (e.g. acme.domain.com). That domain has to be stored on the Creem side as well, so you know which subscription is active for which domain.
When the checkout URL is generated by the SaaS itself, this data is already known, so it makes sense for it to arrive pre-filled and correct in the form — no room for user error.
When the user instead arrives via a generic checkout URL that isn't pre-filled with custom_fields, they may not understand what to enter if there's no placeholder guiding them.
For that reason, supporting both a value (pre-filled) and a placeholder (hint text) for custom fields would be a great addition.
One more consideration: it would also help to support a read-only property on custom fields. In the multi-tenant case above, the pre-filled domain value should ideally be locked so the user can't accidentally (or intentionally) edit it, since a wrong value would break the mapping between the subscription and the tenant. A read-only flag passed alongside value would cover this cleanly.
