<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="androidpublisher_v2.html">Google Play Developer API</a> . <a href="androidpublisher_v2.purchases.html">purchases</a> . <a href="androidpublisher_v2.purchases.voidedpurchases.html">voidedpurchases</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(packageName, startTime=None, token=None, maxResults=None, startIndex=None, endTime=None)</a></code></p>
<p class="firstline">Lists the purchases that were canceled, refunded or charged-back.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(packageName, startTime=None, token=None, maxResults=None, startIndex=None, endTime=None)</code>
  <pre>Lists the purchases that were canceled, refunded or charged-back.

Args:
  packageName: string, The package name of the application for which voided purchases need to be returned (for example, 'com.some.thing'). (required)
  startTime: string, The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.
  token: string, A parameter
  maxResults: integer, A parameter
  startIndex: integer, A parameter
  endTime: string, The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.

Returns:
  An object of the form:

    {
    "voidedPurchases": [
      { # A VoidedPurchase resource indicates a purchase that was either canceled/refunded/charged-back.
        "kind": "androidpublisher#voidedPurchase", # This kind represents a voided purchase object in the androidpublisher service.
        "voidedTimeMillis": "A String", # The time at which the purchase was canceled/refunded/charged-back, in milliseconds since the epoch (Jan 1, 1970).
        "purchaseToken": "A String", # The token that was generated when a purchase was made. This uniquely identifies a purchase.
        "purchaseTimeMillis": "A String", # The time at which the purchase was made, in milliseconds since the epoch (Jan 1, 1970).
      },
    ],
    "tokenPagination": {
      "nextPageToken": "A String",
      "previousPageToken": "A String",
    },
    "pageInfo": {
      "totalResults": 42,
      "startIndex": 42,
      "resultPerPage": 42,
    },
  }</pre>
</div>

</body></html>