Enabling Apple Pay within Stripe Connect accounts
We’ve been working on a SaaS product for one of our clients and decided to use Stripe Connect to manage platform payments. Stripe Connect enables organizations onboarded into the platform to have their own Stripe accounts nested within the primary account. For end users, this means they are charged and billed through the relevant organization’s Stripe account. An added benefit is the ability to take a percentage of each transaction as a platform fee.
One of the client’s requirements was to enable Apple Pay and Google Pay for the end users. While enabling Apple Pay on the primary Stripe account is straightforward, we encountered some challenges enabling it on Stripe Connect accounts.
It turns out there’s no direct way to fully enable Apple Pay for Connect accounts via the Stripe dashboard, and the documentation for enabling it programmatically is, unusually for Stripe, somewhat unclear. So, we decided to share our learnings with you. The key point is that you need to add the payment method domain (from which the payment page is served) to the Connect account—not just the primary account.
When you create a Connect account, you’ll receive a stripe_account_id
, which will look something like acct_1234567890asdf
. Since there’s no option to add the payment method domain to a Connect account through the dashboard, this must be done via the API. Ideally, you should handle this during the onboarding or creation process for the Connect account, ensuring it’s ready for use from the start.
Stripe::PaymentMethodDomain.create(
{ domain_name: "your-app-domain.com" },
{ stripe_account: "acct_1234567890asdf" }
)
I hope this guide helps you get started with Stripe Connect and Apple Pay. If you have any questions, feel free to reach out to us!