Creates the async operation that will display the UI that is used to make an in-app purchase from the Microsoft Store.
public:
static IAsyncOperation<String^ >^ RequestProductPurchaseAsync(
String^ productId,
bool includeReceipt
)
productId
Type: String
Specifies the id of the product or feature to purchase.
includeReceipt
Type: bool
Determines if the method should return the receipts for the specified productId.
Type: IAsyncOperation<String^ >
If the includeReceipt parameter is set to true, this string contains XML that represents all receipts for specified productId. If includeReceipt is set to false, this string is empty.
This method returns a success value even if:
You should treat a success result as indicating the async process completed without errors. To ensure that the transaction itself was successful, check the LicenseInformation element in the returned receipt.
The XML-formatted string that this method returns uses these elements:
| Element Name | Description | Child Elements | Attributes |
|---|---|---|---|
| Receipt | Contains information about app and in-app purchases | AppReceiptProductReceiptSignature | Version: The version number of the receipt. CertificateId: The certificate thumbprint used to sign the receipt. ReceiptDate: Date the receipt was signed and downloaded.ReceiptDeviceId: Identifies the device used to request this receipt. |
| AppReceipt | Contains information about an app purchase. | None. | Id: Identifies the purchase. AppId: The Package Family Name value that the OS uses for the app. LicenseType: Full, if the user purchased the full version of the app. Trial, if the user downloaded a trial version of the app.PurchaseDate: Date when the app was acquired. |
| ProductReceipt | Contains information about in-app purchases. | None. | Id: Identifies the purchase. AppId: Identifies the app through which the user made the purchase.ProductId: Identifies the product purchased. ProductType: Determines the product type. Currently only supports a value of Durable.PurchaseDate: Date when the purchase occurred. |
| Signature | Contains the signature for the receipt and information on how the receipt was digitally signed. | SignedInfoSignatureValue | This element is a standard XML-DSIG construct. It contains a SignatureValue element, which contains the signature you can use to validate the receipt. |
To verify a receipt’s authenticity, you can check the receipt’s signature using the public certificate. To get this certificate, use the following URL:
https://go.microsoft.com/fwlink/p/?linkid=246509&cid=<CertificateId>
where <CertificateId> is the CertificateId of the receipt.
Namespace: Windows.ApplicationModel.Store
Metadata: windows.winmd