Skip to content

Pin the Apple Pay merchant identifier per sample app - #578

Draft
kieran-osgood-shopify wants to merge 1 commit into
ejsonfrom
kieran-osgood/apple-pay-merchant-identifier
Draft

Pin the Apple Pay merchant identifier per sample app#578
kieran-osgood-shopify wants to merge 1 commit into
ejsonfrom
kieran-osgood/apple-pay-merchant-identifier

Conversation

@kieran-osgood-shopify

Copy link
Copy Markdown
Contributor

What changes are you making?

How to test


Before you merge

Important

  • I've added tests to support my implementation
  • I have read and agree with the Contribution Guidelines
  • I have read and agree with the Code of Conduct
  • I've updated the relevant platform README (platforms/swift/README.md and/or platforms/android/README.md)

Releasing a new Swift version?
  • I have bumped the version in ShopifyCheckoutKit.podspec
  • I have bumped the version in platforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swift
  • I have updated the SwiftPM/CocoaPods version snippets in platforms/swift/README.md (major version only)
Releasing a new Embedded Checkout Protocol version?
  • I have bumped embeddedCheckoutProtocolAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated protocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.api if the public API changed
Releasing a new Android version?
  • I have bumped checkoutKitAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated the Gradle/Maven version snippets in platforms/android/README.md

Tip

See the Contributing documentation for the full release process per platform.

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

Apple Pay rejects a payment request whose merchant identifier is absent from
the entitlement of the app that sends it. Each sample registers a different
identifier, so a single shared storefront config key cannot be correct for
both apps at once.

Each sample now states its identifier next to its own entitlement. The Swift
demo defines it once in project.yml and the entitlement reads it back, so the
runtime value and the entitlement cannot drift. React Native uses a constant
matching its committed entitlements file.

STOREFRONT_MERCHANT_IDENTIFIER is now inert, so it leaves demo.ejson. It
still lingers in .env, .env.example and setup_storefront_env; the phase that
rewrites those code paths removes it there.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant