Unable to Purchase In-App products in Sandbox mode

Originator:chris
Number:rdar://31285541 Date Originated:03-27-2017
Status:Open Resolved:
Product:iOS + SDK Product Version:10.3
Classification:Serious Reproducible:Every time
 
When initiating an SKProductRequest with known valid product identifiers (that is, the identifiers are associated with in-app products currently available for sale), the response delegate method fires with all requested product identifiers present in the invalidProductIdentifier field and an empty array of SKProducts. 

This is only happening in the Sandbox environment and can be reproduced in apps posted to TestFlight for testing.

- (void)fetchProductInformationForIds:(NSArray *)productIds
{
	SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIds]];
	request.delegate = self;
	[request start];
}

And here is the delegate method implementation to handle the response. 

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
   if ([response.products count]) {
	 NSLog(@“Valid product skus: %@", response.products);
    } else {
         NSLog(@“No products found"); 
    }
    
    if ([response.invalidProductIdentifiers count]) {
        NSLog(@"Failed to get info for skus: %@", response.invalidProductIdentifiers);
    }
}

When the error occurs, no product are found and all of the submitted identifiers are returned as invalid.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!