Classes▲
| 
						 A product registered in the store.  | 
				|
| 
						 Contains information about a transaction in the external app store.  | 
				|
| 
						 Comminucates with external store.  | 
				
Check out Base Classes which include InAppProduct, InAppStore, InAppTransaction and InAppPurchaseBackend
IosInAppPurchaseProduct▲
IosInAppPurchaseProduct adds purchase() for initializing purchasing process.
IosInAppPurchaseTransaction▲
IosInAppPurchaseTransaction adds new parameters and return types. Transaction error handling is implemented on IosInAppPurchaseTransaction's constructor. The class has the finalize() function that finalizes the transaction.
IosInAppPurchaseBackend▲
IosInAppPurchaseBackend uses Objective-C language to communicate with the App Store.
Initializing the products▲
This class shows the product's information on the store page.
- 
						
IosInAppPurchaseBackend is called from InAppStore::setupBackend().
 - 
						
At initialization IosInAppPurchaseBackend creates InAppPurchaseManager with Objective-C.
 - 
						
InAppStore::registerProduct(productType, &identifier) function is called and queryProduct() is executed in the back end.
 - 
						
Objective-C function requestProductData:() is called and will make SKProductRequest.
 - 
						
After SKProductRequest is finished and product objects has been created in Objective-C productsRequest:(), products will be registered by the IosInAppPurchaseBackend::registerProduct() function.
 - 
						
Signal productQueryDone() will be emitted and the item's information will be visible on the application's store page.
 
Purchasing process▲
- 
						
The user presses one of the products on the applications store page.
 - 
						
IosInAppPurchaseProduct::purchase() function is called and payment is added to the SKPaymentQueue in the Objective-C function paymentQueue:() in IosInAppPurchaseBackend.
 - 
						
Purchase confirmation pop-up is launched for the user.
 


