- [HTTP request](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.request_body)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.response_body)
- [Authorization scopes](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#body.aspect)
- [RefundPreference](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#RefundPreference)
- [ConsumptionUsageEvent](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#ConsumptionUsageEvent)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#ConsumptionUsageEvent.SCHEMA_REPRESENTATION)
- [CoarseLocation](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#CoarseLocation)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#CoarseLocation.SCHEMA_REPRESENTATION)
- [Try it!](https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#try-it)

Provide refund preference and purchase usage for a chargeback request

### HTTP request

`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:reviewrefund`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `packageName` | `string` Required. The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing'). |
| `orderId` | `string` Required. The order ID provided to the user when the subscription or in-app order was purchased. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "pendingRefundToken": string, "sampleContentProvided": boolean, "refundPreference": enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#RefundPreference`), "consumptionPercentageMilliunits": integer, "consumptionUsageEvents": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#ConsumptionUsageEvent`) } ] } ``` |

| Fields ||
|---|---|
| `pendingRefundToken` | `string` Required. The pending refund token included in the pending refund review notification. |
| `sampleContentProvided` | `boolean` Required. Indicates whether you provided a free sample, trial, or information about the functionality prior to the purchase. |
| `refundPreference` | ``enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#RefundPreference`)`` Required. Indicates your preference, based on your operational logic, as to whether the Play Store should grant the refund. |
| `consumptionPercentageMilliunits` | `integer` Optional. Percentage of the In-App purchase the customer consumed, in milliunits. Minimum: 0 Maximum: 100,000. For paid apps, this can be omitted. Example : 45200 represents 45.2%. |
| `consumptionUsageEvents[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#ConsumptionUsageEvent`)`` Optional. List of events, each representing an instance where the user consumed or used the purchased item or service. Lists with over 1000 items will be rejected. |

### Response body

If successful, the response body is empty.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/androidpublisher`

## RefundPreference

Indicates your preference, based on your operational logic, as to whether the Play Store should grant the refund.

| Enums ||
|---|---|
| `REFUND_PREFERENCE_UNSPECIFIED` | orders.refund preference unspecified. This value is not used. |
| `DECLINE` | Developer prefers that Play declines the refund. |
| `APPROVE` | Developer prefers that Play grants the refund in full. |
| `NEUTRAL` | Developer has no preference about Google Play's decision to issue a refund |

## ConsumptionUsageEvent

List of events, each representing an instance where the user consumed or used the purchased item or service.

| JSON representation |
|---|
| ``` { "obfuscatedAccountId": string, "obfuscatedProfileId": string, "consumptionTime": string, "ipAddress": string, "consumptionItemDescription": string, "location": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#CoarseLocation`) } } ``` |

| Fields ||
|---|---|
| `obfuscatedAccountId` | `string` Optional. Obfuscated string that is uniquely associated with the purchaser's user account in the app. <https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setObfuscatedAccountId(java.lang.String>) |
| `obfuscatedProfileId` | `string` Optional. Obfuscated string that is uniquely associated with the purchaser's user profile in the app. <https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setObfuscatedProfileId(java.lang.String>) |
| `consumptionTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Optional. Time when the user consumed, used, downloaded, opened, or streamed the content. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `ipAddress` | `string` Optional. The IP address from which the consumption occurred. |
| `consumptionItemDescription` | `string` Optional. Free form text that allows developers to provide more info on the item consumed. Maximum length is 5000 characters. |
| `location` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/orders/reviewrefund#CoarseLocation`)`` Optional. Geographic location where the consumption occurred. |

## CoarseLocation

Coarse Geographic location details for where the consumption happened.

| JSON representation |
|---|
| ``` { "regionCode": string, "administrativeArea": string, "locality": string, "sublocality": string } ``` |

| Fields ||
|---|---|
| `regionCode` | `string` Required. [CLDR region code](https://cldr.unicode.org/) of the country/region of the address. This value is never inferred and you must ensure the value is correct. Example: "CH" for Switzerland. |
| `administrativeArea` | `string` Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated. |
| `locality` | `string` Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty. |
| `sublocality` | `string` Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district. For most addresses, you can omit this. |