> For the complete documentation index, see [llms.txt](https://docs.namiml.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.namiml.com/sdk-reference/namipurchasemanager/namipurchasestate.md).

# NamiPurchaseState

The different states a purchase can be in. Different platforms and frameworks may have different sets of states that they support.

{% tabs %}
{% tab title="Swift" %}

```swift
@objc public enum NamiPurchaseState: Int {
    case pending
    case purchased
    case consumed
    case resubscribed
    case unsubscribed
    case deferred
    case failed
    case cancelled
    case unknown
}
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
enum class NamiPurchaseState {
    PURCHASED,
    FAILED,
    CANCELLED,
    PENDING,
    UNKNOWN
}
```

{% endtab %}

{% tab title="Flutter" %}

```dart
enum NamiPurchaseState {
  purchased,
  failed,
  cancelled,
  pending,
  unknown,
  deferred,
  resubscribed,
  unsubscribed,
  consumed
}
```

{% endtab %}

{% tab title="React Native" %}

```jsx
export enum NamiPurchaseState {
  PENDING = "pending",
  PURCHASED = "purchased",
  CONSUMED = "consumed",
  RESUBSCRIBED = "resubscribed",
  UNSUBSCRIBED = "unsubscribed",
  DEFERRED = "deferred",
  FAILED = "failed",
  CANCELLED = "cancelled",
  UNKNOWN = "unknown",
}
```

{% endtab %}

{% tab title="Unity" %}

```c
public enum NamiPurchaseState
{
    Pending,
    Purchased,
    Consumed,
    Resubscribed,
    Unsubscribed,
    Deferred,
    Failed,
    Cancelled,
    Unknown
}
```

{% endtab %}
{% endtabs %}
