Apple Pay and Google Pay
Wallet buttons on web and in apps. What apay handles, what needs your Apple or Google account, and which processors support it.
How wallets work through apay
- The checkout SDK shows the Apple Pay button in Safari and the Google Pay button in Chrome and Android when the browser has a card in the wallet.
- The wallet returns an encrypted token for the card.
- apay forwards the token to the processor, which decrypts it and authorises the card. Alternatively apay decrypts with your certificates and sends the card data to any processor.
So wallets need a processor that supports them. Processors with wallet support today include Stripe, Adyen, Checkout.com, Cybersource, Airwallex, Bank of America, Worldpay, Novalnet, Nuvei, Datatrans, Braintree and Authorize.net. The sandbox Test processors do not decrypt wallet tokens, so attach a real processor’s test account to try wallets end to end (a Stripe test account takes five minutes to create).
Google Pay
- In Dashboard → Processors → your processor → Google Pay, enter the Google Pay merchant ID (from the Google Pay Business Console) and a merchant name. In test mode any merchant ID works with test cards.
- apay sets the gateway parameters for the processor automatically.
- The button appears in the checkout on supported browsers. No domain verification is needed for the web.
For Android apps, add the Google Pay API to your app and use the same processor configuration.
Apple Pay on the web
Apple requires that the merchant, not apay, owns the merchant identifier and the domain.
- Create a Merchant ID in your Apple Developer account.
- Register the domain that hosts the checkout (for example
shop.example, orapay.tofor the hosted demo). Download the domain association file and serve it athttps://<domain>/.well-known/apple-developer-merchantid-domain-association. On apay-hosted pages, send the file to dev@apay.to and we publish it. - Either use processor-managed Apple Pay (Stripe, Adyen, Checkout.com and others provide the certificate and only need the domain registered on their side), or upload your Payment Processing Certificate and Merchant Identity Certificate in Dashboard → Processors → your processor → Apple Pay. apay then validates the merchant session and decrypts tokens for you.
- Enable the Apple Pay payment method on the processor. The button appears in Safari on macOS and iOS.
Apple Pay in an iOS app
Use the apay iOS SDK with your app’s Apple merchant identifier. The app creates the payment through your server, the SDK presents the Apple Pay sheet, and apay completes the payment with the processor.
Instant virtual cards in Apple Wallet and Google Wallet
If your product needs to issue cards to users and have them appear in the phone’s wallet immediately, that is card issuing with push provisioning, provided by an issuing processor and a BIN sponsor bank rather than by an acquiring processor. apay works with partner issuers for that; see Issuing and wallet cards in the partner kit.
Testing
- Google Pay: test mode works with Google’s test cards on Chrome desktop and Android.
- Apple Pay: use a sandbox tester Apple ID from App Store Connect and Apple’s test cards on a real iPhone or Mac in Safari. Simulators are not supported.
- Wallet payments appear in the dashboard with
payment_method: walletandpayment_method_type: apple_payorgoogle_pay, and produce the same webhooks as card payments.