REST Resource: orders

Resource: Order

Resource Pesanan merangkum informasi komprehensif tentang transaksi yang dilakukan di Google Play. Objek ini mencakup berbagai atribut yang memberikan detail tentang pesanan itu sendiri, produk yang dibeli, dan histori peristiwa yang terkait dengan pesanan.

Orders API memberikan akses real-time ke data pesanan Anda dalam ekosistem Google Play. Anda dapat mengambil informasi dan metadata mendetail untuk pesanan satu kali dan berulang, termasuk detail transaksi seperti tagihan, pajak, dan pengembalian dana, serta metadata seperti fase penetapan harga untuk langganan. Orders API memungkinkan Anda mengotomatiskan tugas terkait pengelolaan pesanan, sehingga mengurangi kebutuhan untuk melakukan pemeriksaan manual melalui Konsol Developer Play.

Berikut beberapa kasus penggunaan untuk API ini:

  • Pengambilan data pesanan real-time - orders.get detail dan metadata pesanan segera setelah pembelian menggunakan ID pesanan.

  • Sinkronisasi pembaruan pesanan - Sinkronkan pembaruan pesanan secara berkala untuk mempertahankan catatan informasi pesanan yang selalu terbaru.

Catatan:

  • Panggilan Orders API dihitung dalam kuota Play Developer API Anda, yang secara default adalah 200 ribu per hari, dan mungkin tidak cukup untuk menyinkronkan histori pesanan yang ekstensif.

  • Maksimum 1.000 pesanan dapat diambil per panggilan. Sebaiknya gunakan ukuran halaman yang lebih besar untuk meminimalkan penggunaan kuota. Periksa kuota Anda di Cloud Console dan minta lebih banyak jika diperlukan.

Representasi JSON
{
  "lineItems": [
    {
      object (LineItem)
    }
  ],
  "orderId": string,
  "purchaseToken": string,
  "state": enum (State),
  "createTime": string,
  "lastEventTime": string,
  "buyerAddress": {
    object (BuyerAddress)
  },
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  },
  "orderDetails": {
    object (OrderDetails)
  },
  "orderHistory": {
    object (OrderHistory)
  },
  "developerRevenueInBuyerCurrency": {
    object (Money)
  },
  "pointsDetails": {
    object (PointsDetails)
  }
}
Kolom
lineItems[]

object (LineItem)

Item baris individual yang membentuk pesanan ini.

orderId

string

ID pesanan.

purchaseToken

string

Token yang diberikan ke perangkat pengguna saat langganan atau item dibeli.

state

enum (State)

Status pesanan.

createTime

string (Timestamp format)

Waktu saat pesanan dibuat.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

lastEventTime

string (Timestamp format)

Waktu peristiwa terakhir yang terjadi pada pesanan.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

buyerAddress

object (BuyerAddress)

Informasi alamat untuk pelanggan, untuk digunakan dalam perhitungan pajak. Jika Google adalah Entitas Pemroses Kartu untuk pesanan, hanya negara yang ditampilkan.

total

object (Money)

Jumlah akhir yang dibayarkan oleh pelanggan, dengan memperhitungkan diskon dan pajak.

tax

object (Money)

Total pajak yang dibayarkan sebagai bagian dari pesanan ini.

orderDetails

object (OrderDetails)

Informasi mendetail tentang pesanan pada waktu pembuatan.

orderHistory

object (OrderHistory)

Detail tentang peristiwa yang mengubah pesanan.

developerRevenueInBuyerCurrency

object (Money)

Pendapatan Anda untuk pesanan ini dalam mata uang pembeli, termasuk potongan pengembalian dana sebagian, pajak, dan biaya. Google memotong biaya transaksi standar dan biaya pihak ketiga dari tiap penjualan, termasuk PPN di beberapa wilayah.

pointsDetails

object (PointsDetails)

Poin Play yang diterapkan ke pesanan, termasuk informasi penawaran, rasio diskon, dan nilai poin.

Negara Bagian

Status pesanan.

Enum
STATE_UNSPECIFIED Status tidak ditentukan. Nilai ini tidak digunakan.
PENDING Pesanan telah dibuat dan menunggu untuk diproses.
PROCESSED Pesanan telah berhasil diproses.
CANCELED Pesanan dibatalkan sebelum diproses.
PENDING_REFUND Pengembalian dana yang diminta sedang menunggu untuk diproses.
PARTIALLY_REFUNDED Sebagian jumlah pesanan telah dikembalikan dananya.
REFUNDED Seluruh jumlah pesanan telah dikembalikan dananya.

BuyerAddress

Informasi alamat untuk pelanggan, untuk digunakan dalam perhitungan pajak.

Representasi JSON
{
  "buyerState": string,
  "buyerCountry": string,
  "buyerPostcode": string
}
Kolom
buyerState

string

Subdivisi administratif tingkat atas negara alamat pembeli. Jika Google adalah Entitas Pemroses Kartu untuk pesanan, informasi ini tidak disertakan.

buyerCountry

