Receipt Verification 21004 code for Consumable Item on Production

Hello,

One of our customer's purchases of IAP consumable product have issue on its receipt verification. Verification via "https://buy.itunes.apple.com/verifyReceipt" returns {"environment": "Production", "status": 21004}. He purchased 3 consumable items and only verification of 3rd purchase successfully got verified. All of other purchases in our app before and after had no problem with same secret, same server.

  • I once heard 21004 is for auto renewable subscription, not for consumable. Can it be returned for consumable purchase?
  • Is there any other known issue for receipt verification? We have no change of code, server, secret at that time and all other verification succeeded but two failed.

Thanks in advance.

Regards,

Replies

Can you please file a feedback with more details about the request you submitted?

The verification request was sent as POST to https://buy.itunes.apple.com/verifyReceipt with json format body below.

{
    "receipt-data": encoded_receipt_from_ios_client,
    "password": secret_stored_in_app_server,
}

Receipt data above was generated on purchase in iOS client as below

NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *transactionReceipt = [NSData dataWithContentsOfURL:receiptURL];
NSString *receiptBase64String = [transactionReceipt base64EncodedStringWithOptions:0];