Hi, i've been collecting the in app transaction receipts for all purchases within my app, and i end up detecting a discrepancy between what i register and what apple says i earned.
When i check the receipts validity, all of then came with status = 0, but, just a few return with the in_app array filled. I really don't know whats is happening but im registering way more purchases than i receiving from apple.
this is where i detect the purchase:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
// Load the receipt from the app bundle.
[self checkReceipt:transaction];
break;
and this is where i send the receipt
- (void)checkReceipt:(SKPaymentTransaction *)transaction {
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
if (!receipt) {
/ No local receipt -- handle the error. */
[Util notifyWithTitle:[Strings appinFail] message:nil];
// Remove the transaction from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
return;
}
NSString *base64 = [receipt base64EncodedStringWithOptions:0];
Does any one know why the receipt in_app array is empty and why am i detecting a difference between what i sold and what apple said i sold?