1. Documentation /
  2. WooCommerce LHV Gateway

WooCommerce LHV Gateway

The LHV Gateway extension for WooCommerce allows your customers to securely check out using their LHV account.

Note: This product has been retired and is not for sale. Documentation is no longer being updated.


↑ Back to top

  • LHV Merchant account
  • Euro set as your store’s currency


↑ Back to top
  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
  3. Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.

Setup and Configuration

↑ Back to top

LHV credentials

↑ Back to top
Once you have signed a contract with LHV, you need to generate and exchange certificates with them. If you have already done this, you can skip to the next section. If not, here’s how you do it: First, you need to generate a private key, which will be used to sign all the requests to the bank. Then, you will need to generate a certificate signing request (CSR) from your private key – this will be sent to the bank. Following are instructions how to generate those. If you are using Windows, make sure that you have OpenSSL installed. On Linux/Mac, OpenSSL should already be present. Open Terminal/Shell/Command Line and run the following commands:
openssl genrsa -out private_key.pem 2048
openssl req -sha1 -new -key private_key.pem -out csr.pem
You will be asked for a series of data for the certificate:
  • Country [AU]: 2-letter country code. Example: EE
  • State or Province Name (full name) [Some-State]: your company state/province. Example: Harju maakond
  • Locality Name (eg, city) []: your company city/town/village. Example: Tallinn
  • Organization Name (eg, company) [Internet Widgits Pty Ltd]: Example: Nööbid & Kindad AS
  • Organizational Unit Name (eg, section) []: Can be left empty, but you can also enter “banklink” (without the quotes)
  • Common Name (e.g. server FQDN or YOUR name) []: the domain name of your store. Example: www.mysuperawesomestore.com
  • Email Address []: merchant’s (your) email address. Example: johndoe@example.com
  • A challenge password []: leave blank (press Enter)
  • An optional company name []: leave blank (press Enter)
As a result, you will have 2 files in the directory you ran the commands from: private_key.pem, which contains your private key and csr.pem, which contains the certificate signing request (public key). You need to send the csr.pem file to LHV now and wait for their response. LHV will send you their public key and your Merchant ID – but it could take some time.
Protect your private key! Under no circumstances should you send it, or share it with anyone. This is something that only you should have access to.
If you are having trouble using Terminal/Shell/Command Line, try generating the private key and CSR online. Note that this is not the recommended method – do this at your own risk!

Extension settings

↑ Back to top
Go to: WooCommerce > Settings > Checkout > LHV.
LHV Gateway Settings
LHV Gateway Settings
  • Enable / Disable – Enable if you are ready to go live.
  • Title – Displayed to customers during checkout and on the Order Received page.
  • Description – Displayed under the title during checkout. Limited HTML is allowed.
  • Environment – Switch between “Test” and “Production” credentials. Enable “Test” to send transactions to the bank link test service.
  • Merchant ID – Merchant ID sent to you by LHV. For Test mode, this is the Merchant ID for your bank link test service. Follow the steps below to get this.
  • Private Key – Private key you generated for LHV. For Test mode, this is the private key generated by your bank link test service. Follow the steps below to get this.
  • Private Key Password – Private key password if you used one (Production or Test).
  • Public Key – Public key / certificate for LHV in your country. LHV will provide it to you after signing the contract. For Test mode, this is the public key for your bank link test service. Follow the steps below to get this.
  • Debug Mode – Enable if you are having issues processing transactions. Either log API requests / responses directly to the checkout / thank you page, save them to the WooCommerce Error Log (found at WooCommerce > System Status > Logs) or both. All debugging messages are cleaned of sensitive information before display, but as a best practice, do not enable unless you are having issues with the plugin.

Test Mode

↑ Back to top
Test the LHV gateway using the 3rd party Banklinks service. Banklinks allows you to create mock/test payments without having a contract with the bank. To set up testing, you need test credentials for your bank and the appropriate country from the Banklinks page.
  1. Choose the appropriate Banklink for your country and bank from the list. Example: LHV Estonia Test
  2. Click Certificates
  3. Copy the following to the gateway settings and save:
    • Copy Merchant ID to Test Merchant ID field.
    • Copy Merchant’s private key to Test Private Key field.
    • Copy Bank’s certificate to Test Public Key field.
All test payments are publicly visible to everyone using the Banklinks service. If you need to keep your test payments private (including the payment parameters and origin server), use the stand-alone version (Estonian only) instead.


↑ Back to top
To check out using LHV, a customer must select this option on the checkout page:
LHV Checkout Experience
LHV Checkout Experience
When LHV is selected, the customer is directed offsite to LHV, where they can log in and complete payment.


↑ Back to top
Having trouble? Ensure that setup is correct before posting a support request:
  1. Verify your Merchant ID, Private Key and Public Key are correct.
  2. Double-check your Merchant ID, Private Key and Public Key are correct.
  3. Enable only WooCommerce and LHV using a WordPress default theme to see if the issue persists.
  4. Submit a support ticket and tell us what happened when you took these steps.


↑ Back to top

WooCommerce 2.2 added the ability to process automatic refunds. Does this gateway support automatic refunds?

↑ Back to top
Unfortunately automatic refunds are not possible with LHV. We are following the developer documentation for updates and will add this to the roadmap if it becomes possible in the future.

Where can I find official LHV Banklink documentation?

↑ Back to top
Find it at: English | Estonian | Russian < h2> /h2>