Я новичок в проверке чеков в iOS. Я успешно осуществил покупку в приложении. Теперь я хочу включить часть проверки квитанции в эту покупку в приложении.
Моя покупка в приложении предназначена для 3 продуктов. Я хочу, чтобы перед покупкой каждого продукта в моем приложении выполнялась проверка квитанции.
Для этого я перешел по следующей ссылке: официальное руководство разработчика Apple
Мне удалось получить данные о квитанции, но я не понимаю, что делать после получения данных о квитанции. Как отправить его обратно на сервер Apple для проверки, а затем начать процесс покупки в приложении?
Вот мой код:
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
NSLog(@"transactions count : %d",transactions.count);
BOOL flgIsProductRestorable=NO;
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:
{
// show wait view here
//statusLabel.text = @"Processing...";
NSLog(@"Processing...");
}
break;
case SKPaymentTransactionStatePurchased:
{
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
[SVProgressHUD dismiss];
// remove wait view and unlock feature 2
//statusLabel.text = @"Done!";
NSLog(@"Success : %@ = %@",transaction.payment.productIdentifier,transaction.transactionIdentifier);
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
NSLog(@"%@",receipt);
NSError *error;
NSDictionary *requestContents = @{
@"receipt-data": [receipt base64EncodedStringWithOptions:0]
};
NSData *requestData = [NSJSONSerialization dataWithJSONObject:requestContents
options:0
error:&error];
if (!requestData) { /* ... Handle error ... */ }
// Create a POST request with the receipt data.
NSURL *storeURL = [NSURL URLWithString:@"https://sand.itunes.apple.com/verifyReceipt"];
NSMutableURLRequest *storeRequest = [NSMutableURLRequest requestWithURL:storeURL];
[storeRequest setHTTPMethod:@"POST"];
[storeRequest setHTTPBody:requestData];
// Make a connection to the iTunes Store on a background queue.
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:storeRequest queue:queue
completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (connectionError) {
/* ... Handle error ... */
} else {
NSError *error;
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
NSLog(@"response : %@",jsonResponse);
if (!jsonResponse) { /* ... Handle error ...*/ }
/* ... Send a response back to the device ... */
}
}];
[self WS_EbookDetail:transaction.transactionIdentifier];
}...
Я только что скопировал вставленный код получения квитанции из ссылки на яблоко, которую я дал в этом вопросе.
Что мне делать дальше?