Using your own license server
If your app already activates with your own license keys, you do not have to change it to sell on AppsXi. Buyers pay on AppsXi and get a key your app already accepts.
Three ways to give buyers your key
| Way | How it works | Best when |
|---|---|---|
| Upload your keys | You make a batch of keys on your server and paste them in. Each buyer gets the next one the moment they pay, in their AppsXi library. | Your server can create keys ahead of time. This is the simplest for buyers. |
| Upload 100%-off coupon codes | You make single-use codes that take the full price off in your own checkout. The buyer pays on AppsXi, then uses the code on your site to get their key. | Your keys are only issued by your own checkout. |
| License bridge | AppsXi sends each sale to your server, and the key your server answers with appears in the buyer's library. | You can add one endpoint to your server. |
Set this up in Developer → your app → Pricing and licensing → Keys buyers get. Choose My own keys or codes, say whether they are license keys or coupon codes, and add the address where buyers use them (required for coupons). Your app stays at Licensing Level 0, because your server does the checking. Use uploaded codes or the bridge, not both.
Coupon codes
- Make every code single-use (one redemption each), so a code that leaks costs one sale, not hundreds.
- Limit each code to the product it is for, and make it take off 100%.
- The buyer's library tells them where to use it, and that it covers the full price.
When codes run out
- You get a warning on the page when fewer than 10 are left.
- At zero, your listing says Sold out for now and checkout is closed until you add more. AppsXi never takes money for a key it cannot hand out.
- If someone's payment completes as the last code goes, they see "your key is on its way" and get the next code you add, automatically.
Bad codes and refunds
- Every buyer can press My code didn't work in their library. That marks the code, tells you, and refunds them if the purchase is within 14 days.
- When two different buyers who paid report bad sale codes within 30 days, sales pause until you check your codes and turn sales back on. Each code counts once, reports on trial codes mark the code but never pause sales, and reports from before you turned sales back on do not count again.
- With trial codes and the license bridge, a buyer who pays stops seeing their trial code; your server's key for the purchase replaces it.
- Refunded codes are listed on the same page so you can turn them off on your server.
- Before your listing goes live, AppsXi keeps one real code back and the review team redeems it to check that it works. It is never sold.
Testing
Sandbox (test) purchases use the test codes you upload for sandbox, or a generated TEST-… code when you have none, so testing never uses up real codes.
Free trials
Nothing outside an installed app can stop it working when a trial ends. Only a check inside the app can. So AppsXi turns a trial on only when your app checks licenses. Pick Who runs the trial under Licensing:
| Choice | What happens | Needs |
|---|---|---|
| My app runs its own trial | The listing shows "Free for 7 days" and anyone can download the app. Your app starts its own trial when it first opens, and locks itself when the trial ends. Buying gets a key that unlocks it. | Your own keys (uploaded or the bridge), or Level 1 or 2. |
| Trial codes from my server | You upload trial codes too. "Try free" hands out one code, and your server ends the trial. Buying swaps the trial code for a full key. | Your own keys (uploaded or the bridge), plus uploaded trial codes. The trial button hides when trial codes run out. |
| AppsXi trial | AppsXi issues a trial key or entitlement; your app checks it with the license API or Sign in with AppsXi, and the answer turns to "expired" when the trial ends. | Level 1 or 2, and we must have seen your app check a test license once (Sandbox tab). |
Trials never take a card and never charge, so buyers have nothing to cancel.
Why Level 0 cannot have an AppsXi trial
At Level 0 your app does not check anything, so a trial would hand out the full app with nothing to stop it. AppsXi can stop downloads and updates, but not a copy that is already installed. That is why the trial setting refuses Level 0 unless your app runs its own trial against your own keys.
Example: an app with its own activation server
An audio plugin activates with keys like JP-CHAIN-… from its own server, and runs a 7-day trial from its own account page.
- Make 200 keys on your server and upload them as Codes for buyers.
- Under Licensing, choose a 7-day trial and My app runs its own trial. Better still, start the trial inside the app instead of on your website, so buyers do not need an account on your site.
- Point your app's "Buy" button at your AppsXi listing for the copies you sell on AppsXi.
- Add more keys when the page warns you, and turn refunded keys off on your server.