Apple Pay
A dependency free Cordova plugin to provide Apple Pay functionality.
https://github.com/samkelleher/cordova-plugin-applepay
Stuck on a Cordova issue?
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.
Installation#
- Capacitor
- Cordova
- Enterprise
$ npm install cordova-plugin-applepay $ npm install @ionic-native/apple-pay $ ionic cap sync$ ionic cordova plugin add cordova-plugin-applepay $ npm install @ionic-native/apple-pay Ionic Enterprise comes with fully supported and maintained plugins from the Ionic Team. Learn More or if you're interested in an enterprise version of this plugin Contact Us
Supported Platforms#
- iOS
Usage#
React#
Learn more about using Ionic Native components in React
Angular#
import { ApplePay } from '@ionic-native/apple-pay/ngx';
constructor(private applePay: ApplePay) { }
...async applePay() { // This block is optional -- only if you need to update order items/shipping // methods in response to shipping method selections this.applePay.startListeningForShippingContactSelection() .subscribe(async selection => { try { await this.applePay.updateItemsAndShippingMethods({ items: getFromSelection(selection), shippingMethods: getFromSelection(selection), }); } catch { // handle update items error } });
try { const applePayTransaction = await this.applePay.makePaymentRequest({ items, shippingMethods, merchantIdentifier, currencyCode, countryCode, billingAddressRequirement: ['name', 'email', 'phone'], shippingAddressRequirement: 'none', shippingType: 'shipping' });
const transactionStatus = await completeTransactionWithMerchant(applePayTransaction); await this.applePay.completeLastTransaction(transactionStatus); } catch { // handle payment request error // Can also handle stop complete transaction but these should normally not occur }
// only if you started listening before await this.applePay.stopListeningForShippingContactSelection();}