This page compares four Apple Pay integration options and their different requirements for runtime environment, frontend work, and token handling. Waffo supports Apple Pay through hosted Checkout and Merchant-built payment experiences.
Follow the recommended decision order
For most Merchants, start with one of the first three Waffo-hosted Apple Pay options. You can reuse the Apple Pay capabilities in Waffo Checkout instead of applying for an Apple Developer account, managing Apple Pay certificates, or implementing token decryption. Then select the presentation that fits your product:
- You can open a standalone payment page: Redirect to Waffo Checkout. This option works for websites, mobile web pages, and apps, and provides the most direct default integration path.
- You need to keep the customer in your Merchant app: Load Waffo Checkout in an App WebView.
- You need to keep the customer on the current web or H5 page: Use the iframe managed by the Waffo frontend SDK, and complete domain verification and registration in advance.
- You must fully control the Apple Pay UI and token: Integrate directly only when the Merchant has an Apple Developer account, Merchant ID, Apple Pay certificates, and the required PCI DSS compliance status, and your team can manage server-side decryption and ongoing compliance.
Unless your product experience or compliance boundary requires the Merchant to process the Apple Pay token, use Waffo-hosted Checkout. Direct integration has the highest cost and requires the Merchant to maintain Apple accounts and certificates, PCI DSS compliance, cryptographic implementation, and long-term operations.
Compare integration options
Here, terminal means the runtime that hosts Waffo Checkout or the Merchant’s Apple Pay UI. App WebView is an app integration: the outer container is the Merchant’s native or hybrid iOS app, while a WebView loads Waffo Checkout. An Android app can reuse the WebView Checkout pattern for other payment methods, but Apple Pay does not apply to an Android terminal.
Option 1: Redirect to Waffo Checkout
Call /api/v1/order/create, parse orderAction from the response, and open orderAction.webUrl in the browser’s top-level page.
Waffo Checkout displays Apple Pay in this option. You don’t integrate Apple Pay JS on your page or handle an Apple Pay token. Use the Webhook or the /api/v1/order/inquiry result as the source of truth for payment status.
Choose this option first when you do not need to keep the customer on the current page or inside your app. It has the fewest page-container and frontend dependencies and keeps redirects and payment-result handling consistent.
Option 2: Load Waffo Checkout in an App WebView
Open orderAction.webUrl in your App WebView. Send userTerminal=APP when creating the order so Waffo returns a link suitable for an app.
Make sure the WebView can handle external pages or wallet navigation, and preserve the complete query string when your app passes a URL to or from the WebView.
Option 3: Load Waffo Apple Pay Checkout in an iframe
An iframe integration must use the Waffo frontend SDK @waffo/payment-sdk. Before integration, contact Waffo technical support to complete Apple Pay domain verification and registration. Do not load orderAction.webUrl in a plain <iframe>.
The frontend SDK renders and manages the Checkout iframe on your page. Your integration must also meet the Checkout iframe requirements for allow="payment", Referrer Policy, and responsive layout. See Frontend SDK usage and iframe embedding considerations.
Do not launch iframe Apple Pay before domain verification and registration are complete. The Apple Pay button may not appear, or payment authorization may not proceed.
Option 4: Integrate directly with Apple Pay
Choose this option only when the Waffo-hosted options cannot meet your UI, interaction, or responsibility-boundary requirements and the Merchant already has the Apple Developer account and certificate setup, the required PCI DSS compliance status, server-side decryption, and ongoing compliance capabilities. For the complete prerequisites, decryption steps, and pass-through format, see Direct Apple Pay integration.