Question: What's the meaning of the `ProductID` parameter of `CurrentApp.RequestProductPurchaseAsync` on Windows Phone 8, please? Is that the "Product identifier" that I provide when registering a product in the Dev Center on the Properties page? Or is it the GUID of the in-app product that the Store is using internally?

The reason why I'm asking, some Store-related APIs do expect a GUID.

My app only has one product; there's no selection process. I'd rather call `RequestProductPurchaseAsync` with a hard-coded productId without retrieving the listing first.

EDIT: only answers from experience, please. I've read the MSDN; it allows for both interpretations.

Answer: 
**From testing on a real phone:** the scenario works. No need to pull the listing. The productId should be the string that you type in the Dev Center as "Product identifier".
According to [MSDN document](http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh967814.aspx) `productId` parameter specifies the id of the product or feature to purchase. It is that product identifier which you provide when registering an app in the store. ProductId must be unique for each in-app product

[In-app purchase for Windows Phone 8](http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206949%28v=vs.105%29.aspx)

[In-app purchase testing for Windows Phone 8](http://msdn.microsoft.com/en-in/library/windowsphone/develop/jj681689%28v=vs.105%29.aspx)

[Adding Subscriptions to Windows Phone app as an in-app purchase](https://stackoverflow.com/questions/15615697/adding-subscriptions-to-windows-phone-app-as-an-in-app-purchase)