> ## 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.

# Purchase Loader

> Show a custom loader while a purchase is processing, instead of the SDK's default system spinner.

When a user taps a purchase or restore button on a No-Code screen, the SDK shows a native loading spinner until the store finishes processing the payment and Qonversion validates the receipt. The **Purchase Loader** lets you replace that default spinner with your own — a styled spinner or a Lottie animation — configured entirely in the Builder, so the loading state matches your paywall's design.

<Info>
  The Purchase Loader is **off by default**. When it's off, nothing changes — the SDK keeps showing its standard native loader.
</Info>

## Enabling the Purchase Loader

1. Open your screen in the Builder and go to **Settings → General**.
2. Find the **Purchase loader** card and turn on **Use a custom purchase loader**.
3. Pick a loader type — **Spinner** or **Lottie animation** — and style it.

The loader is shown as an overlay on top of the screen for the entire purchase window: from the moment the purchase starts, through store processing, until entitlements are returned (or the purchase fails).

## Loader types

### Spinner

A lightweight, built-in animated spinner. You can set:

* **Color** — the spinner's accent color.
* **Spinner style** — choose between **Ring**, **Dots**, or **Bars**.

A live **Preview** shows exactly how it will look on the screen.

### Lottie animation

Use your own [Lottie](no-code-component-lottie-src) animation for a fully branded loader.

* Click **Select or upload** to pick an animation from your project's asset gallery, upload a `.json` / `.lottie` file, or paste a link.
* **Speed** — play the animation faster or slower (0.1×–3×).
* **Loop animation** — repeat the animation for as long as the purchase is processing (recommended, since processing time varies).

A **Preview** renders the animation with your chosen speed and background.

## Background color

Both loader types are shown over a full-screen backdrop. Set the **Background color** (with transparency) to dim or hide the screen behind the loader while the purchase is in progress.

## SDK version requirement

<Warning>
  The custom Purchase Loader requires **Qonversion iOS SDK 6.13.0+** or **Android NoCodes 1.10.0+**.

  On older SDK versions the app's **native loader is shown on top of your custom one** (a double loader), because the SDK doesn't yet know the screen renders its own. Users on the current SDK see only your custom loader. Make sure your app ships a supported SDK version before relying on this feature.
</Warning>

## Good to know

* **The system payment sheet still covers the loader while it's up.** During the native Apple/Google payment confirmation sheet, the OS renders on top of everything — your loader (like the default one) is hidden behind it. It becomes visible again during the post-sheet receipt-validation window, which is where a branded loader adds the most value (this can range from under a second to several seconds on a slow network).
* **Republish to apply changes.** The loader is baked into the published screen. After changing its settings, **publish the screen** so devices pick up the new loader.

<Tip>
  Keep Lottie loaders short and set to loop — the purchase-processing time isn't fixed, so a looping animation reads better than a one-shot one that finishes mid-wait.
</Tip>
