3.3.7
0.59.8
Android
ketika saya meminta pembelian, maka saya memvalidasi tanda terima di server saya, jika validasi gagal saya ingin dapat secara manual membatalkan pembelian, alih-alih fungsi purchaseUpdatedListener dipicu setiap saat, jika tidak memanggil acknowledgepurchase atau konsumsi pembelian.
ketika tidak menyelesaikan pembelian, saya tidak bisa membatalkan pembelian yang tertunda. Di android saya harus menunggu itu dibatalkan secara otomatis.
Perangkat nyata
Lakukan pembelian dan jangan panggil confirmgepurchase atau Consumepurchase.
Bahkan jika terjadi kegagalan, Anda tetap harus memanggil acknowledgePurchase
dan consumePurchase
untuk transaksi yang sudah selesai. Anda hanya tidak melanjutkan logika seperti tidak memberikan hadiah pada database Anda sendiri. Selain itu, Anda harus consmePurchase
agar tidak tetap ada di aplikasi Anda.
@hyochan jika saya melakukan itu, pembayaran akan disetujui dan akun pengguna akan dikenakan biaya tanpa mendapatkan hadiah.
@tmjordan Oh, saya mengerti apa yang Anda maksud. Bagaimana jika Anda melanjutkan logika dengan memberi hadiah?
@hyochan ketika pengguna membeli produk, tanda terima yang diberikan dikirim ke server google untuk memvalidasi tanda terima dan untuk mendapatkan status pembelian (jika pembayaran telah disetujui, atau tertunda, atau dibatalkan).
Katakanlah saya mengalami kesalahan selama proses validasi tidak datang dari server google (backend saya misalnya), jadi saya tidak dapat memvalidasi tanda terima dan saya ingin membatalkan pembelian secara manual daripada menunggu untuk dibatalkan oleh google ( selama waktu itu saya tidak bisa melakukan pembelian lagi) jika saya tidak menelepon aknowledgepurchase atau Consumepurchase.
Tidak tahu apakah itu mungkin, mungkin begitulah proses pembelian bekerja di google.
Alangkah baiknya, jika kita bisa secara manual membatalkan pembelian yang belum diakui atau dikonsumsi. Dalam skenario itu pengguna akan dikembalikan jika pembayaran telah disetujui.
Alih-alih membuat pembelian yang sama dipicu setiap kali sampai dibatalkan oleh Google.
@ tmjordan Terima kasih atas sudut pandang Anda yang baik. Kedengarannya masuk akal tetapi saya tidak yakin bahwa pembelian pending
sebenarnya ditagih. Saya pikir pembelian pending
seharusnya tidak ditagih ketika acknowledged
dan sebaliknya ini harus dihapus. Semoga kami dapat membahas lebih detail tentang pengalaman lain.
@hyochan , Apakah ada fungsi seperti itu di iOS, untuk membatalkan pembelian yang belum diselesaikan dengan menelepon finishTransactionIOS
dan kemudian menghapus pembelian itu dari riwayat pembelian. Saya tidak tahu apakah ada cara lain untuk memeriksa apakah langganan masih aktif, tetapi yang saya lakukan sekarang adalah memeriksa tanggal kedaluwarsa untuk transaksi terakhir dalam riwayat penerimaan. Jadi jika pembelian belum selesai, saya tidak ingin itu tercatat dalam riwayat pembelian. Sayangnya saat ini, itulah yang terjadi. Dan tidak seperti Android, pembelian yang belum selesai tidak akan dibatalkan setelah beberapa waktu dan tidak akan pernah berhenti dipicu oleh purchaseUpdateListener
.
Jadi saya memiliki masalah yang sama di ios dan android, saya perlu membatalkan pembelian yang belum selesai. Dan khususnya di iOS, pembelian tersebut tidak dicatat dalam riwayat kecuali jika ada cara yang lebih efisien untuk memeriksa validitas langganan.
Saya ingin menangani skenario serupa
purchaseUpdateListener
dipicu berkali-kali hingga finishTransactionIOS dipanggil namun ini bukan hasil yang diinginkan. Transaksi harus dibatalkan pada tahap ini.Apakah ada metode untuk membatalkan transaksi.
Komentar yang paling membantu
@hyochan , Apakah ada fungsi seperti itu di iOS, untuk membatalkan pembelian yang belum diselesaikan dengan menelepon
finishTransactionIOS
dan kemudian menghapus pembelian itu dari riwayat pembelian. Saya tidak tahu apakah ada cara lain untuk memeriksa apakah langganan masih aktif, tetapi yang saya lakukan sekarang adalah memeriksa tanggal kedaluwarsa untuk transaksi terakhir dalam riwayat penerimaan. Jadi jika pembelian belum selesai, saya tidak ingin itu tercatat dalam riwayat pembelian. Sayangnya saat ini, itulah yang terjadi. Dan tidak seperti Android, pembelian yang belum selesai tidak akan dibatalkan setelah beberapa waktu dan tidak akan pernah berhenti dipicu olehpurchaseUpdateListener
.Jadi saya memiliki masalah yang sama di ios dan android, saya perlu membatalkan pembelian yang belum selesai. Dan khususnya di iOS, pembelian tersebut tidak dicatat dalam riwayat kecuali jika ada cara yang lebih efisien untuk memeriksa validitas langganan.