Apple Pay eligibility

Because Apple Pay is loosely coupled with the WLW system, it is important to check to see if a user is still eligible to make a payment with Apple Pay.

For example, a user could have de-activated his Apple Pay account with iOS, but did not remove his Apple Pay from his mobile wallet. By checking to see if a user can make payments with Apple Pay at the right times, you can avoid a synchronization issue.

There are two specific times you should always check to see if the user can make payments with Apple Pay:

  1. Before Account Provisioning
  2. Before presenting the user the option to Pay with Apple Pay during a transaction

Before creating a payment request, call Apple’s iOS canMakePaymentsUsingNetworks: method (PKPaymentAuthorizationViewController class) to determine whether the user will be able to make payments on a network that you support. Use the canMakePayments method to check whether the device’s hardware and parental controls permit Apple Pay usage.

Result Action
NO If canMakePayments returns NO, the device does not support Apple Pay. In this case the app should not display the Apple Pay button. Instead, the app should fall back to another method of payment.
YES If canMakePayments returns YES but canMakePaymentsUsingNetworks: returns NO, the device supports Apple Pay, but the user has not added a card for any of the requested networks.

You can, optionally, display a payment setup button, prompting the user to set up her card. As soon as the user taps this button, initiate the process of setting up a new card (for example, by calling the openPaymentSetup method). Otherwise, as soon as the user presses the Apple Pay button, you must begin the payment authorization process.

Note: Do not ask the user to perform any other tasks before presenting the payment request. For example, if the user needs to enter a discount code, you must ask for the code before she presses the Apple Pay button.