Skip to content
tflambrecht edited this page Apr 7, 2016 · 7 revisions

Sequence diagram

linkID LTQR

Info

linkID provides the ability for you to push a configuration of a linkID session. We call this a Long Term QR code (LTQR). Such a code will once scanned be converted to a linkID session. This way you can use the LTQR code to send a payment to customers via alternative channels like e-mails, a banner in a public space, ... .

This payment context is optional so you could also use the long term QR codes for cases like printing out a static code to have users sign up to e.g. a newsletter, ...

Locking

Locking a LTQR code will prevent new users from continuing. You can unlock the LTQR code with a change request

You have 3 lock type options

  • NEVER: LTQR code will never get locked
  • ON_SCAN: LTQR code is locked after the first user scans it.
  • ON_FINISH: LTQR code is locked after first user finishes ( authenticates or if applicable the payment is authorized )

Blocking

Blocking a LTQR code will put all users that scan the code on hold until you unblock it with a change request. This can come in handy in a point of sale situation where you want to reduce time by letting the user already scan the LTQR code whilst the cashier is changing the LTQR code with the correct payment context.

The time you want to keep a user waiting when blocked ( and when waiting for a payment update) can be specified with the polling configuration parameters.

Notifications

LTQR codes send out 3 notification topics:

  • urn:net:lin-k:linkid:topic:ltqr:session:new : a user has scanned the LTQR code
  • urn:net:lin-k:linkid:topic:ltqr:session:cancel : a user has canceled his LTQR code session
  • urn:net:lin-k:linkid:topic:ltqr:session:update : a user has finished the LTQR code session

The notification will contain the LTQR reference, the LTQR client session ID and if applicable the payment order reference.

Contact a linkID person to setup a subscription to these topics for your application.

Operations

Following operations can be done for LTQR codes

  1. ltqrPush: create a LTQR code
  2. ltqrBulkPush bulk create multiple LTQR codes
  3. ltqrChange: change an existing LTQR code
  4. ltqrPull: fetch payment details for a specified LTQR code. You can filter the LTQR sessions you want by ltqrReference, payment order reference, client session IDs.
  5. ltqrRemove: remove a LTQR code and all possible made client sessions attached to it
  6. ltqrInfo: get info about a LTQR code

The ltqrPull operation will return you a list of LinkIDLTQRClientSessions. They will contain:

  • The LTQR reference: this is the reference you'll use when changing, removing, ...
  • The client session ID: this is a sessionId for an individual user linkID user session for this LTQR
  • The linkID user ID
  • The LinkIDQRInfo, being the LTQR code image, LTQR code URL, ...
  • The date the session was created
  • The payment state
  • The payment order reference ( if applicable )

Configuration

When creating/changing a LTQR code, you'll have to provide a LinkIDLTQRContent object which contains the configuration options.

LTQR codes have the same configuration options as an online linkID authentication session. Have a look here to learn more

Additionally, following configuration options apply to LTQR codes

LinkIDLTQRPollingConfiguration

If you are using the blocking mode for your LTQR, being you want the linkID user to be put on hold when he scans your LTQR code until you make a ltqrChange request to it, then you can configure the polling interval. This is the linkID mobile app polling the linkID backend for an update on if the LTQR has been unblocked yet. This configuration is specified as pollAttempts and pollInterval with the interval being specified in seconds

A second poll interval can be specified here if your LTQR is a configuration for a linkID payment session. Here you configure how long and how frequent the linkID mobile app will poll the linkID backend via the paymentPollAttempts and paymentPollInterval parameters. The latter being specified in seconds

Expiry

You can also set an expiry date or and expiry duration. Specifying both makes no sense but if you do so the expiry date will be used. The expiry duration is expressed in seconds.

waitForUnblock

Mark the LTQR as going to blocking mode whenever a user scans the LTQR code, until you make a ltqrChange request for it.

LinkIDFavoritesConfiguration

If you want to, you can offer the option to the linkID user to save the LTQR linkID configuration for future use by specifying a LinkIDFavoritesConfiguration. When doing so, the user will be presented with a Bookmark button in the upper right corner of the final screen of the linkID mobile app.

notificationLocation

This is an optional override for linkID to send notifications to regarding this specific LTQR code. If you don't the default location configured for your linkID application will be used.

Learn more about it here.

What is returned is a Long term QR session containing the

  • ltqr reference, this is a reference generated by linkID for that specific long term QR code
  • payment order reference, as you specified in the payment context ( or one linkID generates if you do not as explained in the Payments section)
  • the QR code in PNG format
  • the contents of the QR code if that suits you better and you want to create the QR code image yourself.
  • the QR code URL according to the user agent you specified ( the URL will differ for different devices )