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>
Pengekodan Base64:
<code class="objective-c">- (NSString *)encode:(const uint8_t *)input length:(NSInteger)length { // Encode the receipt data using base64 }</code>
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>
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!