Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Cap-go/native-purchases
Manage IAP on capacitor with latest libs Android IOS
https://github.com/Cap-go/native-purchases
capacitor capacitor-plugin
Last synced: 3 months ago
JSON representation
Manage IAP on capacitor with latest libs Android IOS
- Host: GitHub
- URL: https://github.com/Cap-go/native-purchases
- Owner: Cap-go
- Created: 2023-08-11T18:04:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-08T05:06:48.000Z (7 months ago)
- Last Synced: 2024-04-14T02:23:01.723Z (7 months ago)
- Topics: capacitor, capacitor-plugin
- Language: Java
- Homepage:
- Size: 299 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- awesome-capacitor - Native Purchases - Manage IAP on capacitor with latest libs Android and IOS. ([Capgo plugins](https://capgo.app/))
README
In-app Purchases Made Easy
## Install
```bash
npm install native-purchases
npx cap sync
```## Android
Add this to manifest
```xml
```
## API
* [`restorePurchases()`](#restorepurchases)
* [`purchaseProduct(...)`](#purchaseproduct)
* [`getProducts(...)`](#getproducts)
* [`isBillingSupported()`](#isbillingsupported)
* [`getPluginVersion()`](#getpluginversion)
* [Interfaces](#interfaces)
* [Enums](#enums)### restorePurchases()
```typescript
restorePurchases() => any
```Restores a user's previous and links their appUserIDs to any user's also using those .
**Returns:**
any
--------------------
### purchaseProduct(...)
```typescript
purchaseProduct(options: { productIdentifier: string; planIdentifier?: string; productType?: PURCHASE_TYPE; quantity?: number; }) => any
```Started purchase process for the given product.
| Param | Type | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| **`options`** |{ productIdentifier: string; planIdentifier?: string; productType?: PURCHASE_TYPE; quantity?: number; }
| - The product to purchase |**Returns:**
any
--------------------
### getProducts(...)
```typescript
getProducts(options: { productIdentifiers: string[]; planIdentifier?: string; productType?: PURCHASE_TYPE; }) => any
```Gets the product info associated with a list of product identifiers.
| Param | Type | Description |
| ------------- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| **`options`** |{ productIdentifiers: {}; planIdentifier?: string; productType?: PURCHASE_TYPE; }
| - The product identifiers you wish to retrieve information for |**Returns:**
any
--------------------
### isBillingSupported()
```typescript
isBillingSupported() => any
```Check if billing is supported for the current device.
**Returns:**
any
--------------------
### getPluginVersion()
```typescript
getPluginVersion() => any
```Get the native Capacitor plugin version
**Returns:**
any
--------------------
### Interfaces
#### CustomerInfo
| Prop | Type | Description |
| ------------------------------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **`activeSubscriptions`** |[string]
| Set of active subscription skus |
| **`allPurchasedProductIdentifiers`** |[string]
| Set of purchased skus, active and inactive |
| **`nonSubscriptionTransactions`** |{}
| Returns all the non-subscription a user has made. The are ordered by purchase date in ascending order. |
| **`latestExpirationDate`** |string \| null
| The latest expiration date of all purchased skus |
| **`firstSeen`** |string
| The date this user was first seen in RevenueCat. |
| **`originalAppUserId`** |string
| The original App User Id recorded for this user. |
| **`requestDate`** |string
| Date when this info was requested |
| **`originalApplicationVersion`** |string \| null
| Returns the version number for the version of the application when the user bought the app. Use this for grandfathering users when migrating to subscriptions. This corresponds to the value of CFBundleVersion (in iOS) in the Info.plist file when the purchase was originally made. This is always null in Android |
| **`originalPurchaseDate`** |string \| null
| Returns the purchase date for the version of the application when the user bought the app. Use this for grandfathering users when migrating to subscriptions. |
| **`managementURL`** |string \| null
| URL to manage the active subscription of the user. If this user has an active iOS subscription, this will point to the App Store, if the user has an active Play Store subscription it will point there. If there are no active subscriptions it will be null. If there are multiple for different platforms, it will point to the device store. |#### Transaction
| Prop | Type | Description |
| ------------------- | ------------------- | -------------------------------------------- |
| **`transactionId`** |string
| RevenueCat Id associated to the transaction. |#### Product
| Prop | Type | Description |
| --------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **`identifier`** |string
| Product Id. |
| **`description`** |string
| Description of the product. |
| **`title`** |string
| Title of the product. |
| **`price`** |number
| Price of the product in the local currency. |
| **`priceString`** |string
| Formatted price of the item, including its currency sign, such as €3.99. |
| **`currencyCode`** |string
| Currency code for price and original price. |
| **`currencySymbol`** |string
| Currency symbol for price and original price. |
| **`isFamilyShareable`** |boolean
| Boolean indicating if the product is sharable with family |
| **`subscriptionGroupIdentifier`** |string
| Group identifier for the product. |
| **`subscriptionPeriod`** |SubscriptionPeriod
| The Product subcription group identifier. |
| **`introductoryPrice`** |SKProductDiscount \| null
| The Product introductory Price. |
| **`discounts`** |{}
| The Product discounts list. |#### SubscriptionPeriod
| Prop | Type | Description |
| ------------------- | ------------------- | --------------------------------------- |
| **`numberOfUnits`** |number
| The Subscription Period number of unit. |
| **`unit`** |number
| The Subscription Period unit. |#### SKProductDiscount
| Prop | Type | Description |
| ------------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **`identifier`** |string
| The Product discount identifier. |
| **`type`** |number
| The Product discount type. |
| **`price`** |number
| The Product discount price. |
| **`priceString`** |string
| Formatted price of the item, including its currency sign, such as €3.99. |
| **`currencySymbol`** |string
| The Product discount currency symbol. |
| **`currencyCode`** |string
| The Product discount currency code. |
| **`paymentMode`** |number
| The Product discount paymentMode. |
| **`numberOfPeriods`** |number
| The Product discount number Of Periods. |
| **`subscriptionPeriod`** |SubscriptionPeriod
| The Product discount subscription period. |### Enums
#### PURCHASE_TYPE
| Members | Value | Description |
| ----------- | -------------------- | ---------------------------------- |
| **`INAPP`** |"inapp"
| A type of SKU for in-app products. |
| **`SUBS`** |"subs"
| A type of SKU for subscriptions. |