# google::play::billing::ProductPurchaseDetails


`#include <billing/models.h>`

Details for a purchased product.

## Summary

| ### Public attributes ||
|---|---|
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a826b8baf4eeaac8d6b7238a83e8c2ca9` | `bool` The acknowledgement state of this purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1ad98dd29b3a2a64a5cfaec20fd4eadc35` | `std::string` The obfuscated account id for the purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a192ffa5cbbeed689635cde7a855e50bc` | `std::string` The obfsucated profile id for the purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a72cd262de20f1172f597b4bdd289e8d0` | `std::string` A unique order identifier for the transaction. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a211b229f20548a64607dcdcc2ed01387` | `std::string` String in JSON format that contains details about the purchase order. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a85faec50318cea89f9755385cfe7a3df` | `std::string` The package name of the game associated with this purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a2be735fc8192498d20c5f4c351811c80` | `std::string` Unique identifier for the product. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1ab18b42b9c364ce940d3e8a53efae51ed` | `PurchaseState` State of the purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a1cf4ecc376bd31a64fd42a2ee134e1e1` | `int64_t` The time the purchase was made in seconds since the epoch. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a8acdfa750ceab9b1c2411bf07ad8fa4c` | `std::string` Token representing the purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1acece3229e173ada3f378a2ac82fc0b05` | `int64_t` The quantity of the purchase. |
| `https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/product-purchase-details#structgoogle_1_1play_1_1billing_1_1_product_purchase_details_1a204acf0aadf8a37b19dd9ea3482f6539` | `std::string` Signature of the `original_json` data that was signed with the private key of the developer. |

## Public attributes

### is_acknowledged

```
bool google::play::billing::ProductPurchaseDetails::is_acknowledged
```
The acknowledgement state of this purchase.

### obfuscated_account_id

```
std::string google::play::billing::ProductPurchaseDetails::obfuscated_account_id
```
The obfuscated account id for the purchase.

An obfuscated version of the ID that is uniquely associated with the user's account in the game. Only present (non-empty) if specified when the purchase flow was launched.

See [LaunchPurchaseFlowParams::obfuscated_account_id](https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/launch-purchase-flow-params#structgoogle_1_1play_1_1billing_1_1_launch_purchase_flow_params_1a5fad067af07ff63cd4b03b8ccc18065d) for more details.

### obfuscated_profile_id

```
std::string google::play::billing::ProductPurchaseDetails::obfuscated_profile_id
```
The obfsucated profile id for the purchase.

An obfuscated version of the id that is uniquely associated with the user's profile in the game. Only present (non-empty) if specified when the purchase flow was launched.

See [LaunchPurchaseFlowParams::obfuscated_profile_id](https://developer.android.com/games/playgames/native-pc/reference/struct/google/play/billing/launch-purchase-flow-params#structgoogle_1_1play_1_1billing_1_1_launch_purchase_flow_params_1aaee08fdfa1051380d9eea657adef05a7) for more details.

### order_id

```
std::string google::play::billing::ProductPurchaseDetails::order_id
```
A unique order identifier for the transaction.

This identifier corresponds to the Google order ID.

The order ID will be an empty string if the purchase is in the PurchaseState::kPurchaseStatePending state and populated if the purchase has transitioned to the PurchaseState::kPurchaseStatePurchased state.

### original_json

```
std::string google::play::billing::ProductPurchaseDetails::original_json
```
String in JSON format that contains details about the purchase order.

Note that usage of this parameter requires your application to be allow-listed. Please contact your Google Partner if your game requires access.

### package_name

```
std::string google::play::billing::ProductPurchaseDetails::package_name
```
The package name of the game associated with this purchase.

### product_id

```
std::string google::play::billing::ProductPurchaseDetails::product_id
```
Unique identifier for the product.

### purchase_state

```
PurchaseState google::play::billing::ProductPurchaseDetails::purchase_state
```
State of the purchase.

### purchase_time_epoch_seconds

```
int64_t google::play::billing::ProductPurchaseDetails::purchase_time_epoch_seconds
```
The time the purchase was made in seconds since the epoch.

### purchase_token

```
std::string google::play::billing::ProductPurchaseDetails::purchase_token
```
Token representing the purchase.

### quantity

```
int64_t google::play::billing::ProductPurchaseDetails::quantity
```
The quantity of the purchase.

### signature

```
std::string google::play::billing::ProductPurchaseDetails::signature
```
Signature of the `original_json` data that was signed with the private key of the developer.

The data signature uses the RSASSA-PKCS1-v1_5 scheme.

Note that usage of this parameter requires your application to be allow-listed. Please contact your Google Partner if your game requires access.