string

Kode negara dua huruf berdasarkan ISO-3166-1 Alpha-2 (Kode negara PBB).

buyerPostcode

string

Kode pos alamat. Jika Google adalah Entitas Pemroses Kartu untuk pesanan, informasi ini tidak disertakan.

OrderDetails

Informasi mendetail tentang pesanan pada waktu pembuatan.

Representasi JSON
{
  "taxInclusive": boolean
}
Kolom
taxInclusive

boolean

Menunjukkan apakah harga yang tercantum sudah termasuk pajak atau tidak.

LineItem

Detail item baris.

Representasi JSON
{
  "productTitle": string,
  "productId": string,
  "listingPrice": {
    object (Money)
  },
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  },

  // Union field details can be only one of the following:
  "oneTimePurchaseDetails": {
    object (OneTimePurchaseDetails)
  },
  "subscriptionDetails": {
    object (SubscriptionDetails)
  },
  "paidAppDetails": {
    object (PaidAppDetails)
  }
  // End of list of possible types for union field details.
}
Kolom
productTitle

string

Nama produk yang ditentukan oleh developer. Ditampilkan dalam lokalitas pengguna. Contoh: koin, langganan bulanan, dll.

productId

string

ID produk yang dibeli atau SKU dalam aplikasi (misalnya, 'monthly001' atau 'com.some.thing.inapp1').

listingPrice

object (Money)

Harga item yang tercantum di Play Store, ini mungkin termasuk atau tidak termasuk pajak. Tidak termasuk diskon atau promosi.

total

object (Money)

Jumlah total yang dibayarkan oleh pengguna untuk item baris ini, dengan memperhitungkan diskon dan pajak.

tax

object (Money)

Pajak yang dibayarkan untuk item baris ini.

Kolom union details.

details hanya dapat berupa salah satu dari hal berikut:

oneTimePurchaseDetails

object (OneTimePurchaseDetails)

Detail pembelian satu kali.

subscriptionDetails

object (SubscriptionDetails)

Detail pembelian langganan.

paidAppDetails

object (PaidAppDetails)

Detail pembelian aplikasi berbayar.

OneTimePurchaseDetails

Detail pembelian satu kali.

Representasi JSON
{
  "quantity": integer,
  "offerId": string,
  "purchaseOptionId": string,
  "rentalDetails": {
    object (RentalDetails)
  }
}
Kolom
quantity

integer

Jumlah item yang dibeli (untuk pembelian item multikuantitas).

offerId

string

ID penawaran dari penawaran pembelian satu kali.

purchaseOptionId

string

ID opsi pembelian. Kolom ini ditetapkan untuk opsi pembelian dan penawaran varian. Untuk opsi pembelian, ID ini mengidentifikasi opsi pembelian itu sendiri. Untuk penawaran varian, ID ini merujuk pada opsi pembelian terkait, dan bersama dengan offerId, ID ini mengidentifikasi penawaran varian.

rentalDetails

object (RentalDetails)

Detail pembelian sewa. Hanya disetel jika itu adalah pembelian sewa.

RentalDetails

Jenis ini tidak memiliki kolom.

Detail pembelian rental.

SubscriptionDetails

Detail pembelian langganan.

Representasi JSON
{
  "basePlanId": string,
  "offerId": string,
  "offerPhase": enum (OfferPhase),
  "servicePeriodStartTime": string,
  "servicePeriodEndTime": string
}
Kolom
basePlanId

string

ID paket dasar langganan.

offerId

string

ID penawaran untuk penawaran langganan saat ini.

offerPhase

enum (OfferPhase)

Fase penetapan harga untuk periode penagihan yang didanai oleh pesanan ini.

servicePeriodStartTime

string (Timestamp format)

Awal periode penagihan yang didanai oleh pesanan ini. Ini adalah ringkasan waktu mulai periode penagihan/layanan pada saat pesanan diproses, dan hanya boleh digunakan untuk pencatatan.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

servicePeriodEndTime

string (Timestamp format)

Akhir periode penagihan yang didanai oleh pesanan ini. Ini adalah ringkasan waktu berakhir periode penagihan/layanan pada saat pesanan diproses, dan hanya boleh digunakan untuk pencatatan. Untuk mendapatkan waktu berakhir periode layanan langganan saat ini, gunakan purchases.subscriptionsv2.get.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

OfferPhase

Fase penetapan harga untuk periode hak yang didanai oleh pesanan ini.

Enum
OFFER_PHASE_UNSPECIFIED Fase penawaran tidak ditentukan. Nilai ini tidak digunakan.
BASE Pesanan mendanai periode harga dasar.
INTRODUCTORY Pesanan mendanai periode harga perkenalan.
FREE_TRIAL Pesanan mendanai periode uji coba gratis.

PaidAppDetails

Jenis ini tidak memiliki kolom.

Detail pembelian aplikasi berbayar.

OrderHistory

Detail tentang peristiwa yang mengubah pesanan.

