Licensing & Post-Purchase Product Accessing Overview
We support various options to provide a license key to your customers or manage product access after the purchase is successfully completed.
To see the existing list of license providers or to create a new one, go to your vendor account, Store settings -> License management. The license management dashboard includes:
- license provider ID
- license provider name
- number of license keys that are left (only for preloaded license list)
- type of license provider
- number of assigned products
To add a new license provider, click on the Add license button. This will open a new window Create License Provider. Fill in the following details:
Name | Fill in the name of your license provider. |
Products to Assign: | Select the product, offer or bundle for which you wish to create licenses. |
1 key per unit | Select this option to control the number of license keys per quantity of the purchased product. |
Use as attachment | Check this option to send the license key in the file attached to the purchase confirmation email. The license key will be provided in the email's text and the attached file. By default, the file name will be Licenses for {product_name}. To override it, provide a name in the File name field. Check the additional option Send each key in separate file if needed. |
Type of License List | Choose Preloaded license list or External license generator from the dropdown list. |
Based on the chosen type of license provider, additional options will appear.
License List Type
Preloaded License List
The Preloaded license list option will open a new section where you can upload a file with your license keys or add them manually in the area License keys. Don't forget to add a separator which you're using for license keys to be read correctly.
You can set the value you want to be alerted about your license keys stock. Adding a value to the option Notify me when I have this many keys left will send a notification to your inbox once you reached the defined number. If left empty, we will notify you the moment you have only 100 license keys left.
With the option Notify me when I give away this many keys, you can define the interval at which you wish to be alerted regarding your stock of license keys - ex. at every 10 license keys sold. If left empty, we will notify you every time 5 more license keys are used from your stock.
External License Generator
Selecting the External License Generator option will require you to input your External License Generator’s URL and further details regarding your Custom License Info. With this option activated, we will send a POST request with the order details to your license generator URL. In response, we expect to receive a license key to provide on the Thank you page and in the purchase confirmation email.
The POST request type is
IPN_TYPE_ID=12
IPN_TYPE_NAME=LicenseRequested
and you can find additional details regarding this event here.
While creating the license generator, there's the option to test it, redirecting you to the IPN simulator page. The License Generator’s URL and request type 12. LicenseRequested will be automatically preselected, and from there, you can check if your License Generator’s URL accepts the request from PayPro Global and provides the key in response.
The option Custom license Info gives you the possibility to add any custom information to your license generator, which we will send you in the POST request via the variable
CUSTOM_LICENSE_INFO=
Access Based Product
If your flow lies in giving the customers access to your product after a successful purchase with no license keys, then at PayPro Global, you can manage it with webhooks or thank you page redirect options.
Once the purchase is successfully completed, we will send you a webhook with the type:
IPN_TYPE_ID=1
IPN_TYPE_NAME=OrderCharged
When your backend receives this event, you can grant access to your product to your customer. The customer's billing information will be passed via parameters
CUSTOMER_EMAIL=test@payproglobal.com
CUSTOMER_FIRST_NAME=John
CUSTOMER_FIRST_NAME_ASCII=John (converted into ASCII if you collect data in ASCII only)
CUSTOMER_LAST_NAME=Doe
CUSTOMER_LAST_NAME_ASCII=Doe (converted into ASCII if you collect data in ASCII only)
If you're using internal identifiers for customers, you can pass them to PayPro Global via x parameters in the checkout URL &x-value1=value2
and you will receive them via variable ORDER_CUSTOM_FIELDS=x-value1=value2
. You can track the receiving any of these variables and as a result, grant access to your product.
In case you have a subscription-based product, then after each successful rebill, you will receive IPN_TYPE_ID=6, IPN_TYPE_NAME= SubscriptionChargeSucceed
webhook, and based on this event, you can continue giving access to the product.
Another option is to provide access to the product by tracking the thank you page redirect. You may provide a thank you page redirect URL in the settings of checkout page templates (Store settings -> Page templates -> click Edit -> 1. Settings) based on the order status (Fulfilled, Declined automatically, Review, Waiting for payment). Once the order gets a corresponding status, we will send a POST request to the provided URL. The customer's personal data and your internal identifiers (if any) will be passed via:
CUSTOMER_EMAIL=test@payproglobal.com
CUSTOMER_FIRST_NAME=John
CUSTOMER_FIRST_NAME_ASCII=John (converted into ASCII if you collect data in ASCII only)
CUSTOMER_LAST_NAME=Doe
CUSTOMER_LAST_NAME_ASCII=Doe (converted into ASCII if you collect data in ASCII only)
ORDER_CUSTOM_FIELDS=x-custom-field1=value1,x-custom-field2=value2