PFPurchase Class Reference

Inherits from NSObject
Declared in PFPurchase.h

Overview

PFPurchase provides a set of APIs for working with in-app purchases.

This class is currently for iOS only.

+ addObserverForProduct:block:

Add application logic block which is run when buying a product.

+ (void)addObserverForProduct:(NSString *)productIdentifier block:(PFPurchaseProductObservationBlock)block

Parameters

productIdentifier

the product identifier

block

The block to be run when buying a product.

Discussion

This method should be called once for each product, and should be called before calling buyProduct:block:. All invocations to <addObserverForProduct:block:> should happen within the same method, and on the main thread. It is recommended to place all invocations of this method in application:didFinishLaunchingWithOptions:.

Declared In

PFPurchase.h

+ buyProduct:block:

Asynchronously initiates the purchase for the product.

+ (void)buyProduct:(NSString *)productIdentifier block:(nullable PFPurchaseBuyProductResultBlock)block

Parameters

productIdentifier

the product identifier

block

the completion block.

Declared In

PFPurchase.h

+ downloadAssetForTransaction:completion:

Asynchronously download the purchased asset, which is stored on Parse’s server.

+ (void)downloadAssetForTransaction:(SKPaymentTransaction *)transaction completion:(PFPurchaseDownloadAssetResultBlock)completion

Parameters

transaction

the transaction, which contains the receipt.

completion

the completion block.

Discussion

Parse verifies the receipt with Apple and delivers the content only if the receipt is valid.

Declared In

PFPurchase.h

+ downloadAssetForTransaction:completion:progress:

Asynchronously download the purchased asset, which is stored on Parse’s server.

+ (void)downloadAssetForTransaction:(SKPaymentTransaction *)transaction completion:(PFPurchaseDownloadAssetResultBlock)completion progress:(nullable PFProgressBlock)progress

Parameters

transaction

the transaction, which contains the receipt.

completion

the completion block.

progress

the progress block, which is called multiple times to reveal progress of the download.

Discussion

Parse verifies the receipt with Apple and delivers the content only if the receipt is valid.

Declared In

PFPurchase.h

+ restore

Asynchronously restore completed transactions for the current user.

+ (void)restore

Discussion

Only nonconsumable purchases are restored. If observers for the products have been added before calling this method, invoking the method reruns the application logic associated with the purchase.

Warning: This method is only important to developers who want to preserve purchase states across different installations of the same app.

Declared In

PFPurchase.h

+ assetContentPathForProduct:

Returns a content path of the asset of a product, if it was purchased and downloaded.

+ (nullable NSString *)assetContentPathForProduct:(PFProduct *)product

Discussion

To download and verify purchases use downloadAssetForTransaction:completion:.

Warning: This method will return nil, if the purchase wasn’t verified or if the asset was not downloaded.

Declared In

PFPurchase.h