Skip to content

Apple Pay: "Contact" section missing and fails with "update shipping contact" for authenticated cart with buyerIdentity #381

@etabard

Description

@etabard

What area is the issue related to?

Checkout Sheet Kit

What platform does the issue affect?

iOS

What version of @shopify/checkout-sheet-kit are you using?

3.4.0

Do you have reproducible example code?

We don't have a minimal reproducible example, but the issue is behavior-dependent based on whether buyerIdentity is provided when creating the cart.

Here the provider's config:

{
  "colorScheme": "web_default",
  "colors": {
    "ios": {
      "backgroundColor": "#FFFFFF",
      "tintColor": "#000000",
      "closeButtonColor": "#333333"
    },
    "android": {
      "backgroundColor": "#FFFFFF",
      "progressIndicator": "#000000",
      "headerBackgroundColor": "#FFFFFF",
      "headerTextColor": "#000000"
    }
  },
  "acceleratedCheckouts": {
    "storefrontDomain": "xxx.myshopify.com",
    "storefrontAccessToken": "xxx",
    "wallets": {
      "applePay": {
        "contactFields": [
          "email",
          "phone"
        ],
        "merchantIdentifier": "xxx"
      }
    }
  },
  "title": "My order"
}

Steps to Reproduce

  • Set up the ShopifyProvider and ShopifyCheckoutSheet.
  • Ensure Apple Pay is configured for the store and the test device with required phone contact.
  • Create a Shopify cart, passing a valid buyerIdentity with customerAccessToken.
  • Add a physical product requiring shipping to this cart.
  • Tap the "Apple Pay" accelerated checkout button on the cart screen.
  • The native Apple Pay payment sheet slides up.
  • Observe: The "Contact" section (which normally shows email/phone) is completely missing.
  • Try to authenticate and confirm the payment (e.g., with Face ID or passcode).
  • Observe: The payment fails, and an error related to "update shipping contact" is displayed on the sheet.

Expected Behavior

When the Apple Pay sheet is presented for an authenticated user (buyerIdentity present), it should either:

  • Automatically use the contact information (especially the phone number) associated with the buyerIdentity to satisfy Apple Pay's requirements.
  • Or, still display the "Contact" section, allowing the user to select their contact info from their Apple Wallet, just as it does for an anonymous cart.

The payment should be validatable without an error.

Actual Behavior

  1. When the cart is authenticated (Case 1):
  • The Apple Pay sheet opens, but the "Contact" section is missing. (See Screenshot 1 description below).
  • Because the phone number is missing and cannot be added (due to the missing section), the payment validation fails with an "update shipping contact" error.
  1. When the cart is anonymous (Case 2):
  • The Apple Pay sheet opens, and the "Contact" section is visible. (See Screenshot 2 description below).
  • The user can select their contact info, and the payment can be validated successfully.

Notes: We also tried conditionally passing the customer prop to the . This did not change the behavior; the issue seems directly tied to the buyerIdentity on the cart itself.

Storefront domain

easy-clothes-europe.myshopify.com

Screenshots/Videos/Log output

Screenshot 1: Authenticated Cart (Bug)
The "Contact" section is missing.

Authenticated cart (Bug)
Screenshot 2: Anonymous Cart (Working)
The "Contact" section is visible.

Anonymous cart (Working)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions