# NonSubscriptionTransaction

Represents a non-subscription transaction (consumables and non-consumables).

Introduced in 4.10.0. The `store` property was added in 4.11.0.

## [Purpose](/content/docs/ios/sdk-reference/NonSubscriptionTransaction#purpose/index.html)

Provides details about one-time purchases in [`CustomerInfo`](/content/docs/ios/sdk-reference/customerInfo/index.html), including which store fulfilled the purchase.

## [Properties](/content/docs/ios/sdk-reference/NonSubscriptionTransaction#properties/index.html)

| Prop            | Type             |
|-----------------|------------------|
| `transactionId` | String           |
| `productId`    | String           |
| `purchaseDate` | Date             |
| `isConsumable`  | Bool             |
| `isRevoked`    | Bool             |
| `store`        | ProductStore     |

### [Store values](/content/docs/ios/sdk-reference/NonSubscriptionTransaction#store-values/index.html)

`appStore`, `stripe`, `paddle`, `playStore`, `superwall`, `custom`, `other`.

## [Usage](/content/docs/ios/sdk-reference/NonSubscriptionTransaction#usage/index.html)

Inspect non-subscription purchases:

```swift
let customerInfo = Superwall.shared.customerInfo

for purchase in customerInfo.nonSubscriptions {
  print("Product: \(purchase.productId)")
  print("Store: \(purchase.store)")
  print("Consumable: \(purchase.isConsumable)")
  print("Revoked: \(purchase.isRevoked)")
}
```

## [Related](/content/docs/ios/sdk-reference/NonSubscriptionTransaction#related/index.html)

- [`CustomerInfo`](/content/docs/ios/sdk-reference/customerInfo/index.html) - Source of transaction data
- [`SubscriptionTransaction`](/content/docs/ios/sdk-reference/SubscriptionTransaction/index.html) - Subscription transactions
- [`getCustomerInfo()`](/content/docs/ios/sdk-reference/getCustomerInfo/index.html) - Fetch customer info asynchronously
