# Fulfill purchases

> Confirm purchases and grant entitlements after a player completes a purchase.

When a player completes a purchase, Unity IAP creates an order and tracks its fulfillment status. You must confirm (fulfill) purchases after granting the player their purchase.

> **Important:**
>
> You must always mark orders as fulfilled with Unity IAP, even if you also manage entitlements in your own backend system. For consumable products, Unity IAP prevents players from purchasing the same item again until the previous order is fulfilled.

Select one of the following options to learn how to fulfill purchases:

[Fulfill purchases through the SDK](/iap/payment-providers/purchases-sdk.md): Grant entitlements client-side and use the IAP service as the source of truth for purchase status.
[Fulfill purchases with the SDK and server-side validation](/iap/payment-providers/purchases-sdk.md#use-server-side-validation-alongside-the-sdk): Use the SDK to fulfill purchases while your backend pulls purchase status from the Unity IAP API, without managing webhooks.
[Fulfill purchases through the backend API](/iap/payment-providers/implement-backend.md): Implement a backend that listens to purchase events and tracks your players' entitlements.
[Use a Cloud Code module to fulfill purchases](/iap/payment-providers/cloud-code-fulfillment.md): Use a Cloud Code module to fulfill purchases without managing your own backend infrastructure.
