---
title: "purchase(compactJWS:confirmIn:options:)"
framework: storekit
role: symbol
role_heading: Instance Method
path: "storekit/advancedcommerceproduct/purchase(compactjws:confirmin:options:)-7x4bh"
---

# purchase(compactJWS:confirmIn:options:)

Processes a purchase for the product.

## Declaration

```swift
func purchase(compactJWS: String, confirmIn window: NSWindow, options: Set<AdvancedCommerceProduct.PurchaseOption> = []) async throws -> AdvancedCommerceProduct.PurchaseResult
```

## Parameters

- `compactJWS`: The compact JSON Web Signature (JWS) string for the operation.
- `window`: The window the system uses to display purchase confirmation UI in proximity to.
- `options`: A set of purchase options.

## Return Value

Return Value The result of the purchase.

## Discussion

Discussion note: A PurchaseError, StoreKitError, or InvalidRequest error.

## See Also

### Initiating purchases

- [AdvancedCommerceProduct.PurchaseOption](storekit/advancedcommerceproduct/purchaseoption.md)
- [purchase(compactJWS:confirmIn:options:)](storekit/advancedcommerceproduct/purchase(compactjws:confirmin:options:)-54lkw.md)
- [purchase(compactJWS:options:)](storekit/advancedcommerceproduct/purchase(compactjws:options:).md)
- [AdvancedCommerceProduct.PurchaseResult](storekit/advancedcommerceproduct/purchaseresult.md)
