Stripe - How to integrate QLM with Stripe Checkout
If you use Stripe Checkout as an eCommerce provider, QLM integrates seamlessly with Stripe Checkout's ordering system.
To have Stripe invoke QLM during an order, do the following in the Stripe Control Panel:
Configure the webhook
Login to Stripe.com and go to your Dashboard
Click the Developers item then select Webhooks
Click "Add endpoint"
In the URL field, enter the URL to your QLM License Server and append the following to the URL: /QlmWebHookHandler?is_vendor=stripe&is_user=<user>&is_pwd=<pwd>
where:
<user>: As defined in the QLM Management Console / Manage Keys / 3rd Party Extensions
<pwd>: As defined in the QLM Management Console / Manage Keys / 3rd Party Extensions
Example: https://qlm3.net/qlmdemo/qlmLicenseServer/qlmservice.asmx/QlmWebHookHandler?is_vendor=stripe&is_user=tim&is_pwd=timpassword
In the "Events to send" drop-down, select the following items:
For regular products
checkout.session.completed
For subscription products
customer.subscription.deleted
invoice.payment_succeeded
Click "Add endpoint"
Enable Stripe in QLM
Launch the QLM Management Console
Go to the Manage Keys tab
Click 3rd party extensions
Select Stripe
Check the "Enabled" checkbox
Set the API Key to the value of the Stripe secret key (Stripe dashboard / Developers / API keys / Standard keys / Secret key)
Click Ok
Regular Products
Create a new product of type "One-time purchase products" and set the required fields.
In the Metadata section of the product, add the following entries:
is_productid | 1 |
---|---|
is_majorversion | 1 |
is_minorversion | 0 |
is_licensemodel | permanent |
is_vendor | stripe |
is_emailtemplate | 1. New Order |
is_features | 0:1 |
is_send_mail (as of v18.1) | true | false |
where
is_productid = your product id as defined in QLM
is_majorversion = your product's major version as defined in QLM
is_minorversion = your product's minor version as defined in QLM
is_features = semi-comma-separated list of feature sets and their corresponding values. Example: is_features=0:3;1:1. This means that in feature set 0, features 1 + 2 are enabled and in feature set 1, feature 1 is enabled.
is_user = As defined in Manage Keys / 3rd Party Extensions
is_pwd = As defined in Manage Keys / 3rd Party Extensions
is_emailtemplate = email template to use when sending the email to the user. Email templates can be created from the QLM Management Console / Manage Keys / Email Templates
is_licensemodel = permanent | trial | subscription
is_send_mail: instructs QLM to send an email after processing the order
Subscription Products
Create a new product of type "Recurring products" and set the required fields.
In the Metadata section of the product, add the following entries:
is_productid | 1 |
---|---|
is_majorversion | 1 |
is_minorversion | 0 |
is_licensemodel | subscription |
is_vendor | stripe |
is_emailtemplate | <Email template to use for a new order> |
is_renewal_emailtemplate | <Email template to use for a renewal> |
is_features | 0:1 |
is_send_mail ( as of v18.1) | true | false |
is_send_renewal_mail ( as of v18.1) | true | false |
where
is_productid = your product id as defined in QLM
is_majorversion = your product's major version as defined in QLM
is_minorversion = your product's minor version as defined in QLM
is_features = semi-comma-separated list of feature sets and their corresponding values. Example: is_features=0:3;1:1. This means that in feature set 0, features 1 + 2 are enabled and in feature set 1, feature 1 is enabled.
is_user = As defined in Manage Keys / 3rd Party Extensions
is_pwd = As defined in Manage Keys / 3rd Party Extensions
is_emailtemplate = email template to use when sending the initial order email to the user. Email templates can be created from the QLM Management Console / Manage Keys / Email Templates
is_renewal_emailtemplate = email template to use when sending the renewal email to the user
is_licensemodel = permanent | trial | subscription
is_send_mail: instructs QLM to send an email after processing the initial order
is_send_renewal_mail: instructs QLM to send an email after processing the renewal
Enable Stripe Checkout
To enable Stripe Checkout:
In the Stripe dashboard, go to Settings
Click "Checkout settings"
Click "Enable client-only integration
Once Stripe Checkout is enabled, enter your web site domain name in the Domains field:
Create the Stripe Checkout button
In the Stripe dashboard, go to Products
Select your product
In the Prices section, for a given price, click "..." then select "Get Checkout code snippet". If you do not have a Price item, add one.
In the Checkout snippet generator window, update the Success URL and Cancel URL to point to valid URLs
Copy the generated code and save it in a file on your desktop then publish it to your web site
Testing an order
Open the file saved in the previous step from a URL (do not test from your local machine)
Click the Checkout button and place an order
Once the order is completed, the following will occur:
A new user will be automatically added to the QLM database based on the information collected during the ordering process.
An activation key will be created in the QLM database and associated with the user.
An email will be sent to the user with the order information and activation keys
In order for QLM License Server to send emails, you need to configure your SMTP server. Detailed instructions can be found in this article, in the section Configure the QLM License Server to send emails using SMTP.
Last updated