2015-11-11 14 views
6

Ứng dụng của tôi chứa sản phẩm tiêu thụ IAP, trả về nhiều hơn một giao dịch khi tôi gọi nhận xác nhận với mã này:Returns nhiều giao dịch trên iOS In-App-mua xác nhận

[[NSBundle mainBundle] appStoreReceiptURL]; 

Có cách nào để trở chỉ giao dịch cuối cùng?

Có liên quan đến việc khôi phục giao dịch không?

Tôi đã kiểm tra điều này Multiple receipt count for restoreCompletedTransaction inapp purchasing và điều này iOS in-app-purchase restore returns many transactions.

Tôi đã cố gắng khôi phục tất cả các giao dịch mua nhưng không hoạt động.

Tôi đang sử dụng những dòng này cho nhận gọi:

- (void) checkReceipt { 

NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; 
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL]; 
if(!receipt) { 

} 
NSError *error; 
NSDictionary *requestContents = @{@"receipt-data": [receipt base64EncodedStringWithOptions:0]}; 
NSLog(@"requestContents:%@", requestContents); 
NSData *requestData = [NSJSONSerialization dataWithJSONObject:requestContents 
                 options:0 
                 error:&error]; 

if (!requestData) { } 

NSURL *storeURL = [NSURL URLWithString:@"https://sandbox.itunes.apple.com/verifyReceipt"]; 

NSMutableURLRequest *storeRequest = [NSMutableURLRequest requestWithURL:storeURL]; 
[storeRequest setHTTPMethod:@"POST"]; 
[storeRequest setHTTPBody:requestData]; 

NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 
[NSURLConnection sendAsynchronousRequest:storeRequest queue:queue 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { 

          if (connectionError) { 


          } else { 


          } 
         }]; 

}

Lưu ý: Ứng dụng này hỗ trợ iOS 8+.

Trả lời

1

Nó không liên quan đến khôi phục giao dịch, đó là vì quả táo phản ứng với mảng của tất cả các giao dịch trong ứng dụng do người dùng thực hiện khi thực hiện yêu cầu xác thực. Các thông tin tương tự được chứa trong biên nhận nếu bạn giải mã nó cục bộ.

Nếu bạn đang tìm kiếm giao dịch cuối cùng, bạn có thể sắp xếp mảng tăng dần theo số purchase_date_ms và lấy giá trị cuối cùng.

Mục tiêu-c của tôi không quá nóng nên tôi không thể giúp bạn phân loại nhưng tài liệu này có thể trợ giúp: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Collections/Articles/Arrays.html

Các vấn đề liên quan