Automatic license key delivery basics
Automatic license key delivery is when a customer receives a unique key or activation code as part of checkout, with no manual step on your side. In UltraCart you switch it on per item in the Digital Delivery tab. The code appears on the customer's receipt, and any files you attached to the same item are available to download right away.
Behind that one setting are several choices, and the right one depends on where your keys come from. The sections below cover each option, what the customer sees, and what happens when something goes wrong.
Pick a delivery model
Open the item, choose the Digital Delivery tab, and find the Activation Codes section. Your choice comes down to who creates the keys:
| Option | Best when | Where keys come from | Watch for |
|---|---|---|---|
| Assign from list | You create keys ahead of time | Codes you paste into the item | Working limit of 3,000 codes |
| Retrieve real-time | Your system creates a key for each order | A URL on your server | You host and secure the endpoint |
| Soraco QLM | You already license through Soraco | Your Soraco account | Needs an established Soraco account |
If you are unsure, start with a list. It needs no development work. Choose "None" on any item that does not need a code.
Assign activation codes from a list
A list suits publishers who generate keys in a batch. UltraCart assigns codes from the list as orders come in, and the description you write prints on the receipt next to the code. To set it up:
- Edit the item and open the Digital Delivery tab.
- Under Activation Codes, choose Assign from list.
- Write the description you want on the receipt, such as "Your license key".
- Paste your codes, one per line.
- Enter a Low Warning Threshold.
- Under Configuration, then Users, check Low Activation Codes for each person who should be warned.
The last step is the one people skip. The low-stock warning goes only to users who have that notification checked, so confirm at least one real person does. The docs set a working limit of 3,000 codes for a list. Past that, they recommend the real-time option.
Real-time activation codes
Choose Retrieve real-time when your own system creates the key, or when a key has to be tied to the order, such as a customer's name. You enter the URL of your endpoint and a shared secret. During checkout, UltraCart sends your server an XML request for each item purchased. It includes the order ID, the customer's billing details and email, the item ID, the quantity, and any item options the customer chose, such as an existing serial number for an upgrade.
Your endpoint answers with the code text. If the customer bought five units, return five codes separated by line breaks. You can return other text too, which suits products that need two different codes.
The request is signed. UltraCart sends an MD5 hash built from your shared secret, the order ID in capital letters, and the shared secret again. Your endpoint recalculates the hash and rejects the request if it does not match.
The docs also advise hosting the endpoint on HTTPS and refusing requests from IP addresses that are not UltraCart's. The full request and response format is in the activation code API documentation and the activation codes API specification.
If you already license through Soraco, the third choice, Soraco QLM, connects that account directly. You need an established Soraco account first. See Soraco for their licensing service.
Sell software license keys online
Digital items check out a little differently from physical ones. Payment has to be a credit card, because it is the only real-time method that guarantees funds. The card is authorized during checkout, a decline shows the customer an error, and a successful authorization gives them immediate access. An order with no physical items goes straight to completed orders.
A mixed order with a shippable item goes to shipping as usual.
After the sale, your support team can look up a customer's licenses on the Software tab of their profile. It lists the SKU, activation code, activation date, and expiration date, and you can add or edit entries by hand. The software licenses and entitlements guide walks through it.
Instant delivery is the point of the feature, and it is also why fraud rules matter here. A stolen card should not be able to buy a key before anyone looks at the order. Set up the checks in fraud rules every online store should turn on first before you launch a key-backed item.
When something goes wrong
A real-time endpoint can return an error message instead of a code. UltraCart does not block the order. It prints your message on the customer's receipt.
That customer has already paid and is now reading your text, so write it as a support instruction, for example "We could not validate that serial number. Please contact support@yourcompany.com." Not as a technical error.
For lists, the Low Warning Threshold is your safety net. Set it high enough that you can generate and paste a new batch before the list runs out, based on how fast you sell, not on the day you remember to check.
Before launch, place a test order on each key-backed item and read the receipt the way a customer would. Check the description wording, the number of codes for a quantity above one, and your error message.
License key delivery FAQ
How many activation codes can I upload to a list?
The docs set a working limit of 3,000 codes for an item's list. If you need more, use the real-time option so your own system creates keys on demand.
Can one order include more than one key?
With real-time delivery, yes. The request tells your endpoint the quantity, and you return one code per unit, separated by line breaks.
Do I need a developer to deliver activation codes?
Not for a list. You paste codes into the item. The real-time option needs someone who can build an endpoint that reads the XML request and verifies the shared secret.
What does the customer see if my server fails?
The order still goes through. UltraCart prints the error message your endpoint returned on the receipt, so write it for the customer.
Can I deliver a file and a key together?
Yes. Files from your Digital Library and an activation code are both set on the same item in the Digital Delivery tab. For PDFs, you can also stamp the customer's name, email, and order ID into the margins.
Ready to set one up? Start with the activation codes integration overview and the activation codes setup guide. If you want a hand with a real-time endpoint, talk to UltraCart's professional services team.