Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/juandl/capacitor-jd-apple-pay

This plugin serves as a wrapper for Apple Pay, facilitating the generation of an Apple Pay token and its subsequent transmission to the backend.
https://github.com/juandl/capacitor-jd-apple-pay

apple capacitorjs ionic ios javascript typescript

Last synced: about 1 month ago
JSON representation

This plugin serves as a wrapper for Apple Pay, facilitating the generation of an Apple Pay token and its subsequent transmission to the backend.

Awesome Lists containing this project

README

        

# capacitor-jd-apple-pay

This plugin serves as a wrapper for Apple Pay, facilitating the generation of an Apple Pay token and its subsequent transmission to the backend.

Feel free to open new PRs.. :)

## Supported Platforms

- iOS

## Features

- **Wallet Availability Check**: Verify whether the Apple Wallet is available on the device.
- **Payment Request**: Initiate a payment request through Apple Pay and retrieve the payment token.
- **Payment Completion**: Finalize the payment process after the token has been successfully sent to the backend.

## Todo

- [ ] Create tests.
- [ ] Add support for `ApplePayShippingContact`.
- [ ] Add support for `ApplePayShippingMethod`.

## Install

```bash
npm install capacitor-jd-apple-pay
npx cap sync
```

## API

* [`canMakePayment()`](#canmakepayment)
* [`completePayment(...)`](#completepayment)
* [`requestPayment(...)`](#requestpayment)
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)

### canMakePayment()

```typescript
canMakePayment() => Promise<{ success: boolean; }>
```

**Returns:** Promise<{ success: boolean; }>

--------------------

### completePayment(...)

```typescript
completePayment(params: ApplePayCompleteRequest) => Promise
```

| Param | Type |
| ------------ | --------------------------------------------------------------------------- |
| **`params`** | ApplePayCompleteRequest |

--------------------

### requestPayment(...)

```typescript
requestPayment(params: ApplePayPaymentRequest) => Promise
```

| Param | Type |
| ------------ | ------------------------------------------------------------------------- |
| **`params`** | ApplePayPaymentRequest |

**Returns:** Promise<ApplePayResponseRequest>

--------------------

### Interfaces

#### ApplePayCompleteRequest

| Prop | Type |
| ------------ | ----------------------------------- |
| **`status`** | 'success' \| 'failure' |

#### ApplePayResponseRequest

| Prop | Type |
| --------------------------- | ------------------- |
| **`paymentData`** | string |
| **`transactionIdentifier`** | string |

#### ApplePayPaymentRequest

| Prop | Type |
| -------------------------- | ------------------------------------------------------------- |
| **`merchantIdentifier`** | string |
| **`merchantCapabilities`** | ApplePayMerchantCapability[] |
| **`supportedNetworks`** | ApplePaySupportedNetworks[] |
| **`total`** | ApplePayLineItem |
| **`countryCode`** | string |
| **`currencyCode`** | string |

### Type Aliases

#### ApplePayMerchantCapability

'supports3DS' | 'supportsCredit' | 'supportsDebit'

#### ApplePaySupportedNetworks

'amex' | 'discover' | 'JCB' | 'masterCard' | 'visa'

#### ApplePayLineItem

{ amount: string; label: string; }

## Author

- **Juan David** - *Initial work* - [juandl](https://github.com/juandl)