如何驗證應用程式內購買收據?

Linda Hamilton
發布: 2024-10-17 20:12:03
原創
769 人瀏覽過

How to Validate In-App Purchase Receipts?

驗證應用程式內購買收據

應用程式內購買為許多 iOS 應用程式提供了重要的收入來源。為了確保這些交易的合法性,應用程式開發人員需要透過蘋果的應用程式商店驗證他們的收據。然而,這個過程可能很複雜且容易出錯。

收據驗證:概述

要在客戶端驗證收據,開發人員必須從SKPaymentTransaction 物件並將其編碼為 base64。然後,編碼的收據將傳輸到開發人員的伺服器。

伺服器端驗證

伺服器然後使用 HTTP POST 請求將編碼的收據轉送到 Apple 的 App Store。 Apple 的回覆將顯示收據是否有效,以及交易狀態(例如,購買、退款)。

客戶端整合

一旦收據經過伺服器驗證後,客戶端應用程式可以檢索資料並將其儲存在本地。然後,該記錄可用於解鎖內容或授予對應用程式內功能的存取權限。

範例程式碼

在程式碼中驗證收據涉及以下步驟:

Objective-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>
登入後複製
Objective-C 用戶端:

<code class="objective-c">- (NSString *)encode:(const uint8_t *)input length:(NSInteger)length {
    // Encode the receipt data using base64
}</code>
登入後複製

Base64 編碼:

<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>
登入後複製

伺服器端PHP :

在將收據資料傳送給Apple 之前,請確保其格式和編碼正確。使用最新版本的 iOS 和 App Store SDK。考慮使用非同步 HTTP 請求以避免阻塞 UI 執行緒。建議對客戶端和伺服器端通訊使用安全的 HTTPS 連線。

以上是如何驗證應用程式內購買收據?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!