Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengesahkan Resit Pembelian Dalam Apl?

Bagaimana untuk Mengesahkan Resit Pembelian Dalam Apl?

Linda Hamilton
Linda Hamiltonasal
2024-10-17 20:12:03770semak imbas

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>

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!

Kenyataan:
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