1. Documentation /
  2. WooCommerce DNB Gateway

WooCommerce DNB Gateway

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

Note: This product has been retired and is not for sale. Documentation is no longer being updated.
Store currency must be Euro to use DNB.


↑ 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

DNB credentials

↑ Back to top
Once you have signed a contract with DNB, 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. One of EE, LV, LT. 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 DNB now and wait for their response. DNB 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, you can try generating the private key and CSR online. Please note: this is not the recommended method to use – do this only at your own risk!

WooCommerce DNB setup

↑ Back to top
You can configure the plugin from WooCommerce > Settings > Checkout > DNB.
DNB Gateway Settings
DNB Gateway Settings
  • Enable / Disable – This will enable the gateway to be used by customers to checkout.
  • Title – This is the text shown for the payment during checkout and on the Order Received page.
  • Description – This is the text shown 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 – This is the Merchant ID sent to you by DNB. For Test mode, this is the Merchant ID for your bank link test service. Follow the steps below to get this.
  • Private Key – This is the private key you generated for DNB. 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 – This is the private key password if you used one (Production or Test).
  • Public Key – This is the public key / certificate for DNB in your country. DNB 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 this is you are having issues correctly processing transactions. You can either log API requests / responses directly to the checkout / thank you page, save them to the WooCommerce Error Log (found under WooCommerce > System Status > Logs) or both. All debugging messages are cleaned of sensitive information before display, but as a best practice, please do not enable this unless you are having issues with the plugin.

Test Mode

↑ Back to top
Test the DNB gateway using the third-party Test Pay (for DNB Lithuania) services. Test Pay allows you to create mock/test payments without even having a contract with the bank.
Testing is available for DNB Lithuania only.
To set up testing for DNB Lithuania, you need to create an account with Test Pay. Once logged in, you need to generate certificates, create a “test shop” and grab it’s credentials.
  1. Generate a test certificate using the Test Pay Certificate Generation tool. Save the private key and certificate body in your somewhere in your computer.
  2. Download the DNB bank certificate from the list of certificates. This will save a file called dnb.crt on your computer.
  3. Click on My Shops in User Menu
  4. Click Add new store
  5. Enter something meaningful as the Store name, for example: DNB Lithuania Test
  6. Copy & paste the Store certificate that you generated in step 1 to the appropriate field.
  7. Copy & paste the Store private key (without password) that you generated in step 1 to the appropriate field.
  8. Copy & paste the Bank certificate that you downloaded in step 2. You can open the dnb.crt file with a text editor, such as Notepad (Windows) or TextEdit (Mac OS) and simply copy it’s contents to the appropriate field.
  9. Select DNB bankas as the payment gateway
  10. Click Save – you should now be presented with Shop testing data
  11. Copy the following to WooCommerce DNB Gateway settings and save:
    • Copy VK_SND_ID to Test Merchant ID field.
    • Enter any name to the Test Recipient Name
    • Enter any IBAN account number to Test Recipient Account
    • Copy Private Key (without password), that you generated in step 1 to Test Private Key field.
    • Copy Bank’s certificate, that you downloaded in step 2 to Test Public Key field.


↑ Back to top
To checkout using DNB, a customer must select this option on the checkout page:
DNB Checkout Experience
DNB Checkout Experience
When DNB is selected, the customer will be directed off-site to DNB, where they can log in and complete the payment.


↑ Back to top
Ensure that everything is set up correctly before posting a support request:
  1. Check that your Merchant ID, Private Key and Public Key are correct.
  2. Double-check that your Merchant ID, Private Key and Public Key are correct.
  3. Enable only WooCommerce and DNB 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
A: Unfortunately automatic refunds are not possible with DNB. We are following developer documentation for updates and will add this to the roadmap if it becomes possible in the future.

Where can I find official DNB bank link documentation?

↑ Back to top
Each country has slightly different documentation: