- Do NOT use our IP address for security. It might change without notice.
- Do NOT use the key generator as an order data feed.
Instead, refer to Documentation -> Other Options -> Event Notifications
for information on completed order feed.
You can upload a list of valid keycodes or alternatively use a simple HTTP "GET" request with a querystring where we send data to your keycode generator on your own website and you can then return a value that we imbed into the receipt.
To provide your keygen URL go to your delivery methods. Select the delivery method associated with the products that will use the keygen URL. Edit the delivery method, and select the keycode option which will expand allowing a field to provide your URL.
You will be able to return plain text up to 600 characters or a binary attachment. Read more >>
This is a list of the variables used by our program that can communicate with your keycode generator..
Keycode Generator. Our server can send these values to your keycode generator. You do what you have to do and print the output you wish us to imbed in the customer's receipt email between the values <softshop>your key code here.</softshop>
We will escape non-alphanumberic characters (e.g. '-', '(', or accents) into %XX where XX equals its hexadecimal ASCII value. Please do not use "" speech marks but you may use 'xxx' If you get problems try removing any HTML type formatting comands and odd characters from the output.
Most key generator code supported as long as returned between correct values.
The maximum number of characters returned is 600.
The fields marked with ** could have no values.
You can do tests with your keycode generator by logging in to your SWREG account and selecting the "Test your Keygen" link.
|Order/Invoice number||o_no= (integer 20)|
|Master order nubmer||master_order_no= (integer 20) (Only passed if child order)|
|Product code||pc= (char 20)|
|Variation (option) description **||var= (char 80)|
|Delivery method description. **||del= (char 80)|
|Billing title **||title= (char 5)|
|Billing first name||initals= (char 20) - (NOTE THE SPELLING ERROR)!!|
|Billing last name||name= (char 20)|
|Billing company name **||co_name= (char 60)|
|Billing address 1||add1= (char 30)|
|Billing address 2 **||add2= (char 30)|
|Billing city||add3= (char 30)|
|Billing state **||add4= (char 30)|
|Billing post code||add5= (char 30)|
|Billing country||add6= (char 30)|
|Billing iso 2 country code||country=|
|Shipping title **||d_title= (char 5)|
|Shipping first name **||d_initals= (as above)|
|Shipping last name **||d_name=|
|Shipping address 1||d_add1=|
|Shipping address 2 **||d_add2=|
|Shipping city **||d_add3=|
|Shipping state **||d_add4=|
|Shipping post code **||d_add5=|
|Shipping country **||d_add6=|
|Shipping iso 2 country code **||d_country=|
|Shipping company name **||d_co_name=|
|Billing Email||email= (char 60)|
|Billing phone number||phone= (char 16 - may increase)|
|IP Number of customer||ip= (char 16)|
|User Text **||user_text= (char 250)|
|Author login ID||mgr_name= (char 30)|
|Affiliate ID (invented by yourself)||affil=(char=40)|
|Product price (including variable price)||pp=|
|Product VAT (including variable pricing)||pv=|
|Email Opt in flag||optin=Y|N|
|Security Key from the Configuration page. Used as security verification to ensure the keygen call is coming from a trusted source.||security=(char 60)|
|Offer Name **||offer_name=(char 80)|
|Coupon Code **||coupon_code=(char 19)|
|Test Order Flag||test_order=(0|1)|
|Backup CD included on order.||cd=(0|1)|
|Custom Fields (see help documentation).||custom_<field_name>=<user value>|
PH=Credit Card by Phone
PO=Obsolete (Was Wire)
CH=Obsolete (Was Cheque)
EL=Obsolete (Was EFT)
IBP=Payment by Internet Bank Payment
To ensure the keygen call is coming from a trusted source, the "security" parameter (listed above) can be passed and verified on the client side. This is set on the vendor Configuration page in the Security Key field. Additionally, a header parameter named "X-SWREG-SECURITYKEY" will be passed in the keygen call with the same security key value.
This page will show what you should be sending back as output from a key generator program. You should be returning an ASCII text string which will be sent to the customer. The size limit is 600 bytes.
ASCII Key String
An ASCII key string must always be returned by your key generator. Enclose the key in <SOFTSHOP></SOFTSHOP> tags.
For example, to return key 123456
Optionally you can return a binary key which will be provided to the customer as a download link. Please note the file size limit for the binary key is 65,535 bytes. To do this you must supply 4 pieces of information:
- Filename: This will be the filename of the resulting data
- Mime Type: This is what the data actually represents when it is decoded.
- Encoding: This is how the data is encoded when it is sent.
- Data: This is the actual data being sent (Max size is 65,535 bytes).
For example, to send a .jpg image to a customer with your key
<BINARY> <FILENAME>logo.jpg</FILENAME> <MIME_TYPE>image/jpeg</MIME_TYPE> <ENCODING>base64</ENCODING> <DATA>/9j/4AAQSkZJSgABAgAAZABkAHD/HHARRHVja3kAAQAEAHAAJQAA/+4AIHFkb2JlAGTAAAHAAQMA ....(Rest of the base64 data) /9j/4AAQSkZJSgABAgAAZABkAHD/HHARRHVja3kAAQAEAHAAJQAA/+4AIHFkb2JlAGTAAAHAAQMA </DATA> </BINARY>
You can have SWREG send out a "one code fits all" temporary code that you advise the customer in the e-mail body text and then we will send out the permanent one after x days if order not refunded. There are two extra fields on the email set up page. One for the key delay and one for the message, which uses the same imbedded variable syntax as the long text field (see above). Provided no refunds have been done, the customer will get a second mail after the key delay days have elapsed to inform them of the key. The vendor will get confirmation that the user has been sent the key and what key.