I have implemented Auto renewable subscription for In-App purchase.
At time of login I am verifying the reciept But what should be that next step if I am getting response as code-21006 that states subscription has been expire.
Do I need to prompt user regarding "Do you want to renew now" or it renews automatically though it sends 21006 code?
Auto renewable as it's name is auto and as long as your user is clear that he purchased an Auto renewable subscription you don't have to inform or ask every time. I looked at apple docs and there is no mention that you have to.
Don'f forget that the user will get a receipt from iTunes when the subscription will renew.
BUT
After all I think this is a good service to inform (not to ask) your user that the subscription has been renewed. As a customer I would appreciate that.
Related
I am making subscription in the sandbox pay-pal and i just want to know how you guys do for the renew of subscription...example if the customers subscription is expired how can i let him renew his/her subscription do i need to create another button for the subscription just to renew his/her subscription?just what i did in his/her first subscription...and how do i reset the date so that his ending date of subscription will be lesser so that i can test to renew the subscription in the sandbox pay-pal.
Or how do i redirect my customers to my sandbox test(business) site if they're subscriptions are expired.what should i do?...please let me know how to do this.
just like in there first subscription they redirected to my sandbox test site and they can see how much they would pay...
I appreciated much more reply.
Thank you.
If you're using IPN, PayPal sends an IPN post when a subscription is created, a payment is made, and when it expires. You can use that IPN post to trigger a script to send your buyers an e-mail. That e-mail can include a link to your site where the button is located or a link the buyers can click to be redirected to PayPal and resubscribe from there.
There isn't a guaranteed way to have buyers return to your site after their subscription expires. Sending them an e-mail with their different options and an explanation that their subscription has expired is a fair way of handling the situation.
I am selling apps via In-App within my App, currently what I am doing is, when anyone has already purchased the In-App item, then at the time of update it ask for purchase it again, it doesn't charge any money but it asks each time for log in and password, Is any way to skip this log in progress, I want it should be updated without asking for purchase and log in password.
You'll have to cache the user's purchase history on disk somehow in order to prevent this from happening, otherwise you'll have to ask the user to authenticate with Apple at least once (through running a transaction restore or by re-purchasing your products).
I am using the new subscription model with StoreKit in a test application of mine, but I have a few questions:
If the user cancels the subscription,
how am I informed of this? Or do I
have to monitor the date myself
(using the value transactionDate)
If the subscription is cancelled, the
user can now longer restore this
purchase if the subscription is
expired right?
Thank you!
You aren't informed if the user cancels. When you validate a receipt, Apple should give you a receipt for the most recent subscription period with a status of 0. If this isn't the case, the user is no longer subscribed.
The user can't restore an expired subscription.
I am working on one app in which i have implemented the in app purchase and also successfully verified the receipt.
I have done the auto renewal subscription in which I want to know how I can check the user subscription is active or not?
In order to verify the receipt i need the receipt from the SKPaymentTransaction. So my question is that how could I can check when user returns to my app that he still has subscription or it expired.
or simply which method can give me the user transaction property of SKPaymentTransaction on load of my view so i can verify the receipt.
Thanks in advance,
Satish
Finally I did it in the following way...
I save the transaction receipt in userdefaults when user first time subscribes to the subscription and when later I need to check for the subscription activation I use that receipt which tells me the latest expiry day..
Hope this will help...
my question is: If a subscription receipt expired, do i have to call [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]?
Background:
In sandbox, i dont get a new receipt automatically, so i think i have to use restoreCompletedTransactions.
But in this way, the user has to enter his password every week, bad user experience.
And if the user has turned of the subscription, it has expired and starts the app again. The popup has to appear?
The way to handle this is to store any or all receipts your receive that pertain to the subscription. Then when you occasionally verify one of these receipts with Apple, they will send you the latest pertinent receipt which will tell you the status of the user's subscription. This process doesn't require the user to enter their credentials.
Note: Apple prefers that you perform verification from your server, and not from the app, so that you can keep your secret private and not include it in your app's code.