Menu
Amazon DevPay
Developer Guide (API Version 2007-12-01)

Verification of the Customer's Subscription Status

When a customer contacts your company for support, the customer service representative might want to verify whether the customer is still subscribed to your desktop product (customers can cancel use of your product at any time). This information is available from AWS programmatically. This section describes how your system gets the information.

Process for Verifying the Customer's Subscription Status

1

When your customer completes the process to buy your product, you get the activation key for that customer. You can get the activation key in different ways. For more information, see Obtaining the Activation Key.

2

You then request ActivateHostedProduct to obtain a persistent identifier (PID) for the customer. You store the PID.

Note

You might be thinking that for desktop products, you're supposed to call ActivateDesktopProduct and not ActivateHostedProduct. This is true if your goal is to get the credentials your desktop product needs so it can make AWS requests on behalf of the customer. If your goal is to get a customer PID (which is required to verify the customer's status), then you need to call ActivateHostedProduct. Your desktop product installed on the customer's system must always call ActivateDesktopProduct to get the credentials it needs. Separately, you can optionally call ActivateHostedProduct to get a PID.

3

Later, when your customer support representative needs to verify the status of the customer's subscription, the representative looks up the PID. Your system makes a request to VerifyProductSubscriptionByPid with the PID and the product code for the product in question. The action's response indicates whether the customer is still subscribed or has canceled use of your product.


Note

The PID represents the relationship between you (the product owner) and the customer. Even if a customer buys 10 different products from you, you have only one PID for that customer.

Obtaining the Activation Key

The following table describes the ways your application can get the activation key.

Method Description

From the redirect URL

You can obtain the activation key without interacting with the customer. At the end of the sign-up process, the customer's browser window splits into two frames. The top frame contains a confirmation for the purchase. The bottom frame contains the redirect URL that you provided when you registered your desktop product with DevPay, with two values automatically appended as query parameters: the activation key you need and the product code for the desktop product the customer just purchased.

For example, if your redirect URL is http://www.example.com/productActivation.html, the customer would be redirected to http://www.example.com/productActivation.html?ActivationKey=<activation key value>&ProductCode=<product code value>.

You provide an application that retrieves the two values appended to the redirect URL. The application looks up the product token associated with the product code. Then the application makes a signed request to the License Service action ActivateHostedProduct to get the customer's PID.

If you decide to use this method to retrieve the activation key, you should design your application to handle the situation when the redirect URL fails. For more information, see Exception Handling for the Redirect URL.

From the customer

You can obtain the activation key by prompting the customer to provide it. The customer can get it from the top frame of the browser; the key is automatically displayed there. The customer can also generate an activation key at any time by going to the activate URL. You should provide customers that URL as an alternate method for obtaining the activation key for you. They'll be asked to log in with an Amazon.com login.

Note

After your customers purchase your desktop product, they download and install it. During the installation, the installed product prompts the customer for an activation key (for more information, see Desktop Product Activation). It doesn't matter if the customer provides a different activation key than the one your other application obtained and used in the ActivateHostedProduct request (see step 2 in the preceding process). The activation key is just a timestamped, short-lived value that represents the relationship between the customer and your product. At any time, you can ask the customer to go to http://amazon.com/dp-activate, log in with an Amazon.com login, and obtain another activation key.

Exception Handling for the Redirect URL

Although the failure rate for the redirect is expected to be low, your application must be prepared to handle any failure cases. It's plausible the customer could close the browser window and prevent your application from retrieving the activation key and product code from the redirect. Your application must handle the situation in which one or both of the parameters are not available through the redirect. See the suggested actions in the following table.

Activation Key RetrievedProduct Code RetrievedSuggested Action

No

Yes

Your web page should display the name of the desktop product and prompt the customer for the activation key, which was displayed in the top frame of the browser window.

The customer can then either provide the activation key from the top frame or obtain a new activation key by clicking the activate URL.

In either case, you should provide a way for the customer to paste the activation key into a form on your page.

Yes

No

Your web page should display a list of your DevPay products and ask the customer to select the product just purchased (the one the activation key is associated with).

The customer can then select the product, enabling your application to retrieve the product token to use in a request for ActivateHostedProduct. If the customer chooses the wrong product, the request fails.

No

No

One reason this situation occurs is if the customer closes the browser window.

Your web page should display a list of your DevPay products and ask the customer to select the product just purchased (the one the activation key is associated with). The page should also prompt the customer for the activation key, which was displayed in the top frame of the browser window.

The customer can then either provide the activation key from the top frame or obtain a new activation key by clicking the activate URL that you display.

In either case, you should provide a way for the customer to paste the activation key into a form on your page.