Description
Feature details
Currently, the email passed to the checkout.create
method can be modified on the checkout page. Is it possible to remove or disable that input if an email is already passed?
A bit more context about our use case
We are using the customerAccessTokenCreateWithMultipass to retrieve an accessToken
. This mutation also has a side-effect of creating a new customer if they do not exist. With that access token, we use the following query to retrieve customer orders:
query getcustomerOrders($customerAccessToken: String!) {
customer(customerAccessToken: $customerAccessToken) {
orders(first:100) {
...}
...}
...}
Basically, with this approach, we ensure that a signed-in user on our platform has a corresponding unique account in Shopify, and their orders are synced.
We are passing the user's email to the checkout.create
method, and technically, that user could change the email in that input field. This action creates a brand new customer in Shopify and attaches their order to that account, resulting in a broken experience.
I understand that there are fields in the checkout that are required and can't be disabled, however I would expect if you passed the required field that your system rely on, it remains immutable.