Skip to content

Files

Latest commit

 

History

History
254 lines (147 loc) · 11 KB

api-docs.md

File metadata and controls

254 lines (147 loc) · 11 KB

A capacitor plugin which simplifies subscription handling - implementing StoreKit 2 and Google Billing 6.

Install

npm install @squareetlbas/capacitor-subscriptions
ionic cap sync

API

getProductDetails(...)

getProductDetails(options: { productIdentifier: string; }) => Promise<ProductDetailsResponse>

Receives a product ID and returns the product details

Param Type
options { productIdentifier: string; }

Returns: Promise<ProductDetailsResponse>


purchaseProduct(...)

purchaseProduct(options: { productIdentifier: string; }) => Promise<PurchaseProductResponse>

Receives the product ID which the user wants to purchase and returns the transaction ID

Param Type
options { productIdentifier: string; }

Returns: Promise<PurchaseProductResponse>


getCurrentEntitlements()

getCurrentEntitlements() => Promise<CurrentEntitlementsResponse>

Returns: Promise<CurrentEntitlementsResponse>


getLatestTransaction(...)

getLatestTransaction(options: { productIdentifier: string; }) => Promise<LatestTransactionResponse>
Param Type
options { productIdentifier: string; }

Returns: Promise<LatestTransactionResponse>


manageSubscriptions(...)

manageSubscriptions(options: { productIdentifier: string; }) => void
Param Type
options { productIdentifier: string; }

setGoogleVerificationDetails(...)

setGoogleVerificationDetails(options: { googleVerifyEndpoint: string; bid: string; }) => void
Param Type
options { googleVerifyEndpoint: string; bid: string; }

addListener('ANDROID-PURCHASE-RESPONSE', ...)

addListener(eventName: 'ANDROID-PURCHASE-RESPONSE', listenerFunc: (response: AndroidPurchasedTrigger) => void) => Promise<PluginListenerHandle> & PluginListenerHandle
Param Type
eventName 'ANDROID-PURCHASE-RESPONSE'
listenerFunc (response: AndroidPurchasedTrigger) => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle


Interfaces

ProductDetailsResponse

Prop Type
responseCode ProductDetailsResponseCode
responseMessage ProductDetailsResponseMessage
data Product

Product

Prop Type
productIdentifier string
price string
displayName string
description string

PurchaseProductResponse

Prop Type
responseCode 0 | 1 | 2 | 5 | 4 | 3 | -1
responseMessage 'Incompatible with web' | 'Could not find a product matching the given productIdentifier' | 'Successfully purchased product' | 'Product seems to have been purchased but the transaction failed verification' | 'User closed the native popover before purchasing' | 'Product request made but is currently pending - likely due to parental restrictions' | 'An unknown error occurred whilst in the purchasing process' | 'Successfully opened native popover' | 'Failed to open native popover'

CurrentEntitlementsResponse

Prop Type
responseCode CurrentEntitlementsResponseCode
responseMessage CurrentEntitlementsResponseMessage
data Transaction[]

Transaction

Prop Type
productIdentifier string
expiryDate string
originalStartDate string

LatestTransactionResponse

Prop Type
responseCode LatestTransactionResponseCode
responseMessage LatestTransactionResponseMessage
data Transaction

PluginListenerHandle

Prop Type
remove () => Promise<void>

AndroidPurchasedTrigger

Prop Type
fired boolean

Type Aliases

ProductDetailsResponseCode

-1 | 0 | 1

ProductDetailsResponseMessage

"Incompatible with web" | "Successfully found the product details for given productIdentifier" | "Could not find a product matching the given productIdentifier"

PurchaseProductIOSResponseCode

-1 | 0 | 1 | 2 | 3 | 4 | 5

PurchaseProductAndroidResponseCode

-1 | 0 | 1

PurchaseProductIOSResponseMessage

"Incompatible with web" | "Successfully purchased product" | "Could not find a product matching the given productIdentifier" | "Product seems to have been purchased but the transaction failed verification" | "User closed the native popover before purchasing" | "Product request made but is currently pending - likely due to parental restrictions" | "An unknown error occurred whilst in the purchasing process"

PurchaseProductAndroidResponseMessage

"Incompatible with web" | "Successfully opened native popover" | "Failed to open native popover"

CurrentEntitlementsResponseCode

-1 | 0 | 1 | 2

CurrentEntitlementsResponseMessage

"Incompatible with web" | "Successfully found all entitlements across all product types" | "No entitlements were found" | "Unknown problem trying to retrieve entitlements" |

LatestTransactionResponseCode

-1 | 0 | 1 | 2 | 3

LatestTransactionResponseMessage

"Incompatible with web" | "Successfully found the latest transaction matching given productIdentifier" | "Could not find a product matching the given productIdentifier" | "No transaction for given productIdentifier, or it could not be verified" | "Unknown problem trying to retrieve latest transaction"