Skip to main content

Apple Wallet

A Cordova plugin that enables users from Add Payment Cards to their Apple Wallet.

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.


$ npm install cordova-apple-wallet $ npm install @ionic-native/apple-wallet $ ionic cap sync

Supported Platforms#

  • iOS



Learn more about using Ionic Native components in React


import { AppleWallet } from '@ionic-native/apple-wallet/ngx';

constructor(private appleWallet: AppleWallet) { }


// Simple call to determine if the current device supports Apple Pay and has a supported card installed.this.appleWallet.isAvailable() .then((res: boolean) => {   // Expect res to be boolean  }) .catch((err) => {   // Catch {{err}} here });

// Simple call to check Card Eligibilitythis.appleWallet.checkCardEligibility(primaryAccountIdentifier: string) .then((res: boolean) => {   // Expect res to be boolean  }) .catch((err) => {   // Catch {{err}} here });


// Simple call to checkCardEligibilityBySuffixthis.appleWallet.checkCardEligibilityBySuffix(cardSuffix: string) .then((res: boolean) => {   // Expect res to be boolean  }) .catch((err) => {   // Catch {{err}} here });

// Simple call to check out if there is any paired Watches so that you can toggle visibility of 'Add to Watch' buttonthis.appleWallet.checkPairedDevices() .then((res: WatchExistData) => {   // object contains boolean flags showing paired devices  }) .catch((err) => {   // Catch {{err}} here });


// Simple call to check paired devices with a card by its suffixthis.appleWallet.checkPairedDevicesBySuffix(cardSuffix: string) .then((res: PairedDevicesFlags) => {   // object contains boolean values that ensure that card is already exists in wallet or paired-watch  }) .catch((err) => {   // Catch {{err}} here });


// Simple call with the configuration data needed to instantiate a new PKAddPaymentPassViewController object.// This method provides the data needed to create a request to add your payment pass (credit/debit card). After a successful callback, pass the certificate chain to your issuer server-side using our callback delegate method `AppleWallet.completeAddPaymentPass`. The issuer server-side should returns an encrypted JSON payload containing the encrypted card data, which is required to be get the final response
this.appleWallet.startAddPaymentPass(data: cardData) .then((res: SignatureCertificatesData) => {   // User proceed and successfully asked to add card to his wallet   // Use the callback response JSON payload to complete addition process  }) .catch((err) => {   // Catch {{err}} here });


this.appleWallet.completeAddPaymentPass(data: encryptedCardData) .then((res: string) => {   // Expect res to be string either 'success' or 'error'  }) .catch((err) => {   // Catch {{err}} here   // Error and can not add the card, or something wrong happend   // PKAddPaymentPassViewController will be dismissed });