Method: orders.reviewrefund

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 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 (RefundPreference),
  "consumptionPercentageMilliunits": integer,
  "consumptionUsageEvents": [
    {
      object (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 (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 (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 (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 (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 (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 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.