Representasi JSON
{
  "partialRefundEvents": [
    {
      object (PartialRefundEvent)
    }
  ],
  "processedEvent": {
    object (ProcessedEvent)
  },
  "cancellationEvent": {
    object (CancellationEvent)
  },
  "refundEvent": {
    object (RefundEvent)
  }
}
Kolom
partialRefundEvents[]

object (PartialRefundEvent)

Detail peristiwa pengembalian dana sebagian untuk pesanan ini.

processedEvent

object (ProcessedEvent)

Detail kapan pesanan diproses.

cancellationEvent

object (CancellationEvent)

Detail kapan pesanan dibatalkan.

refundEvent

object (RefundEvent)

Detail kapan pesanan dikembalikan dananya sepenuhnya.

ProcessedEvent

Detail kapan pesanan diproses.

Representasi JSON
{
  "eventTime": string
}
Kolom
eventTime

string (Timestamp format)

Waktu saat pesanan diproses.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

CancellationEvent

Detail kapan pesanan dibatalkan.

Representasi JSON
{
  "eventTime": string
}
Kolom
eventTime

string (Timestamp format)

Waktu saat pesanan dibatalkan.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

RefundEvent

Detail kapan pesanan dikembalikan dananya sepenuhnya.

Representasi JSON
{
  "eventTime": string,
  "refundDetails": {
    object (RefundDetails)
  },
  "refundReason": enum (RefundReason)
}
Kolom
eventTime

string (Timestamp format)

Waktu saat pesanan dikembalikan dananya sepenuhnya.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

refundDetails

object (RefundDetails)

Detail untuk pengembalian dana penuh.

refundReason

enum (RefundReason)

Alasan pesanan dikembalikan dananya.

RefundDetails

Detail untuk pengembalian dana sebagian atau penuh.

Representasi JSON
{
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  }
}
Kolom
total

object (Money)

Jumlah total yang dikembalikan dananya, termasuk pajak.

tax

object (Money)

Jumlah pajak yang dikembalikan dananya.

RefundReason

Alasan pesanan dikembalikan dananya.

Enum
REFUND_REASON_UNSPECIFIED orders.refund reason unspecified. Nilai ini tidak digunakan.
OTHER Pesanan dikembalikan dananya karena alasan selain alasan yang tercantum di sini.
CHARGEBACK Pesanan ditagih balik.

PartialRefundEvent

Detail peristiwa pengembalian dana sebagian untuk pesanan ini.

Representasi JSON
{
  "createTime": string,
  "processTime": string,
  "state": enum (State),
  "refundDetails": {
    object (RefundDetails)
  }
}
Kolom
createTime

string (Timestamp format)

Waktu saat pengembalian dana sebagian dibuat.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

processTime

string (Timestamp format)

Waktu saat pengembalian dana sebagian diproses.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

state

enum (State)

Status pengembalian dana sebagian.

refundDetails

object (RefundDetails)

Detail pengembalian dana sebagian.

Negara Bagian

Status pengembalian dana sebagian.

Enum
STATE_UNSPECIFIED Status tidak ditentukan. Nilai ini tidak digunakan.
PENDING Pengembalian dana sebagian telah dibuat, tetapi belum diproses.
PROCESSED_SUCCESSFULLY Pengembalian dana sebagian berhasil diproses.

PointsDetails

Detail terkait Poin Play yang diterapkan pada pesanan.

Representasi JSON
{
  "pointsOfferId": string,
  "pointsCouponValue": {
    object (Money)
  },
  "pointsDiscountRateMicros": string,
  "pointsSpent": string
}
Kolom
pointsOfferId

string

ID unik untuk penawaran poin Play yang digunakan untuk pesanan ini.

pointsCouponValue

object (Money)

Nilai moneter kupon Play Points. Ini adalah diskon yang diberikan kupon, yang mungkin bukan jumlah total. Hanya disetel saat kupon Play Points telah digunakan. Misalnya, untuk kupon 100 poin senilai Rp20.000, nilai ini adalah Rp20. 000.

pointsDiscountRateMicros

string (int64 format)

Tarif persentase yang digunakan promosi Play Points untuk mengurangi biaya. Misalnya, untuk kupon 100 poin senilai Rp20.000,jumlah ini adalah 500. 000. Karena $2 memiliki perkiraan 200 poin, tetapi Poin yang sebenarnya diperlukan, 100, adalah 50% dari perkiraan ini, dan 50% dalam mikro adalah 500.000. Antara 0 dan 1.000.000.

pointsSpent

string (int64 format)

Jumlah Play Points yang diterapkan dalam pesanan ini. Misalnya, untuk kupon 100 poin senilai Rp20.000, nilainya adalah 100. Untuk kupon yang ditumpuk dengan penawaran dasar, ini adalah total poin yang dibelanjakan di keduanya.

Metode

batchget

Mendapatkan detail pesanan untuk daftar pesanan.

get

Mendapatkan detail pesanan untuk satu pesanan.

refund

Mengembalikan dana langganan pengguna atau pesanan pembelian dalam aplikasi.