An easy-to-use Swift library for In-App Purchases, using Fovea.Billing for receipts validation.
Features
- ✅ Purchase a product
- ✅ Restore purchased products
- ✅ Verify transactions with the App Store on Fovea.Billing server
- ✅ Handle and notify payment transaction states
- ✅ Retreive products information from the App Store
- ✅ Support all product types (consumable, non-consumable, auto-renewable subscription, non-renewing subscription)
- ✅ Status of purchases available when offline
- ✅ Server integration with a Webhook
Basic Usage
This Swift Package is very quick to install and very easy to use. Let’s see the basic usage and go to the documentation for more information.
Initialize the library
InAppPurchase.initialize( iapProducts: [ IAPProduct(productIdentifier: "my_product", productType: .nonConsumable) ], validatorUrlString: "https://validator.fovea.cc/v1/validate?appName=demo&apiKey=12345678" )
Stop library when the application will terminate
InAppPurchase.stop()
Display product information
guard let product: SKProduct = InAppPurchase.getProductBy(identifier: "my_product") else { return } productTitleLabel.text = product.localizedTitle productDescriptionLabel.text = product.localizedDescription productPriceLabel.text = product.localizedPrice
Initialize a purchase
self.loaderView.show() InAppPurchase.purchase( productIdentifier: "my_product", callback: { result in self.loaderView.hide() })
Unlock purchased content
if InAppPurchase.hasActivePurchase(for: "my_product") { // display content related to the product }
Restore purchases
self.loaderView.show() InAppPurchase.restorePurchases( callback: { result in self.loaderView.hide() })
Documentation
See also:
Xcode Demo Project
Do not hesitate to check the demo project available on here: iap-swift-lib-demo.
Coding
Generate the documentation, using Jazzy, just by running jazzy
from the root of the project.
Troubleshooting
Common issues are covered here: https://github.com/iridescent-dev/iap-swift-lib/wiki/Troubleshooting
License
InAppPurchaseLib is open-sourced library licensed under the MIT License. See LICENSE for details.