--- title: "Configure a Digital Redeem Option" slug: "configure-digital" updated: 2026-09-24T12:55:28Z published: 2026-09-24T12:55:28Z canonical: "docs.xtremepush.com/configure-digital" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Configure a Digital Redeem Option A digital redeem option lets a user exchange tokens for a digital prize, such as an NFT, a digital ticket, or a discount code, that you deliver to them electronically. Xtremepush acts as an intermediary here, not a fulfillment service. When a user redeems a digital prize, Xtremepush sends the redemption details to your own backend, and your systems are responsible for actually delivering the prize to the user. > [!NOTE] > Before you begin > > You need your own system in place to fulfil digital prizes, such as a system that sends NFTs, activates digital tickets, or applies discount codes, before you configure this redeem option. Xtremepush sends you the redemption details, and your system handles the actual delivery. ## Configuration Steps To set up a digital redeem option, go to **Redeem > Options**, select **Create**, then select **Digital**. The sections below describe how to configure a digital redeem option. ### Add a Title and Description Enter a **Title** and, optionally, a **Description**. Both are displayed to the user on the loyalty widget. ### Configure the Widget Settings Under **Widget configurations**, enter the following. These values are used by the loyalty widget to show the prize to users and start the redemption process: - **Product price in tokens**: This field uses "product" as a generic label for whatever prize you're offering. Enter the number of tokens a user needs to redeem this prize. - **Product Image URL (optional)**: Upload an image of the prize, which is then displayed on the widget. - **Product Details (optional)**: Give the user a more detailed description of the prize, shown on the widget. - **Email (optional)**: Select this to ask the user for their email address when they redeem the prize. Your backend receives this in the redemption request. - **Address (optional)**: Select this to ask the user for their address when they redeem the prize. Your backend receives this in the redemption request. - **Group (optional)**: Give this redeem option a label, for example `Entertainment`, to group it with similar redeem options on the widget. ### Configure the Private Settings Xtremepush does not fulfill digital prizes itself. It acts as an intermediary. When a user redeems, Xtremepush sends the redemption details to your own backend using a webhook, and your systems are responsible for actually delivering the prize to the user. Under **Private configurations**, enter the following: - **Webhook URL**: The `https` URL on your own server where Xtremepush sends a `POST` request whenever a user redeems this prize. - **Authorization Header (optional)**: A value Xtremepush sends as an HTTP `Authorization` header with each redemption request, so your server can confirm the request genuinely came from Xtremepush. If your webhook doesn't respond successfully, the transaction moves into a **recoverable-failure** state rather than being lost. ### Set User Requirements If you want this redeem option to only be visible to certain users, set up the user requirement here, using **Add Requirement**. By default there are no requirements, so the redeem option is visible to everyone. Once you set a user requirement, decide whether users who don't qualify should still see this redeem option. Select **Show to users who don't qualify** to display it to everyone, along with a **Not qualified message** that explains why they can't use it yet. For example, if this redeem option is only available to Level 3 players, Level 1 and Level 2 players still see it, along with a message such as *Complete more quests to unlock.* The checkbox and the message work together: the checkbox controls whether ineligible users see the option at all, and the message tells them what they need to do. You can also select **Set usage limit** to cap how many times this redeem option can be used, in total, across all users. Once the limit is reached, decide whether users should still see it: select **Show to users when option limit is 0** to keep it visible, along with a message explaining that it's no longer available. This works the same way as **Show to users who don't qualify**: the checkbox controls visibility, and the message explains the situation. ### Configure Widget Events Decide what happens when a user finishes redeeming. Set **Redirect After Completion** to a deep link or route, for example `https://deep.link.example.com/redeemCompleted, {"route": "redeemCompleted"}`. The widget then sends a `redirect` event that your application can listen for, to take the user to the page you specify.