Bagaimana untuk Mengesahkan Resit Pembelian Dalam Apl?

Linda Hamilton
Lepaskan: 2024-10-17 20:12:03
asal
769 orang telah melayarinya

How to Validate In-App Purchase Receipts?

Mengesahkan Resit Pembelian Dalam Apl

Pembelian dalam apl menyediakan aliran hasil penting untuk banyak apl iOS. Untuk memastikan kesahihan transaksi ini, pembangun aplikasi perlu mengesahkan resit mereka dengan App Store Apple. Walau bagaimanapun, proses ini boleh menjadi rumit dan terdedah kepada ralat.

Pengesahan Resit: Gambaran Keseluruhan

Untuk mengesahkan resit di pihak pelanggan, pembangun mesti mendapatkannya semula daripada objek SKPaymentTransaction dan kodkannya dalam base64. Resit yang dikodkan kemudiannya dihantar ke pelayan pembangun.

Pengesahan Sisi Pelayan

Pelayan kemudiannya memajukan resit yang dikodkan ke App Store Apple menggunakan permintaan HTTP POST. Maklum balas Apple akan menunjukkan sama ada resit itu sah, bersama-sama dengan status urus niaga (cth., dibeli, dibayar balik).

Penyatuan Sisi Pelanggan

Setelah resit telah disahkan pada pelayan, apl pihak klien boleh mendapatkan semula data dan menyimpannya secara setempat. Rekod ini kemudiannya boleh digunakan untuk membuka kunci kandungan atau memberikan akses kepada ciri dalam apl.

Kod Contoh

Mengesahkan resit dalam kod melibatkan langkah berikut:

Pihak Pelanggan Objektif-C:

<code class="objective-c">- (void)verifyReceipt:(SKPaymentTransaction *)transaction {
    NSString *receiptData = [self encode:transaction.transactionReceipt.bytes length:transaction.transactionReceipt.length];
    // Combine with server URL and query string, perform HTTP request
}</code>
Salin selepas log masuk

Pengekodan Base64:

<code class="objective-c">- (NSString *)encode:(const uint8_t *)input length:(NSInteger)length {
    // Encode the receipt data using base64
}</code>
Salin selepas log masuk

PHP Bahagian Pelayan :

<code class="php">$url = "https://sandbox.itunes.apple.com/verifyReceipt";
$receipt = json_encode(array("receipt-data" => $_GET["receipt"]));
$response = json_decode(postToURL($url, $receipt));

// Parse and process the Apple response</code>
Salin selepas log masuk

Penyelesaian Masalah dan Langkah Berjaga-jaga

Pastikan data resit diformat dan dikodkan dengan betul sebelum menghantarnya kepada Apple. Gunakan versi iOS dan App Store SDK yang terkini. Pertimbangkan untuk menggunakan permintaan HTTP tak segerak untuk mengelak daripada menyekat urutan UI. Adalah disyorkan untuk menggunakan sambungan HTTPS yang selamat untuk komunikasi sisi klien dan sisi pelayan.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Resit Pembelian Dalam Apl?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!