Dokumen ini menjelaskan cara mengintegrasikan aplikasi Anda dengan fitur multi-produk Play Billing Library (PBL).
Fitur multi-produk untuk produk sekali beli (OTP) memungkinkan Anda menggabungkan beberapa produk sekali beli menjadi satu unit. Produk paket ini kemudian dapat dibeli, ditagih, dan dikelola secara bersamaan. Anda juga dapat membuat penawaran diskon untuk OTP paket ini guna mendorong pembelian produk.
Pertimbangan
Saat Anda membuat paket produk sekali beli, perhatikan pertimbangan berikut:
- Anda tidak dapat memiliki langganan dalam paket produk sekali beli.
- Anda tidak dapat menggabungkan konten digital dan layanan dalam paket produk sekali pakai yang sama.
- Produk sekali beli yang dibundel harus tersedia untuk didownload langsung. Misalnya, paket produk sekali beli tidak dapat memiliki pembelian praorder karena tidak tersedia untuk didownload langsung.
- Multi-produk untuk produk sekali beli tidak mendukung opsi pembelian sewa.
Melakukan integrasi dengan Play Billing Library
Bagian ini mengasumsikan bahwa Anda sudah memahami langkah-langkah integrasi PBL awal seperti, menambahkan dependensi PBL ke aplikasi Anda, melakukan inisialisasi BillingClient, dan menghubungkan ke Google Play. Bagian ini berfokus pada aspek integrasi PBL yang khusus untuk pembelian OTP multi-produk.
Meluncurkan alur pembelian
Untuk meluncurkan alur pembelian produk sekali beli multi-produk, lakukan langkah-langkah berikut:
Buat daftar produk yang berisi semua produk sekali beli menggunakan metode QueryProductDetailsParams.Builder.setProductList.
Ambil semua produk sekali beli Anda menggunakan metode
BillingClient.queryProductDetailsAsync
.Contoh berikut menunjukkan cara mengambil semua produk sekali beli Anda:
Java
billingClient.queryProductDetailsAsync( queryProductDetailsParams, new ProductDetailsResponseListener() { public void onProductDetailsResponse( BillingResult billingResult, QueryProductDetailsResult productDetailsResult) { // check billingResult // … // process productDetailsList returned by QueryProductDetailsResult ImmutableList
productDetailsList = productDetailsResult.getProductDetailsList(); for (ProductDetails productDetails : productDetailsList) { for (OneTimePurchaseOfferDetails oneTimePurchaseOfferDetails : productDetails.getOneTimePurchaseOfferDetailsList()) { // … } } } }); Tetapkan objek
ProductDetails
untuk setiap produk sekali beli.Tentukan detail produk sekali beli dalam metode
BillingFlowParams.Builder.setProductDetailsParamsList
. ClassBillingFlowParams
menentukan detail alur pembelian.Contoh berikut menunjukkan cara meluncurkan alur penagihan untuk pembelian OTP multi-produk:
Java
BillingClient billingClient = BillingClient.newBuilder() // set other options .build(); // ProductDetails obtained from queryProductDetailsAsync(). ProductDetails productDetails1 = ...; ProductDetails productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
Memproses pembelian
Pemrosesan pembelian OTP multi-produk sama dengan pembelian
item tunggal yang ada seperti yang dijelaskan dalam
Mengintegrasikan Google Play Billing Library ke aplikasi Anda.
Satu-satunya perbedaan adalah Anda perlu memberikan hak untuk semua
produk, bukan hanya satu untuk pembelian OTP multi-produk, sehingga
pengguna dapat menerima beberapa hak dengan satu pembelian.
Pembelian OTP multi-produk menampilkan beberapa item yang dapat diambil
dengan menggunakan Purchase.getProducts()
di Google
Play Billing Library, lalu daftar lineItems
di
purchases.products.get
dari Google Play Developer API.
Notifikasi developer real time
Kolom sku
tidak disediakan di RTDN untuk pembelian OTP multiproduk.
Pembelian OTP multi-produk mewakili lebih dari satu produk. Oleh karena itu, Anda dapat menggunakan Play Developer API untuk mendapatkan data pembelian, dan melihat semua item di dalamnya.
Pengembalian dana
Dalam pembelian OTP multi-produk, pengguna tidak dapat meminta pengembalian dana untuk setiap item, dan Anda juga tidak dapat melakukan pengembalian dana untuk setiap item. Namun, permintaan dan penerbitan pengembalian dana untuk seluruh pembelian OTP multi-produk diizinkan. Jika Anda membatalkan pembelian OTP multi-produk untuk pengguna, semua hak yang terkait dengan pembelian tersebut akan dibatalkan.
Pelaporan dan rekonsiliasi keuangan
Gunakan Laporan penghasilan untuk mencocokkan pembelian OTP multi-produk aktif Anda dengan pembayaran dan transaksi Google di Play. Setiap item baris transaksi memiliki ID Pesanan. Untuk pembelian OTP multi-produk, laporan Penghasilan dan Estimasi penjualan akan menyertakan baris terpisah (dengan ID Pesanan yang sama) untuk setiap transaksi seperti penagihan, biaya, pajak, dan pengembalian dana, untuk setiap item yang terlibat.
Untuk dasbor di Konsol Play:
Statistik pendapatan yang ditampilkan di bagian Pelaporan keuangan di konsol dikelompokkan menurut masing-masing produk.
Pengelolaan pesanan mencerminkan pembelian OTP multi-produk, dan menampilkan daftar item yang dibeli. Dari pengelolaan pesanan, Anda dapat membatalkan akses, membatalkan, atau mengembalikan dana sepenuhnya untuk pembelian pengguna.