Objective: Enable Apple Pay and Google Pay (GPay) for a white‑label checkout using Braintree and the Shell CMS. This guide covers CMS settings, Braintree configuration, environment variables.
At‑a‑Glance Workflow
Confirm product model: “Site + Checkout” (main site proxies checkout) or “Checkout‑Only” (standalone subdomain).
Apple Pay: add Apple Domain Verification Token in CMS, update verified domains env, enable Apple Pay and web domains in Braintree, then enable Apple Pay in CMS payment methods.
GPay: verify domain in Google Pay & Wallet Console, then enable Google Pay in CMS with shared merchant ID, and publish.
Enable Apple Pay (VL is the MOR)
Step 1 — Apple Domain Verification Token in CMS
In Shell CMS, go to Checkout Configuration → Payment Settings → Selected Braintree Payment Methods, then add Apple Pay. The token is already in Shell CMS (do not share it externally). You can also find this information on Braintree’s admin page when adding a domain, in the downloadable file.
Step 2 — Add domain to verified domains env (Checkout‑Only)
If the tenant uses Checkout‑Only (no main site proxy), add the checkout domain to the APPLE_VERIFIED_DOMAINS environment variable in the shell‑checkout Vercel project, then redeploy. Currently the ability to do this remains with Nikita Ivahskov, Matt Coneybear, Steven Ferraro & Rob Shelc.
For Checkout‑Only sites, ensure the domain is also added to Apple Verified Domains in Doppler per internal guidance.
Step 3 — Enable Apple Pay + Web Domains in Braintree
Open the correct Braintree merchant account (matching the tenant).
Navigate to Account Settings → Apple Pay → Options → +Add
Add the site hostname(s) under Web Domains. Include:
Checkout‑Only: the checkout subdomain (e.g., checkout.example.com).
Site + Checkout: the main site domain if checkout runs under proxy.
Agree & Add Domain
https://www.braintreegateway.com/merchants/5n2r8dvdp2mmbtw7/processing/apple_pay/certificates
Enable Google Pay (GPay) (VL is the MOR)
Step 1 — Verify Domain in Google Pay & Wallet Console
Submit the tenant domain(s) for Google Pay verification in the shared Google Pay console. Provide UI screenshots of the checkout flow showing the Google Pay button. Approval typically completes within a day or two.
https://pay.google.com/business/console/payment/BCR2DN4TWWOO5AIW
Submit the appropriate domain(s): Checkout‑Only → checkout subdomain; Site + Checkout (proxy) → main site domain. Screenshots can be from a sandbox site; Google primarily checks UI readiness during review.
Step 2 — Enable Google Pay in CMS Payment Methods
In Shell CMS → Checkout Configuration → Payment Settings → Select Braintree Payment Methods, add Google Pay to enabled payment methods and publish. Use the shared Google Merchant ID, do not share the google merchnt ID with external audience.
Do not share tokens with external parties, even when acting as the MOR for their custom build.
Below are resources for adding Google Pay (GPay) and Apple Pay when the client has built their own checkout and acts as the MOR.
Google Pay
Documentation:
https://developer.paypal.com/braintree/docs/guides/google-pay/client-side/javascript/v3/
Once you complete the setup, set up Google Wallet Console
You’ll find the Merchant ID required for the implementation in your Google Wallet Console, which you will provide to VL.
Please capture screenshots of each configuration screen and upload to your google wallet. These screenshots are required by Google for final approval.
Apple Pay
Documentation:
https://developer.paypal.com/braintree/docs/guides/apple-pay/client-side
You’ll need an Apple Pay token as part of the implementation. Based on what I’ve seen, the token remains the same whether Victory Live or the Broker/Partner is the Merchant of Record (MOR).
Once setup is complete, we will register your domain with Apple Pay on our end.
When you build the payload for any transaction, set type to credit_card, not apple_pay, paypal, or google_pay. That is how our system maps and processes these transactions.
Paypal (Info for internal use only)
Braintree connects PayPal at the merchant‑ID (MID) level, and our entire payment flow sits under the single Ticket Evolution MID, so we can’t add PayPal if we aren't the MOR.