In-Skill Purchase Certification Guide

In-skill products are evaluated when the skill they are associated with is submitted for certification. Make sure that your skill passes all of the certification requirements for a custom skill, as well as the test cases in the following sections.

Functional tests

Make sure your skill passes all of the tests described in Functional Testing for a Custom Skill.

In addition:

  • Review your products' JSON description files and make sure:

    • Prices for your products are listed only in the pricing object.
    • All product names and descriptions are free of typos, emoticons and special characters.
    • Each product description clearly explains what the product provides.
    • All placeholder values in the product templates have been customized to your products. For example, include valid icon URLs specific to your products.
    • All products must have an associated icon, and that icon URLs resolve correctly.
  • Open the Alexa app, click Skills and then scroll to your skill.

    • Make sure your skill's product description states the skill offers in-skill purchases, but does not include pricing details.
    • Make sure that the description identifies the different types of products you offer (one-time purchases, consumables, and/or subscriptions) and how they are used. For example, if you offer a consumable product that expires a certain amount of time after the first usage, make that clear in your description.

User experience tests

Before completing this section of tests, make sure that your skill passes all of the tests described in User Experience Testing for a Custom Skill.

Tests for all types of in-skill purchases

Test Expected Result What to do
Start the skill and ask for information about all of your available products. A user can get information about all the products (entitlements, consumables, and subscriptions) available in the skill Provide support for purchase requests. In the testing instructions for the skill, provide guidance on how to determine the products available.
Invoke the purchase suggestion (upsell) scenarios for your skill. Your product offers occur in a context that makes sense to the user. A user knows what they are being asked to purchase and why. The purchase prompt does not include the price and that the product suggestion and and purchase prompt are different. Ensure the purchasePrompt values in your product schemas do not include price.
Start your skill and ask to buy each product your skill offers. Try to use the product immediately. A user can successfully buy every product associated with your skill and use it immediately. In the testing instructions for the skill, provide guidance for how to use the products.
Start your skill and ask to buy each product your skill offers. End the skill session. Resume the skill and try to use each product. A user can successfully buy every product associated with your skill and use it in another skill session. Make sure you have correctly handled when a user is ENTITLED to a product. See, Get the in-skill products list.
Buy each product your skill offers. Review the purchase receipt for each item. The description and image for the product accurately reflect the product purchased. Replace all default template values with your product information.
Buy a product and start a flow that would prompt a purchase suggestion if the product had not been purchased. The user does not receive a purchase suggestion to buy a product they already own. Make sure you handle an ALREADY_PURCHASED result correctly.
Complete a scenario that would result in a purchase suggestion. Decline the suggestion. The user does not enter the purchase flow, and the skill continues to provide the free content. Make sure you handle a DECLINED result result correctly.
Complete a scenario that would result in a purchase suggestion. Accept the suggestion, but decline the purchase prompt. The skill resumes smoothly and continues to provide free content. Make sure you handle a DECLINED result correctly.
Complete a skill flow that results in a purchase suggestion. Decline the offer, and complete the same flow again. The user does not receive purchase suggestions for the same products they recently declined. Do not offer a purchase suggestion after receiving a DECLINED result.
For skills that offer a subscription, cancel the subscription with a voice request. The user can successfully cancel the subscription. Make sure you handle a voice request to cancel correctly.
For skills that offer one-time purchases and consumables, ask for a refund The user can ask for a refund and is directed to Amazon customer support Make sure you handle a voice request for a refund correctly.
Setup invalid payment information for your account and try to buy a product. The purchase flow provides a failure message to the user. Your skill does not repeat this information, but resumes the skill and suggest content that has been already purchased or free content. Make sure you handle an ERROR result correctly.

Tests for consumable products

Test Expected results What to do

Purchase multiple consumable products, then use at least one. Disable the skill, then re-enable the skill and check your inventory of consumables. Use one of the consumables again.

The consumable inventory is maintained when the skill is disabled and re-enabled. The user can use the previously-purchased consumable product after re-enabling the skill.

Ensure that you store the user's inventory with their userId and you do not clear their data when the skill is disabled. See Maintain the user inventory if the user disables and re-enables the skill.

Purchase and use some consumable products, then ask the skill for your current inventory of consumable items. Verify you get the right count.

The user can ask for their inventory of consumable products available for use and gets an accurate count reflecting .

Provide an intent that lets the user ask for their consumable product inventory. Manage the inventory as users buy and use products.

Provide test instructions

Prior to submitting your skill for certification, make sure that you specify each in-skill product name that you offer in the Testing Instructions for the skill. Include the steps a user would follow to be prompted to purchase each item. Include any customer credentials that can help get to these prompts quickly.

If your skill contains purchase suggestions, include instructions for how to invoke them for these products.

If your skill contains consumables, include instructions for how to use the consumable products once they are purchased and how to check the inventory of units.

In the developer console, Testing Instructions are on the Distribution page in the Privacy and Compliance section.

Check the release dates for products

You cannot change the release date for products once a skill is live, so make sure you have specified the correct dates. For more information, see the pricing object section of the product schema.

Submit the skill

Finally, consult the Define Skill Store Details and Availability to complete all of the required skill information and then submit your skill for certification.