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 Settings icon (gear) on the top right

  • Click the Developers item and ensure that Workbench is ON

  • Expand the Developers section at the bottom of your browser (click the ^ button)

  • Click Webhooks

  • Click "Add destination"

  • Select "Events from" Your account

  • Select an API Version

  • In the "Events" section, select the following items:

    • For regular products

      • checkout.session.completed

    • For subscription products

      • customer.subscription.deleted

      • invoice.payment_succeeded

  • Click "Continue"

  • Enter a destination name such as: QLM

  • In the Endpoint 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

  • Click Create destination

Get Your Stripe Secret Key

QLM requires the Stripe Secret Key to communicate with Stripe. To get the Stripe Secret Key:

  • Login to Stripe.com and go to your Dashboard

  • Click the Settings icon (gear) on the top right

  • Click the Developers item

  • Expand the Developers section at the bottom of your browser

  • In the Overview section, click "Manage API Keys"

  • Get the Secret Key

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

  • 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

mceclip0.png

Once Stripe Checkout is enabled, enter your web site domain name in the Domains field:

mceclip1.png

Create the Stripe Checkout button

  • In the Stripe dashboard, go to Products

  • Select your product

  • In the Pricing 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