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
- User experience tests
- Provide test instructions
- Check the release dates for products
- Submit the skill
Make sure your skill passes all of the tests described in Functional Testing for a Custom Skill.
Review the descriptions and prompts for your products and make sure:
- List prices for your products are listed only in the pricing fields.
- 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.
To be eligible for promotion, you must include the utterance “What can I buy” in this intent.
|A user can get information about all the products (entitlements, consumables, and subscriptions) available for purchase. Discontinued products are not included.||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 list price and that the product suggestion and purchase prompt are different. No upsells occur for discontinued products.||Ensure the purchase prompt description does not include the list 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 purchasable 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.||Fill in all of the fields for the product 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.|
|If you have discontinued any products, invoke the skill as a user who previously purchased the product and attempt to access the premium content.||The user who previously purchased the product has access to the premium content. There are no negative user experience impacts with the discontinued product.||Make sure users who previously purchased the product continue to have access. See Discontinue a product.|
|If you have discontinued any products, invoke the skill and verify that no upsells for the discontinued product occur.||Discontinued products are not offered in upsells.||Make sure there are no upsells or other references to products that users can no longer buy. See Discontinue a product.|
|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
Purchase and use some consumable products, then ask the skill for your current inventory of consumable items and verify that the count is as expected.
The user can ask for their inventory of consumable products available for use and gets an accurate count.
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: