diff --git a/extension-iap/src/iap_ios.mm b/extension-iap/src/iap_ios.mm index 1323c8f..1fdc4d1 100644 --- a/extension-iap/src/iap_ios.mm +++ b/extension-iap/src/iap_ios.mm @@ -261,7 +261,6 @@ static void CopyTransaction(SKPaymentTransaction* transaction, IAPTransaction* o out->ident = strdup([transaction.payment.productIdentifier UTF8String]); - if (transaction.transactionDate) out->date = strdup([[dateFormatter stringFromDate: transaction.transactionDate] UTF8String]); out->state = transaction.transactionState; @@ -274,9 +273,15 @@ static void CopyTransaction(SKPaymentTransaction* transaction, IAPTransaction* o if (transaction.transactionState == SKPaymentTransactionStatePurchased) { NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; NSData *receiptData = [NSData dataWithContentsOfURL:receiptURL]; - out->receipt_length = receiptData.length; + + NSString *receiptString = [receiptData base64EncodedStringWithOptions:0]; + out->receipt_length = receiptString.length; out->receipt = (const char*)malloc(out->receipt_length); - memcpy((void*)out->receipt, receiptData.bytes, out->receipt_length); + memcpy((void*)out->receipt, [receiptString UTF8String], out->receipt_length); + + // out->receipt_length = receiptData.length; + // out->receipt = (const char*)malloc(out->receipt_length); + // memcpy((void*)out->receipt, receiptData.bytes, out->receipt_length); } if (transaction.transactionState == SKPaymentTransactionStateRestored && transaction.originalTransaction) {