> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Make a Purchase — iOS

Get the product using its ID from the Qonversion [Dashboard](https://dash.qonversion.io/entitlements/products).

<CodeGroup>
  ```swift Swift theme={null}
  Qonversion.shared().products { products, error in
      if let product = products["your_product_id"] {
          // Use product to make a purchase
      }
  }
  ```

  ```objectivec Objective-C theme={null}
  [[Qonversion sharedInstance] products:^(NSDictionary<NSString *,QONProduct *> * _Nonnull products, NSError * _Nullable error) {
      QONProduct *product = products[@"your_product_id"];
      // Use product to make a purchase
  }];
  ```
</CodeGroup>

Then initiate the purchase where needed in your app.

<CodeGroup>
  ```swift Swift theme={null}
  Qonversion.shared().purchase(product) { (result) in
    if result.isSuccessful {
      if let premium: Qonversion.Entitlement = result.entitlements["premium"], premium.isActive {
        // Grant user access to premium features
      }
    } else if result.isCanceledByUser {
      // Handle canceled purchase
    } else if result.isPending {
      // Handle pending purchase
    } else {
      // Handle errors
    }
  }
  ```

  ```objectivec Objective-C theme={null}
  [[Qonversion sharedInstance] purchaseWithResult:product completion:^(QONPurchaseResult * _Nonnull result) {
    if (result.isSuccessful) {
      QONEntitlement *premiumEntitlement = result.entitlements[@"premium"];
      if (premiumEntitlement && premiumEntitlement.isActive) {
        // Grant user access to premium features
      }
    } else if (result.isCanceledByUser) {
      // Handle canceled purchase
    } else if (result.isPending) {
      // Handle pending purchase
    } else {
      // Handle errors
    }
  }];
  ```
</CodeGroup>
