Posts

Post not yet marked as solved
0 Replies
377 Views
Hello there,We noticed a major difference in handling subscription renewals by transaction observer on iOS and macOS.On iOS renewals come to the observer with state .purchased, while on macOS they come with state .restored.Why is that? Is it expected behaviour or a bug? Did anyone experience same issue?Thank you in advance,Mikhail.p.s. All testing was conducted in sandbox environment.
Posted
by mikejd.
Last updated
.
Post not yet marked as solved
3 Replies
4.2k Views
Hello,We're implementing subscription offers in our app and all goes fairly well. However, if user has an active subscription (same plan / product ID) while redeeming the offer, we're getting failed transaction from the payment queue, despite system popover states that "You're all set". I'm not aware if it's documented anywhere, but I assume that the failed transaction in this case indicates, that user hasn't been charged. And yet, this is source of confusion — how do we know, if user redeemed the offer successfully or not?That said, we started observing another inconsistency this week: StoreKit documentation states that we must use transaction's error property "to determine what happened", but in aforementioned scenario it is actually nil. I'd like to consider the absence of error as an indirect evidence, that the transaction was actually successful, and yet I haven't seen any documentation to support this hypothesis.Is it intended behaviour or a bug in sandbox?UPDATE: It looks like the transaction.error and transaction.payment.paymentDiscount are nil on the mac, but present on iPad (for same test account) for existing subscribers, though error message is still vague in the latter case:Error Domain=SKErrorDomain Code=0 "Cannot connect to iTunes Store" UserInfo={NSLocalizedDescription=Cannot connect to iTunes Store}UPDATE 2: Submitted a bug regarding this issue.
Posted
by mikejd.
Last updated
.