Apple Pay
Ezypay now supports Visa and Mastercard payments via Apple Pay. This provides a faster, more secure way for customers to pay using Apple Pay on supported Apple devices (iPhone, iPad, etc.) — helping increase conversion rates.
👉 To learn more about Apple Pay, visit the Apple Pay website.
Kindly refer to supported payment methods for the regional availability of Google Pay.
How Apple Pay Works
Apple Pay functions as a secure pass‑through payment method within Ezypay. It allows customers to pay using the card stored in their Apple Wallet without exposing raw card details for the transaction. Ezypay returns a payment method token, which can be safely stored and reused in the same way as any other card‑on‑file token.
Apple Pay supports both recurring and one‑off payment flows.
-
Recurring Payments
Collected through the Payment capture page, which returns a reusable payment method token for ongoing billing. It can then be used in a subscription or on-demand invoice to process recurring payments.
-
One-off Payments
Supported through two options:
- Payment capture page - Collects a token that can be used immediately or stored for later use. It can then be used with on-demand invoice to create one-off payment.
- Checkout - Displays a Apple Pay button for instant payment. The payment method token returned cannot be reused.
For checkout, Apple Pay button will only appears on a compatible device


- Customer selects the Apple Pay accordion and click the Apple Pay button
2. On a non-compatible device, a QR will be display and request for scanning. Jump straight to step #3 on compatible devices.
3. Apple Pay will appears on compatible devices and ask for authorisation
4. Customer chose to link their card
5. Payment Method is successfully created and payment method token is returned

Integration Notes for Developers
Domain Registration
Apple mandates domain verification for any app or integration that uses Apple Pay with recurring payments. All merchants who wish to enable Apple Pay must complete this domain registration process before Apple Pay can be activated.
When requesting Apple Pay enablement, please provide the following details to Ezypay:
- Hosting the Apple domain verification file provided by Ezypay
- You must host this file at the following path on each registered domain:
<root>/.well-known/apple-developer-merchantid-domain-association - Apple validates this file when registering the domain and every time the Apple Pay payment sheet is invoked, so it must remain accessible at all times.
- You must host this file at the following path on each registered domain:
- All domains involved in hosting the payment capture flow
- This includes the domain that hosts the payment capture page.
- If the payment capture page is embedded on another website via a HTML
iframe, both the widget domain and the website domain must be registered. - Important: If the payment flow involves multiple domains at any point, every domain involved must be registered with Apple. Missing even one domain will cause Apple Pay to fail.
- Provide the Full Qualified Domain Name (FQDN) for the registration.
Example
| Type | URL Example | Association File Path |
|---|---|---|
HTML iframe | https://integrators.domain.com | https://integrators.domain.com/.well-known/apple-developer-merchantid-domain-association |
| Website | https://merchants.domain.com | https://merchants.domain.com/.well-known/apple-developer-merchantid-domain-association |
If your payment capture flow spans across multiple domains, register all the domains.
Failing to do the above will result in the payment sheet opening briefly and then closing automatically. An error message will then return in the Payment capture page.
Provide a management URL
Apple Pay requires integrators to provide a Management URL for recurring payments. This URL must direct users to a web page where they can view, update, or delete the payment method associated with their recurring subscription.
You can supply the management URL in one of the following ways:
-
During merchant onboarding with Ezypay
- Provide a fixed management URL as part of the merchant onboarding process.
-
Dynamically via the payment capture page
- If you require dynamic control over the management URL, you may pass it as a query string parameter (
paymentMethodManagement) when loading the payment capture page:
- If you require dynamic control over the management URL, you may pass it as a query string parameter (
Important Notes
- The full URL must be provided, including the scheme (E.g.,
https://integrators.domain.com/manage/customers). - The management URL must be accessible to end users and allow them to manage their recurring Apple Pay payment method. You may request user to login after redirecting to the page.
The URL will appear in the customers' Apple Pay app as screenshot below.
Payload Structure
Integrators need to ensure the correct information is displayed when the payment method details is displayed on their application. When a customer pays using Apple Pay, Ezypay returns a tokenized card payload. Example below:
{
"data": {
"paymentMethodToken": "785095a8-a40c-4d41-b913-97b1bdcb5f0a",
"customerId": "88379c2b-3be2-4e54-b922-b5d3a4815afe",
"type": "CARD",
"bank": null,
"payTo": null,
"card": {
"first6": "999999",
"last4": "0121",
"accountHolderName": "Apple Pay + Given Family Name",
"type": "VISA",
"expiryMonth": "00",
"expiryYear": "00",
"origin": "applepay",
"tokenDetails": {
"tokenType": "applepay",
"friendlyDisplay": "VISA 0121",
"originalLast4": "0121",
"tokenFirst6": "481852",
"tokenLast4": "3021",
"tokenExpiry": "01-30"
},
"tokenized": true
}
}{
"data": {
"paymentMethodToken": "b3945926-ba8b-42fb-b00b-3e50b70d9cee",
"customerId": "89d36440-c7c9-4e0d-aab0-c9e38d249390",
"type": "CARD",
"bank": null,
"payTo": null,
"card": {
"first6": "411111",
"last4": "1111",
"accountHolderName": "test",
"type": "VISA",
"expiryMonth": "3",
"expiryYear": "27",
"origin": null,
"tokenDetails": null,
"tokenized": false
},
"invalidReason": null,
"lastUsedOn": null,
"replacedPaymentMethodData": null,
"wallet": null,
"valid": true,
"primary": true
}
}Key Fields
| Object information | Description |
|---|---|
| data.card.paymentMethodToken | Ezypay's unique token for the Apple Pay payment method. |
| data.card.accountHolderName | Ezypay provides a fixed template to be used to identify the customer linked to the payment type. |
| data.card.last4 | Last four digits of the real card linked to Apple Pay |
| data.card.type | Card brand (e.g. VISA, Mastercard) |
| data.card.origin | Indicates if the payment was made via Apple Pay |
Apple Pay does not provide card expiry details. Ensure your frontend does not display any expiry date for Apple Pay payment methods.
Display format
When showing Apple Pay transactions in your UI, use the following format:
[Apple Pay] | Visa **** 0121
Refer to the Apple Pay Marketing Guidelines for official logos and usage rules.
Please refer to the sandbox guide on testing with Apple Pay
Updated about 5 hours ago