License getting activated after activation period - license4j

License getting activated after activation period
I have created the license (let say on 1 Jan 2020) with Validity Period 30 days, and activation period is 2 days.
And Not Selected the "Set Activated License Text Generation Time To Activation Time" so my license will expire on 30 Jan 2020.
But when I try to activate the license (let say on 10 Jan 2020) after validity period expired (which is given 2 days and expired on 3 Jan 2020) still license getting activated.
I am using below API of license4j which return Activation Status : Activation Completed
LicenseValidator.autoActivateWithCustomHardwareID(license, customHardwareIDforActivation)
Is I am missing something ?? or Activation period is not for this purpose.

Activation period is just for informational use; it does not prohibit activating the license. It is to force the customer to activate the license. e.g. Microsoft use similar licensing method. When you buy a windows or office, you can install and use it for about 1 month, but after 1 month you must activate the license to continue using the software.
So in your software, after validating the license, you should check the activation period, if it is not over, just allow running the software. If it is over, display an activation window to activate the license. If customer does not activate, do not allow to run the software.
After purchasing the license, customer may want to try it on some computer for some time, after some time, he/she may want to install the license on a permanent computer. So it is good to let them to install and use the software without activating for a limited time.

Related

App Store Connect: Change subscription price for new subscribers

I want to raise the price of my subscription in my iOS app. Because I think it would be unfair to existing subscribers to charge them more than they have signed up for, I'd only like to set the new price for NEW subscriptions - I want users that have subscribed prior to the change to continue being able to pay the old price in the future renewal cycles.
Now I am extremely confused by the App Store Connect interface on that. It says
Choose the date you want your price change to begin. Anyone in the
selected country or regions who subscribes on or after this date will
pay the new price.
However, in other places I have seen popups by Apple notifying subscribers of other apps that the price will change and they have to opt-in to the new price.
Where exactly can I tick/untick an option that says something like "do not raise the price for current subscribers"? Or do I have to pass that in code somewhere?
I understand it seems to be an option (or the default) to also apply the new price to existing customers but I do not want to do that at all, I want them to keep the old price but apply a new price to new subscribers.
I hope this link may help you.
ref: https://help.apple.com/app-store-connect/?lang=en#/devc9870599e
pls see Increase the price of an auto-renewable subscription section
1、The follow option may help you "do not raise the price for current subscribers"
Choose an option for subscribers paying the current price shown in App
Store Connect:
A: Keep the current price for existing subscribers. Anyone who
subscribed before the start date of this price change won’t be
affected. Subscribers whose subscription expires can resubscribe at
the preserved price within 60 days of expiration.
B: Apply the price change to existing subscribers who are paying the
price of your subscription currently displayed on the App Store. App
Store Connect will provide an indication if consent is required (or if
they'll simply be notified) for each territory. If you have customer
groups that have had their prices preserved and your change is
scheduled for the future, keep in mind that circumstances may change
and consent will be required based on the conditions of the customer
at the time of the increase. You are responsible for ensuring you
understand when consent will be required.
2、The follow reason is why you see "price raised tips" in other apps
Consent needed If any of the following applies, subscribers must
consent to the price increase before their next renewal date in order
for the subscription to renew. Apple will automatically contact them
by email to request consent, or by push notification.
The subscriber is located in a region that requires consent for any
price changes.
The price increase is:
More than 50% of the current price; and
The difference in price exceeds approximately $5 United States Dollar
(USD) per period for non-annual subscriptions, or $50 USD per year for
annual subscriptions.
International equivalents for prices not in USD are based on current
exchange rates with the specific thresholds which are subject to
change at any time based on changes in foreign exchange rates. View a
list of thresholds per territory.
The subscriber already had a price increase for that subscription
within the past 12 months.

How to set trial period in shopify app?

I have created shopify app and setting up billing Api. In the App, I want to apply trial period of 20 days. I have created the charge during the app installation and send customers to confirmation url so that they can accept or decline the charge.. So I want to know that if customer decline the payment charge, then can he uses the app featurs till trial period?
If a customer declines the subscription, you still get the confirmation URL callback. Examine the charge. The status will say declined. At this point you can kill off their DB token and destroy their session. This will ensure they cannot use your App as they declined the terms.
It is one bad aspect of the whole billing scenario. I have lots of customers that are faced with a question they don't read. So they assume the trial you offer for free is activated by declining the subscription. Silly customers... still cannot operate the Internet :)

Add UDID's to developer account after reaches 100 count

Recently I renewal my developer account. But unfortunately i didn't delete UDID's from the list. Now it reaches 100. I have 9 months time to again renewal my account. SO how can i add new UDID's ? Is there any chance again to renewal my account for adding/ Managing devices.Please provide me suggestion.
As far as I know there is no way to remove old UDIDs before next license renewal.
So I suggest you to buy second developer license and use it for you needs.

subscription payment processing

Looking for some advice on which service to use to implement the following on my site:
I would like to sell 4 levels of subscriptions each to be billed on a monthly basis
The customer should be able to cancel their subscription at any time
The customer should be able to upgrade and downgrade their subscription at any time
I would like to keep the cost down until I have enough subscribers.
I have looked at Paypal but could not figure out how I can do requirements #3. Posting to their community forums yielded no response.
I am also located in Canada which seems to limit the options available to me.
I am currently looking at www.preedly.com and www.chargify.com but they seem to require a merchant account so I'd end up paying 2 service providers.
My site is written in PHP so a PHP-friendly solution is needed.
One last thing, I could not find a way to get Paypal to tell me the new subscription expiry date (following the successful processing of a transation) in order for me to update my customer table and lock out those who have not paid.
You may want to look into gettings a US based merchant account (I used to work for a merchant account provider and we were able to successfully establish merchant account for Canadian businesses. IIRC it required some hoops to be jumped through, though). If you can get a US merchant account you then can use Authorize.Net's Automated Recurring Billg (ARB) API. It allows you to create subscriptions and modify them accordingly (upadting and deleting).

Test cases for validating product license...?

I am having a product and its license is gets validated from server. Can any body tell me how many test scenarios i can prepare on this to validate license...?
How do we know how many unless we know how the validation works? ;-)
Well if you server validated based on time try changing the time in the client and valdate.
Change system time (future date) , install app and then change the date to current date and then try validating.
Enter the same license key (if any) in two copies and try validating
You might also want to consider using an off-the-shelf license server scheme like FlexNet. This allows your customer to manage your product licensing along many other licensed products.
Validate whether the license will work for 24 hours or not
Validate whether the license will expire in 24 hours or it will expire in 24:59:59
(Ex: When a license expires in one day then check whether it expires in 24 hrs or same day 24:59:59)