@zeply-ou/apple-pay-capacitor
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

@zeply-ou/apple-pay-capacitor

npm version

This Apple Pay plugin provides interfaces that allow you to initiate an Apple Pay payment sheet based on provided PaymentRequest.

When transaction is authorized, Payment response is returned along with payment details and more importantly- a payment token that you should pass to your backend.

For Capacitor 5 please use version 5.0.0+

Related

The provided by zeply plugin for native payments with apple pay is a fork of the @fresha/capacitor-plugin-applepay open source plugin.

Install

npm install @zeply-ou/apple-pay-capacitor
npx cap sync

Configuration

Before using this plugin, make sure that your project is correctly configured. Usually your Payment Services Processor will provide detailed instructions, so please read their docs first.

Apple Developer Portal:

  • Add your Merchant identifier
  • Contact with your PSP who will generate CSR that you should pass into Apple Pay Payment Processing Certificate
  • Send the generated certificate to your PSP
  • Edit your App Identifier, add Apple Pay Payment Processing capability, select previously created merchant ID.
  • Renew your provisioning profiles

Xcode

  • Add Apple Pay capability
  • Select previously created merchant identifier
  • Make sure you are using renewed provisioning profiles

API

canMakePayments()

canMakePayments() => any

Indicates whether the device supports Apple Pay.

Returns: any


canMakePayments(...)

canMakePayments(options: CanMakePaymentsRequest) => any

Indicates whether the device supports Apple Pay and whether the user has an active card. This allows more granular control than regular canMakePayments()

Param Type Description
options CanMakePaymentsRequest - Supported networks and capabilities

Returns: any


initiatePayment(...)

initiatePayment(request: InitiatePaymentRequest) => any

Initiates a payment base on PaymentRequest object.

Param Type Description
request InitiatePaymentRequest - PaymentRequest object that will be used for the payment.

Returns: any


completeLastPayment(...)

completeLastPayment(request: CompletePaymentRequest) => any

Completes current payment

Param Type Description
request CompletePaymentRequest - CompletePaymentRequest object containing status

Returns: any


Interfaces

CanMakePaymentsResponse

Prop Type
canMakePayments boolean

CanMakePaymentsRequest

Prop Type
networks {}
capabilities {}

InitiatePaymentRequest

Prop Type
merchantIdentifier string
countryCode string
currencyCode string
supportedCountries {}
supportedNetworks {}
summaryItems {}
requiredShippingContactFields {}
requiredBillingContactFields {}
merchantCapabilities {}
billingContact PaymentContact
shippingContact PaymentContact

PaymentSummaryItem

Prop Type
label string
amount string
type PaymentSummaryItemType

PaymentContact

Prop Type
emailAddress string
phoneNumber string
name PersonNameComponents
postalAddress { street?: string; city?: string; postalCode?: string; country?: string; isoCountryCode?: string; subAdministrativeArea?: string; subLocality?: string; }

PersonNameComponents

Prop Type
familyName string
givenName string
namePrefix string
middleName string
nameSuffix string
nickname string

InitiatePaymentResponse

Prop Type
token { paymentData?: string; transactionIdentifier: string; paymentMethod: { displayName?: string; secureElementPass?: { deviceAccountNumberSuffix: string; deviceAccountIdentifier: string; primaryAccountIdentifier: string; primaryAccountNumberSuffix: string; devicePassIdentifier?: string; pairedTerminalIdentifier?: string; }; }; }
billingContact PaymentContact
shippingContact PaymentContact

CompletePaymentRequest

Prop Type
status PaymentCompletionStatus

Type Aliases

PaymentNetwork

'amex' | 'chinaUnionPay' | 'cartesBancaires' | 'discover' | 'eftpos' | 'electron' | 'idCredit' | 'interac' | 'JCB' | 'maestro' | 'masterCard' | 'privateLabel' | 'quicPay' | 'suica' | 'visa' | 'vPay'

MerchantCapability

'capability3DS' | 'capabilityCredit' | 'capabilityDebit' | 'capabilityEMV'

PaymentSummaryItemType

'pending' | 'final'

ContactField

'emailAddress' | 'name' | 'phoneNumber' | 'phoneticName' | 'postalAddress'

PaymentCompletionStatus

'success' | 'failure'

Readme

Keywords

Package Sidebar

Install

npm i @zeply-ou/apple-pay-capacitor

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

66.5 kB

Total Files

32

Last publish

Collaborators

  • nikos.mastragelis
  • chris.grech