VibeFox MakeCommerce for OpenCart — Help
Requirements
OpenCart: 3.0.x (tested on 3.0.5.0) or 4.0.2 and later (tested on 4.1.0.3).
PHP: 8.0 or later.
Internet access to your store: MakeCommerce sends payment notifications to your store, so the site must be reachable from the internet. A firewall or basic authentication can block them. Maintenance mode does not block them, because OpenCart 3 lets payment extension requests through and on OpenCart 4 the extension adds a startup action for them.
MakeCommerce account: you need the Shop ID and Secret key from the MakeCommerce Merchant Portal (Settings > API). The test and live environments have separate accounts and keys. Which payment methods and currencies are available is defined by your MakeCommerce contract. Currencies with three decimals, such as KWD or BHD, are not offered.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
The download is one zip file with the packages for both OpenCart versions. Unpack it on your computer. It contains README.txt, the OpenCart 3 package wcp_makecommerce_payment-oc3-(version).ocmod.zip and the OpenCart 4 package wcp_makecommerce_payment.ocmod.zip. Install only the package for your OpenCart version. The license key is the same for both versions.
OpenCart 3
1. In the admin go to Extensions > Installer, click Upload and choose the file wcp_makecommerce_payment-oc3-(version).ocmod.zip. The extension has no OCMOD modifications, so Extensions > Modifications does not need a refresh. Instead of the installer you can copy the contents of the upload folder of this package into the root folder of your store.
2. Go to Extensions > Extensions and choose the type Payments. Find VibeFox MakeCommerce Payment and click Install (the green + button). Your admin user needs the right to modify the payment extensions list.
3. Click Edit (the pencil button) to open the settings page. Paste your VibeFox license key into License key in the license block at the top of the page and click Activate (see License key).
4. Enter the Shop ID and Secret key of the test environment and, for real payments, the live keys (see Configuration). Nothing has to be configured in the Merchant Portal.
5. Turn on Enable/Disable and click Save. Test a payment with Test mode on, then turn it off to accept real payments.
OpenCart 4
1. In the admin go to Extensions > Installer, click Upload and choose the file wcp_makecommerce_payment.ocmod.zip. Do not rename the file: OpenCart 4 takes the extension code from the file name, and a renamed package does not work.
2. The package appears in the list of installed extensions on the same page. Click Install (the green + button) next to it.
3. Go to Extensions > Extensions and choose the type Payments. Find VibeFox MakeCommerce Payment, click Install (the green + button), then Edit (the pencil button).
4. Enter the license key and the MakeCommerce keys as in steps 3 to 5 for OpenCart 3. The settings page and its fields are the same in both versions. Only the callback URLs are different (see Payment notifications).
A new install starts with the payment method turned off and test mode on.
Configuration
All settings are on the extension page: Extensions > Extensions > Payments > VibeFox MakeCommerce Payment > Edit. The sections are listed on the left; the Save button under the list saves the whole page. Above the settings the page shows Test mode is on: payments are created in the MakeCommerce test environment and no real money is charged. while test mode is on. It warns you when the method is enabled but the Shop ID or Secret key of the current environment is empty (the method is then hidden at checkout), and when the default currency of the store cannot be charged by MakeCommerce (the method is then hidden for orders in that currency). Without the right to modify the extension the page shows the settings but cannot save them.
When you save, Title must not be empty and not longer than 128 characters, Sort Order must be a whole number (negative numbers are allowed), Total a number, 0 or greater, and every order status must exist. If a field is wrong, nothing is saved and the page names the field. Spaces are removed from the Shop IDs and keys on save.
MakeCommerce
Enable/Disable: Enable MakeCommerce payments turns the payment method on or off. Default: off.
Title: the payment method name customers see at checkout. It is also the payment method name stored in the order. Default: Bank link or card (MakeCommerce). Required, up to 128 characters.
Description: the text shown to the customer at the Confirm Order step, above the confirm button. Default: Pay with your Estonian, Latvian, Lithuanian or Finnish bank, or by card. You will be redirected to the secure MakeCommerce payment page.
Sort Order: the position of MakeCommerce among the payment methods at checkout. Leave it empty or enter a whole number.
Geo Zone: offer MakeCommerce only for payment addresses in the selected geo zone. Default: All zones. Geo zones are set up in System > Localisation > Geo Zones.
Total: the checkout total, in the default currency of the store, that an order must reach before MakeCommerce is offered. Leave it empty to offer MakeCommerce for any total.
MakeCommerce account
The Shop ID and Secret key are in the MakeCommerce Merchant Portal under Settings > API. The test portal and the live portal have separate accounts and keys. The section has links to both portals and to the MakeCommerce sign-up page.
Test mode: uses the MakeCommerce test environment (no real money is charged). New payments are created in the selected environment with its keys. Every order remembers the environment it was paid in: status checks and refunds always go there. While it is on, customers see TEST MODE — MakeCommerce test environment, no real money is charged. at the Confirm Order step. Default: on.
Test Shop ID: the Shop ID of your test account, in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Test Secret key: the Secret key of your test account. It signs and verifies the payment messages.
Live Shop ID: the Shop ID of your live account, in the same form.
Live Secret key: the Secret key of your live account.
Saved Secret keys are never shown again. The field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it. To remove a saved key, tick Clear the saved key on save under the field and click Save.
Payment notifications
Nothing has to be configured in the Merchant Portal. Callback URLs shows, for reference, the address for the customer's return or cancel and the address for payment notifications. They are built from the storefront address of your OpenCart installation, for example https://your-store/index.php?route=extension/payment/wcp_makecommerce_payment/notification on OpenCart 3 and https://your-store/index.php?route=extension/wcp_makecommerce_payment/payment/wcp_makecommerce_payment.notification on OpenCart 4. Every transaction carries its own return, cancel and notification URLs, based on these addresses with the order number and a key added. MakeCommerce sends a signed message to the notification URL (server to server) and with the customer's browser to the return or cancel URL. The signature is checked with the Secret key of the environment the transaction was created in. Messages without a valid signature are rejected.
The extension handles these MakeCommerce transaction statuses:
The payment is also confirmed when the customer returns to the store. If the customer comes back without a signed message, the extension asks the MakeCommerce API for the status.
Orders
OpenCart creates the order at the Confirm Order step without a status (a missing order). It gets a status only after MakeCommerce has confirmed the payment (signed notification or the customer's return, re-checked through the MakeCommerce API). Each field below lists your OpenCart order statuses.
Order Status After Payment: the status after a verified MakeCommerce payment. Default: Processing.
Payment On Hold Status: the payment needs manual review: the paid amount or currency differs from the order, the transaction is not final at MakeCommerce, or the money arrived for a cancelled order. A note explains why. Default: Pending, because OpenCart has no On hold status. You can create your own status in System > Localisation > Order Statuses and select it here.
Cancelled Order Status: the status that means "cancelled" in your store. A MakeCommerce payment arriving for such an order puts it on hold. The extension never sets this status itself. Default: Canceled.
Refunded Status: set after the payment is fully refunded from the order page. Default: Refunded.
Advanced
Debug log: logs API calls and payment notifications to wc_mkc_debug.log.php in the OpenCart logs folder (storage/logs). The file cannot be opened from the web. Errors are always logged. Keys and customer data are never logged. Default: off.
Log: shows the size and the latest entries of the log. Click Clear log to empty it.
Delete data: when on, uninstalling the extension removes the extension settings and the log. Orders and their MakeCommerce payment data are always kept. Default: off.
Import / Export
Export: Download JSON saves the settings as a JSON file. Shop IDs and Secret keys are not exported.
Import: paste previously exported JSON and click Import to restore the settings. Saved Shop IDs and keys are kept.
Checkout
At the Payment Method step the customer chooses the payment method (by default Bank link or card (MakeCommerce)). At the Confirm Order step the customer sees your description. OpenCart creates the order at this step, still without a status. When the customer clicks Confirm Order, the extension creates a MakeCommerce transaction for the order total in the order currency and sends the customer to the MakeCommerce payment page. There the customer chooses a bank link or a card. On OpenCart 4 the customer picks the payment method with the Choose button of the payment method block, in the window Payment method options, and clicks Confirm Order at the bottom of the checkout page. The customer's e-mail and country are passed to MakeCommerce, and the page opens in the store language when MakeCommerce supports it (Estonian, English, Latvian, Lithuanian, Finnish, Russian, German, Polish), otherwise in English.
After paying, the customer returns to your store. The order is marked paid only after MakeCommerce confirms it: by the signed notification or by the signed return of the customer, with a check of the transaction through the MakeCommerce API. The order then gets its status the standard OpenCart way, with the usual order e-mails and stock update, and the customer sees the OpenCart order success page with Your MakeCommerce payment has been received. If the order went into the review status, the page shows Your MakeCommerce payment was received and is being reviewed by the store.
If the payment is approved but not completed yet, the order is being confirmed by another request at the same moment, or MakeCommerce cannot be reached, a Payment confirmation page shows We could not confirm your payment yet. If you completed it, your order will be updated automatically — please do not pay again. with the buttons Check again and Back to checkout. Check again asks MakeCommerce for the status of the latest transactions of the order. The notification sets the order status as soon as the payment is completed.
If the customer cancels on the MakeCommerce page or the payment expires or fails, the customer is back at checkout with a message, for example The payment was cancelled. You can try again or choose another payment method., The payment session expired. Please try again. or The payment was not completed. Please try again or choose another payment method. On OpenCart 4 these messages are shown above the checkout page. The cart is kept, and the customer can pay again. Each attempt is a new MakeCommerce transaction (OpenCart 3 also creates a new order every time the Confirm Order step is shown, OpenCart 4 keeps one order for the checkout and pays the same order again). Before a new transaction, the open attempts of the same cart are checked at MakeCommerce: if one of them is paid already, the customer goes straight to the success page. An older payment link of the same cart still works, but the cart is never paid into two orders: a late payment of an older order of a paid cart only adds a note to the paid order.
OpenCart 4 keeps the order in the checkout until the success page is shown. If that order was closed without a payment meanwhile (for example you cancelled it), the customer is sent back to the checkout with Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order., and the next Confirm Order pays a new order. Such an order no longer holds the cart, even if it was paid and then cancelled.
If MakeCommerce cannot start the payment, the customer stays at the Confirm Order step with MakeCommerce is temporarily unavailable. Please try again in a moment or choose another payment method. or MakeCommerce could not start the payment for this order. Please choose another payment method or contact us. The technical reason is written to the log.
The bank or card is chosen on the MakeCommerce page, not in your checkout. The extension has no saved cards, recurring payments or subscriptions and no MakeCommerce shipping (parcel machines, labels).
Orders and refunds
Order statuses
No status (missing order): the customer was sent to MakeCommerce and has not paid, the payment was cancelled, expired or failed, or MakeCommerce has not confirmed the payment yet. In Sales > Orders such orders are shown only with the filter Order Status set to Missing Orders.
Order Status After Payment (default Processing): the payment was confirmed. A note shows the amount, the transaction, the environment and how it was verified (MakeCommerce API or signed notification).
Payment On Hold Status (default Pending): the paid amount or currency differed from the order, the amount was missing, the transaction at MakeCommerce was not final yet although reported as completed, or the payment arrived after the order had been cancelled. The note explains it. A transaction with a mismatch never pays the order later; a transaction that was not final yet completes the order when MakeCommerce reports it as completed. Check the transaction in the Merchant Portal and fulfil the order or refund the payment.
Refunded Status (default Refunded): the payment was fully refunded through the extension.
If a second payment arrives for an order that is already paid, the order is not changed. A note asks you to refund the duplicate in the MakeCommerce Merchant Portal. A payment for a refunded order or an order switched to another payment method only adds a note.
Notes are entries in the order History that the customer does not see.
VibeFox MakeCommerce Payment tab
In Sales > Orders open an order paid with MakeCommerce. At the bottom of the order page, next to History and Additional, the VibeFox MakeCommerce Payment tab shows all MakeCommerce transactions of the order (date, transaction ID, a Test label for test payments, amount, MakeCommerce status and result), the amounts Paid / refunded, the refund form, the refund history and the MakeCommerce notes of the order. The tab is shown to users who have access to the extension; its buttons need the right to modify the extension (set in System > Users > User Groups).
Check MakeCommerce payment status: asks the MakeCommerce API for the status of the order's transactions (the latest first), applies it and adds a note with the result. Use it when a customer says they paid but the order has no status.
Refunds
In the VibeFox MakeCommerce Payment tab enter the Amount (the amount not refunded yet is filled in), optionally a Reason (optional), and click Refund via MakeCommerce. Confirm the question Refund this amount via MakeCommerce? Full and partial refunds are supported. Refunds are limited to the amount and currency of the MakeCommerce transaction, so after an amount mismatch you can refund up to what the customer actually paid, not the order total. The refund is sent to the environment the payment was made in (test or live), so that environment's keys must be set. The reason is sent to MakeCommerce as the refund comment; without a reason the comment is Refund for order and the order number. If MakeCommerce does not accept the refund, the tab shows the error, a note is added and no refund is recorded. If MakeCommerce is still processing the payment, the message is MakeCommerce is still processing this payment — try the refund again later. A successful refund is added to the refund history and the notes with the MakeCommerce refund ID. A full refund sets the order to Refunded Status without notifying the customer and without returning products to stock, like a manual status change. A partial refund does not change the status. Refunds are available once MakeCommerce has confirmed the payment.
Product returns in Sales > Returns do not send money back through MakeCommerce.
Refunds made in the Merchant Portal arrive with the transaction status and are added to the notes. The order status is not changed automatically.
License key
The extension works with a VibeFox license key from vibefox.net. The license block License — VibeFox MakeCommerce Payment is the first block on Extensions > Extensions > Payments > VibeFox MakeCommerce Payment > Edit, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this store. Below them are the line Product: opencart-payment-makecommerce and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only admin users with the Modify permission for the extension can change the key. The texts of the block follow the admin language (English and Russian are included).
If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the store address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the extension keeps working on the last known status.
One key works on one domain: the store address from the OpenCart configuration. Removing the key from the store does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, MakeCommerce is not shown to customers at checkout. If a payment is started anyway, the customer sees This payment method is not available. Please choose another one. An admin user who is logged in to the admin in the same browser still sees the payment method in the store, marked (unlicensed — visible to admins only), so you can set up and test the extension before you buy a key. On OpenCart 4 this preview is not available: the store does not see the admin login, so without an active key the payment method is hidden for everybody. After you have opened the Edit page once, a reminder appears on the admin Dashboard. Close it with × to hide it for 7 days. Existing orders are not affected: payments already started are still confirmed, and refunds work.
When a license expires, the extension keeps working, but updates and support need a renewal. The status is checked again automatically when you open the admin Dashboard or the Edit page: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling the extension always removes the license key and license status.
Troubleshooting
MakeCommerce does not appear at checkout: check that the license is active, Enable/Disable is on and the current environment has its keys: Test Shop ID and Test Secret key in test mode, Live Shop ID and Live Secret key in live mode. Check that the order currency has at most two decimals, that the payment address is in the selected Geo Zone and that the order reaches the Total set in the settings.
The payment went through, but the order stays without a status: the notifications could not reach the store, for example because of a firewall or basic authentication. The order also gets its status when the customer returns to the store or clicks Check again, and when you click Check MakeCommerce payment status in the order tab. Check that the keys of the environment the payment was made in are set: the notification is checked with that environment's Secret key, and without it MakeCommerce gets an error and retries. Turn on Debug log to see the notifications.
The order is in the review status: read the MakeCommerce notes in the order tab (see Order statuses), check the transaction in the Merchant Portal, then fulfil the order or refund the payment.
Notifications are rejected: a message with a wrong signature, for another order, another shop or a transaction not created for the order is rejected and nothing is changed. Check that the Shop ID and Secret key belong to the same MakeCommerce account and environment.
The customer sees an error after Confirm Order: turn on Debug log and look at the Log field on the extension page. This payment method is not available. Please reload the checkout page. means the checkout session no longer matches the order, or the payment method was turned off meanwhile: the customer reloads the checkout. A currency MakeCommerce cannot charge gives MakeCommerce cannot process payments in and the currency code.
Refund fails with a message about the environment: the order was paid in the test or live environment, and the keys of that environment are not configured. Enter them and try again.
No refund form in the tab: the tab says why: the payment is not confirmed yet, it is fully refunded, your user group has no right to modify the extension, the order was switched to another payment method, or the keys of the payment's environment are not set.
For developers: the extension triggers the OpenCart events wc_mkc_transaction_data, wc_mkc_customer_data, wc_mkc_supported_locales and wc_mkc_is_available to change the transaction data, the customer data, the payment page languages and the availability of the method.
Uninstall
Go to Extensions > Extensions, choose the type Payments and click Uninstall (the red − button) next to VibeFox MakeCommerce Payment. The license key and license status of this extension are always removed. OpenCart always removes its own settings of the extension: Enable/Disable, Sort Order, Geo Zone, Total and the order statuses of the Orders section, which return to their defaults on a re-install. The OpenCart event of the extension is removed too (on OpenCart 4 its events and its startup action, which lets the notifications through in maintenance mode). If Delete data is on, the other settings (title, description, test mode, Shop IDs, Secret keys, debug log) and the log are removed. If it is off, they are kept for a later re-install. The MakeCommerce transactions and refunds are always kept, so orders paid before can still be refunded after a re-install. Existing orders keep their payment notes.
On OpenCart 4, to remove the files of the extension as well, go to Extensions > Installer after the uninstall and click Uninstall (the orange − button) next to VibeFox MakeCommerce Payment in the list of installed extensions, then Delete (the red bin button) to remove the uploaded package.
MakeCommerce is a trademark of its respective owner. This extension is not affiliated with or endorsed by MakeCommerce.
