robotmedia / RMStore

A lightweight iOS library for In-App Purchases
Apache License 2.0
2.43k stars 450 forks source link

applicationUsername is null #201

Open morteza2128 opened 7 years ago

morteza2128 commented 7 years ago

I want send additional data with purchase, and I used applicationUsername for setting userId In restore transactions, 'applicationUsername' is empty and also I used requestData but still is nil. Is there any way to save data with purchase and get it back in restore or at least save userId.

[[RMStore defaultStore] restoreTransactionsOfUser:USERID onSuccess:^(NSArray *transactions){

    [self verifyTransactions:transactions];

    [transactions enumerateObjectsUsingBlock:^(SKPaymentTransaction   * _Nonnull transaction, NSUInteger idx, BOOL * _Nonnull stop) {

        NSString *productID = transaction.payment.productIdentifier;
        NSLog(@"product identifier:%@",transaction.originalTransaction.payment.productIdentifier);
        NSLog(@"application username:%@",transaction.originalTransaction.payment.applicationUsername);

        if (![purchasedBeforeArr containsObject:productID]) {

            NSDictionary *productDict = @{@"productId":productID,@"orderId":transaction.transactionIdentifier,@"date":[NSString stringWithFormat:@"%@",transaction.transactionDate]};

          //  NSLog(@"application username:%@",transaction.payment.requestData);
            [muArr addObject:productDict];
        }

    }];        
} failure:^(NSError *error) {

}];