Skip to content

Installation

D edited this page Jul 31, 2026 · 1 revision

Installation

Requirements

  • OpenCart 4.x
  • PHP 8.1+
  • A CLINK-compatible wallet/node to generate your merchant noffer1... pointer (ShockWallet, ZEUS, Lightning.Pub)
  • A Nostr relay your merchant node listens on (e.g. wss://strfry.shock.network)

Option A — OC4 Marketplace Installer (recommended)

The clink.ocmod.zip uses the OC4 native extension layout: entries sit at the zip root under admin/ and catalog/, so the marketplace installer places them directly into extension/clink/.

  1. In OpenCart admin go to Extensions → Installer
  2. Click Upload and select clink.ocmod.zip
  3. Follow the wizard: Upload → Install → Vendor (44 files; no "Path already exists" errors expected)
  4. Go to Extensions → Extensions, choose type Payments
  5. Find CLINK Payment and click Install — this creates the oc_clink_transaction and oc_clink_subscription tables and adds admin permissions
  6. Click Edit to configure (see Configuration)

Option B — Manual copy (existing installs)

Copy the app-path trees into your OpenCart root:

upload/admin/.../extension/clink/*      →  admin/.../extension/clink/
upload/catalog/.../extension/clink/*    →  catalog/.../extension/clink/
upload/catalog/view/javascript/clink/*  →  catalog/view/javascript/clink/

Then register the extension in Extensions → Extensions → Payments (Install) and configure it.

Post-install checks

  • Payments list shows Bitcoin Lightning (CLINK)
  • oc_clink_transaction and oc_clink_subscription tables exist
  • Admin settings page renders (Extensions → Extensions → Payments → Edit)
  • Client assets are served with Content-Type: text/javascript:
http://YOUR-STORE/extension/clink/catalog/view/javascript/clink/clink-checkout.js
http://YOUR-STORE/extension/clink/catalog/view/javascript/clink/lib/clink-nostr.mjs

If the Payments list is empty after install, the zip layout is the culprit — see Troubleshooting.

Upgrading

Upload the new zip through the installer. The extension tables are created with IF NOT EXISTS, so existing transaction data is preserved. Back up oc_clink_* tables before reinstalling.

Clone this wiki locally