AppStore 內購驗證的方法

來源:互聯網
上載者:User

標籤:style   blog   class   c   code   java   

AppStore增加了驗證內購(In App Purchasement)的方法, 就是蘋果提供一個url地址, 開發測試用:

https://sandbox.itunes.apple.com/verifyReceipt

產品用:

https://buy.itunes.apple.com/verifyReceipt

當購買成功時, 會得到蘋果返回的一個收據(receipt), 蘋果推薦的方法是將收據發給開發人員的server, 由server像上述地址post http訊息, 進行驗證, 蘋果將結果返回.到底是真正的購買還是虛假的購買.

沒有自己server的小夥伴可以用app進行發送, 代碼如下.

#define ITMS_SANDBOX_VERIFY_RECEIPT_URL     @"https://sandbox.itunes.apple.com/verifyReceipt"#pragma mark - VerifyFinishedTransaction-(void)verifyFinishedTransaction:(SKPaymentTransaction *)transaction{    if(transaction.transactionState == SKPaymentTransactionStatePurchased){        NSString *transactionIdentifier =  transaction.transactionIdentifier;        NSData *transactionReceipt  = transaction.transactionReceipt;        //將transactionIdentifer和加密後的transactionReceipt資料發送給server端                NSString* receipent = [NSString stringWithFormat:@"%s", transactionReceipt.bytes];                NSLog(@"receipent = %@", receipent);                // 在app上做驗證, 僅用於測試        NSString *payload = [NSString stringWithFormat:@"{\"receipt-data\" : \"%@\", \"password\" : \"%@\"}",                             receipent, transactionIdentifier];        NSData *payloadData = [payload dataUsingEncoding:NSUTF8StringEncoding];        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:ITMS_SANDBOX_VERIFY_RECEIPT_URL]];        [request setHTTPMethod:@"POST"];        [request setHTTPBody:payloadData];        NSError* err;        NSURLResponse *theResponse = nil;        NSData *data=[NSURLConnection sendSynchronousRequest:request                                           returningResponse:&theResponse                                                       error:&err];        NSError *jsonParsingError = nil;        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&jsonParsingError];        NSLog(@"%@", dict);        NSLog(@"done");        }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.