Prerequisites: PHP 5.6 or above
The OpenCart kevin. integration has a number of editions tuned for different OpenCart versions. All the versions from 2.0 to 3.0 are supported.
  1. 1.
    Download the module that suits your installation
    • OpenCart 2.0.x-2.2.x: Download the latest version here
    • OpenCart 2.3.x: Download the latest module here
    • OpenCart 3.0.x: Download the latest module here
  2. 2.
    Log in to the OpenCart admin panel
  3. 3.
    Navigate to ExtensionsInstaller
  4. 4.
    Click Upload and select the zip that you have downloaded in step 1
  5. 5.
    Navigate to ExtensionsModifications
  6. 6.
    to rebuild your modification cache
  7. 7.
    Navigate to ExtensionsExtensions
  8. 8.
    Choose Payments (for the extension type), find kevin. payment and click
    to install the extension
  9. 9.
    to edit module configuration
  10. 10.
    Enter user data
    1. 1.
      Credentials: Client ID, Client Secret and Endpoint Secret
    2. 2.
      Bank details: Creditor Name and Creditor Account
  11. 11.
    Save configuration by clicking


A blank page is shown when I try access module settings
If you try to configure the module but a blank is shown, try clear the cache. Navigate to PluginsModifications and click the blue refresh button on the top right side of the page.
A warning about insecure connection is shown on a checkout page
Such warning is caused because of internal OpenCart insecure HTTP requests which are being executed before kevin’s module request to our system. Make sure that you have right configurations inside your config.php file and all urls are defined as HTTPS:
define('HTTP_SERVER', '');
define('HTTPS_SERVER', '');
Also make sure that you have configured right rewrite rules inside your .htaccess file:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
After these changes all your OpenCart shop URLs should be generated as HTTPS.
New orders are placed to Missing orders
When creating an order, the initial status is pending and order is moved to Missing order section. The order will stay here as long as order will not reach its final status: completed or failed. The payment may not be finished for a few possible reasons:
  • The customer closed the browser.
  • The customer came back to the checkout and made another order.
  • The customer canceled the order on a consent page.
  • The payment is still pending and module hasn’t received a webhook yet.