Offer In-Skill Products in Kid Skills in the US


You can offer two types of in-skill products (ISPs) in kid skills – subscriptions and one-time purchases. In many ways, incorporating ISPs into kid skills is similar to incorporating ISPs into non-kid skills. For example, all ISP operations – including updates, removal, deletion, association and disassociation of ISPs with a skill – work similarly for kid skills as they do for non-kid skills. As with non-kid skills, you can use the developer console or the Alexa Skills Kit Command-Line Interface (ASK CLI) to develop the skill.

However, kid skills must take an additional factor – parental control – into account. Using the Alexa app, parents can enable and disable voice purchasing in kid skills, and can also choose whether they would like to approve each purchase individually. Your skill must therefore provide an appropriate experience based on the state of voice purchasing (enabled or disabled), and the state of the product (pending parent approval, denied parent approval, and so on). Also, kid skills can't offer ISPs for a price higher than $9.99 USD, or sell ISPs of type consumable. At this time, ISP in kid skills is available only in the US.

For simplicity, this topic uses account holder to refer to the registered account holder, user to refer to the kid skill user, and product to refer to an in-skill product with a particular ASIN.

How parental control works

The Alexa app contains four settings that, combined, enable the account holder to customize the permissions of voice purchasing in kid skills. The settings are as follows:

Location in Alexa app: Settings > Alexa Account > Voice Purchasing

  • Purchase by Voice (ON/OFF)
  • Voice Code (ON/OFF)

Location in Alexa app: Settings > Alexa Account > Voice Purchasing > Kid Skills Purchasing

  • Kid Skills Purchasing (ON/OFF)
  • Purchases Require Approval (ON/OFF)

Based on these settings, the account holder can choose one of the following experiences for voice purchasing for kid skills:

  • Purchase by Voice, Kid Skills Purchasing, and Purchases Require Approval are ON – (Default) The user of a kid skill can request purchases, but the account holder must approve each purchase before the user can access it. The account holder receives a notification with a link to the purchase order details through SMS or email. They have 24 hours to approve the purchase; otherwise, the request expires.
  • Purchase by Voice and Kid Skills Purchasing are ON. Purchases Require Approval is OFF – The user of a kid skill can purchase and immediately access purchased content without requiring additional approval by the account holder. However, if Voice Code is enabled, the user must say the voice code before they can purchase the content.
  • Purchase by Voice or Kid Skills Purchasing is OFF – The user of a kid skill cannot purchase any premium content if Kid Skills Purchasing or Purchase by Voice is off. However, the user has access to any premium content that was purchased before these settings were disabled.

Example purchase flows

The following examples show the purchase flows based on the parental control settings.

Purchase by Voice, Kid Skills Purchasing, and Purchases Require Approval are ON (default setting)

In this example, the skill offers a product that the user wants. Because the account holder has set voice purchasing for kid skills to require approval for each purchase, the user cannot use the product until the account holder approves the transaction.

Purchase by Voice and Kid Skills Purchasing are ON. Purchases Require Approval is OFF

In this example, because the account holder has set voice purchasing for kid skills not to require additional approval for each purchase, the user can access the product immediately after requesting it.

Purchase by Voice or Kid Skills Purchasing is OFF

In this example, the skill does not make any purchase suggestions because the account holder disabled voice purchasing.

How to determine when to offer a product for purchase

To determine how to offer a product for purchase at any given time depends on the state of the product, and the voice purchasing settings that the account holder has set. To determine this information, use one or a combination of the following Monetization REST APIs:

  • Get voice purchasing status – Gets the voice purchasing in kid skills setting that the account holder has chosen using the Alexa app.
  • Get customer entitlement – Gets information about the specified product, such as the product type and whether it is purchasable by the account.
  • Get voice purchasing transactions – Provides information about transactions, such as if the parent denied a previous purchase request.

The following table shows how to determine whether to offer a purchase suggestion for a product.

Product state How to find or infer it How to handle it

Non-purchasable

Get voice purchasing status API returns false.

You cannot suggest any products or mention that there are additional products to purchase.

Purchasable

Get voice purchasing status API returns true, AND the Get customer entitlement API returns purchasable = PURCHASABLE.

You can suggest the product.

Note that when the product state is Purchasable, you must first provide an upsell message in order for Alexa to start the purchase suggestion.

Entitled

Get customer entitlement API returns entitled = ENTITLED.

You can let the user access the product, and you can suggest other products.

Pending

Get voice purchasing transactions API shows the latest transaction for the product is PENDING_APPROVAL_BY_PARENT.

You cannot let the user access the product, but you can let them know that the product is pending their account holder's approval.

Declined

Get voice purchasing transactions API shows the latest transaction for the product is DENIED_BY_PARENT.

You cannot suggest the same product again in the same session, but you can suggest other products. If the user declines a product three times, Amazon will mark the product as non-purchasable for 30 days.

Expired

Get voice purchasing transactions API shows the latest transaction for the product is EXPIRED_NO_ACTION_BY_PARENT.

After a length of time, you can suggest the product to the user again.

Tailor the experience

Your skill must provide an appropriate experience based on whether the account holder requires approval for each purchase, declined the purchase, let the purchase request expire, or turned off voice purchasing in kid skills altogether. It is important to be transparent about what kind – and how much – content you are providing for purchase, while maintaining customer trust and reducing annoyance or confusion on the part of both parents and children.

This section provides guidance on what your skill should do, and not do, at key points within the kid skill flow based on the status of the product. For the requirements that your skill must meet, see Requirements.

Skill session begins

Scenario: The user opens the skill. For example, the user says, "Alexa, play Animal Quiz."

Skill reaches a purchase suggestion trigger

Scenario: The user reaches a purchase suggestion trigger in the skill. For example, they finished all of the free quizzes, and there are additional quizzes available for purchase.

Skill resumes after user accepts the purchase suggestion

Scenario: The user requests the purchase, Alexa gives the purchase details, and then Alexa returns the user to the skill.

User asks about products

Scenario: The user asks the skill, "What can I buy?", "What did I buy?", "I want to buy [product]", or something similar.

User reaches the skill exit

Scenario: The user reaches the skill-exit method other than through explicitly saying "Stop" or "Exit". For example, the skill asks, "Would you like to take any more quizzes?" and the user says, "No".

Skill checks for a purchase control setting update

Scenario: The skill checks whether the account holder has changed the purchase control setting.

Get started

To create a kid skill that includes voice purchasing, do the following:

  1. Review the requirements.
  2. Create a custom skill. When you create the skill, choose Yes for the following questions on the skill's Distribution > Privacy & Compliance page.
    • Does this skill allow users to make purchases or spend real money?
    • Is this skill directed to or does it target children under the age of 13?
  3. Learn how to add ISP support to your skill code.
  4. Learn how to extend voice purchasing to kid skills by reading the current page.
  5. Test your skill as described in Testing.
  6. Submit your skill for certification. Note that if you add, update, or discontinue products, you must submit your skill for recertification.
  7. (Optional) Check the Monetization metrics for your skill.

Requirements

Kid skills that offer voice purchasing must meet the following requirements:

Testing

Before you submit your skill for certification, make sure to do the following tests:

Testing Amazon FreeTime Unlimited skills

Note that because some kid skills are part of the Amazon FreeTime Unlimited catalog, you might need to test with different accounts to validate that different types of users have the right experience. We recommend that you test with the following accounts:

  • Primary account – This account does not have an Amazon FreeTime Unlimited subscription attached. You want your primary Amazon account to be able to test purchases end to end.
  • Secondary account – You should create one or more new Amazon accounts with an Amazon FreeTime Unlimited (FTU) subscription and use one-week trials to verify the correct skill behavior. Use the skill beta testing tool to add the skill to your FTU-subscribed account. After you accept the invitation in your FTU account, you will see the skill in the Alexa app under Your Skills. Ensure that the Alexa device that you are testing with is not in FreeTime mode.

Tests for kid skills that offer in-skill products

Test Expected results What to do

A member of Amazon FreeTime Unlimited uses a FreeTime Unlimited skill.

All content is free, and there are no purchase suggestions or purchase prompts.

Make sure that the user has access to any content for which the Get customer entitlement API returns an ENTITLED value for the entitled field and AUTO_ENTITLED value for the entitlementReason field.

The user attempts to purchase a product while voice purchasing for kids is turned off.

The skill gracefully continues the session after Alexa does not proceed with the purchase.

Make sure that if the user tries to make a purchase while Get voice purchasing status API returns false, you continue the session using free or previously purchased content.

The user attempts to make a purchase while voice purchasing for kids is set to require approval for each purchase.

The skill gracefully continues the session using free or previously purchased content while the purchase is pending approval.

Make sure that, after the user requests a purchase, you call Get voice purchasing transactions API. If the status of the latest transaction is PENDING_APPROVAL_BY_PARENT, tell the user that you are waiting for permission, and then offer them free or previously purchased content.

The user tries to repurchase a product that is pending permission from the account holder.

The skill does not allow the user to repurchase the product that is pending permission. Alexa informs the user that the purchase is pending approval.

Make sure that, after the user requests a purchase, you call Get voice purchasing transactions API. If the status of the latest transaction is PENDING_APPROVAL_BY_PARENT, tell the user that you are waiting for permission, and then offer them free or previously purchased content.

The user tries to use a purchased product when they reopen a new skill session after the account holder approved the purchase.

The skill allows the user to use the product when they start the new skill session.

Make sure that the user has access to any content for which the Get customer entitlement API returns an entitled field value of ENTITLED.

The user tries to interact with the skill after a purchase approval is denied.

After the previous purchase request is declined or expired, the skill allows the user to interact with the skill.

Make sure that you call Get voice purchasing transactions API. If the status of the latest transaction is DENIED_BY_PARENT or EXPIRED_NO_ACTION_BY_PARENT, ensure that the user can still use free or previously purchased content.

The user uses the skill when voice purchasing is disabled.

The skill does not make any purchase suggestions.

Make sure that when Get voice purchasing status API returns false, the user can use free or previously purchased content, and you do not offer any purchase suggestions.

The user asks for a refund.

Refund info is provided even if the user has voice purchasing turned off.

Make sure that the user has access to any previously purchased or free content. For more details, see Handle a refund or cancel request.


Was this page helpful?

Last updated: Nov 23, 2023