VibeFox Cardcom for PrestaShop — Help
Requirements
PrestaShop: 8.0 to 9.x.
PHP: 8.0 or later. The module refuses to install on older PHP versions.
HTTPS: your shop must be reachable from the internet over HTTPS, so that Cardcom can send the payment notification.
Currency: the cart currency must be ILS, USD, EUR or GBP. For any other currency the payment method is hidden at checkout.
Cardcom account: for live payments you need a Cardcom merchant account with a terminal number, an API username and an API password. Payments need only the terminal number and the API username. The API password is used only for refunds from PrestaShop. Test mode works without a Cardcom account.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In the back office go to Modules > Module Manager and click Upload a module. Choose the module ZIP file.
2. When the upload finishes, click Configure, or find VibeFox Cardcom Payment Gateway in the module list later and click Configure.
3. Paste your VibeFox license key into License key in the license block at the top of the Configure page and click Activate (see License key).
4. Turn on Enable/Disable, leave Test Mode on and click Save. Place a test order with the card 4580 0000 0000 0000, any future expiry date, CVV 123.
5. For real payments turn off Test Mode, enter the Terminal Number, API Username and API Password you received from Cardcom and click Save.
On install the module creates the order status Cardcom payment on hold. PrestaShop offers a new payment module for all currencies, countries and customer groups. You can limit them in Payment > Preferences.
Configuration
All settings are on the module page: Modules > Module Manager > VibeFox Cardcom Payment Gateway > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page shows a warning while test mode is on. In live mode it warns you when the terminal number or API username is missing (Cardcom is then hidden at checkout), when the live fields hold the public test terminal 1000 / CardTest1994 (Cardcom is then hidden at checkout too, because no real money would be charged), and reminds you that without the API password refunds from PrestaShop are not possible. It also warns you when the default currency of your shop is not supported. When you save live mode with missing or test credentials, an error message tells you that the gateway stays hidden at checkout until your own terminal number and API username are entered.
Cardcom
Enable/Disable: Enable Cardcom Payment Gateway 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: Credit Card (Cardcom). Required.
Description: the text shown under the payment method at checkout. Default: Pay securely with your credit card via Cardcom.
Test mode
Test mode uses the public Cardcom test terminal 1000 (API user CardTest1994). No real money is charged and no Cardcom account is needed. Test card: 4580 0000 0000 0000, any future expiry date, CVV 123. In test mode the checkout also shows a line with this test card.
Test Mode: enables test mode (terminal 1000, no real money). Default: on. Turn it off to accept real payments with the live credentials below. Refunds are always sent with the credentials of the mode the order was paid in.
Live credentials
The terminal number, API username and API password are provided by Cardcom with your merchant account: in the Cardcom dashboard under API settings, or from Cardcom support. These fields are used only in live mode.
Terminal Number: your Cardcom terminal number. It must contain digits only. If you enter anything else, an error is shown and the previous value is kept.
API Username: your Cardcom API username (ApiName) for this terminal. Spaces are removed on save.
API Password: your Cardcom API password. It is needed only for refunds from PrestaShop. The saved password is never shown again: the field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it.
Clear the saved API password: tick it and click Save to remove the password. An empty field keeps the saved value.
Payment page
Notification URL: Cardcom sends payment notifications (IndicatorUrl) to this address. With friendly URLs it looks like https://your-shop/module/wcp_cardcom_payment_gateway/webhook, possibly with a language code such as /en/. The address is passed to Cardcom automatically with every payment, together with the cart ID, so there is nothing to configure in Cardcom. It must be reachable from the internet over HTTPS.
Operation: what Cardcom does on the payment page.
Max Installments: the maximum number of installments (payments) the customer can choose on the Cardcom page, from 1 to 36. 1 means no installments. Default: 1.
Success Order Status: the order status after a confirmed payment. The order is created directly in this status.
Payments that do not match the order always go to Cardcom payment on hold.
Advanced
Debug log: logs API requests and notifications to logs/cardcom_p_debug.log.php in the module folder. The file cannot be opened from the web. Errors are always logged. Credentials, card tokens and card-holder details are never written. Default: off.
Log: shows the size and the latest entries of the log. Click Clear log to empty it.
Delete on Uninstall: when on, uninstalling the module permanently removes the settings and the logs. Orders, the Cardcom transactions and refunds and the order status Cardcom payment on hold are always kept, so old orders can still be refunded after a re-install. Default: off.
Checkout
At the payment step the customer chooses the payment method (by default Credit Card (Cardcom)) and sees the note You will be redirected to the secure Cardcom payment page. After confirming, the module creates a Cardcom payment page for the cart total in the cart currency and sends the customer there. No order exists yet at this point. The page opens in Hebrew when the customer's language is Hebrew, otherwise in English. The cart products are passed to Cardcom as the product name. The customer enters the card details and, if installments are allowed, chooses the number of payments.
After paying, the customer returns to your shop. The order is marked paid only after Cardcom confirms it. Cardcom calls the notification address, and the module takes from that call only the payment page code. It checks that this code was issued by your shop for that cart and then asks Cardcom server-to-server for the real result. If the notification is late, the same check runs when the customer comes back. The order is then created and the customer sees the standard order confirmation page with Your payment with Cardcom has been received. If Cardcom has not confirmed the payment yet when the customer comes back, a Payment confirmation page shows Your payment is being confirmed by Cardcom. You will receive an e-mail as soon as it is confirmed. with a Check again button; the notification creates the order as soon as it arrives.
If the payment is not completed or Cardcom declines it, the customer is back at checkout with The card payment was not completed. Please try again or choose a different payment method. No order is created and the cart is kept. The customer can try again: each attempt gets a new Cardcom payment page. A payment made on an older payment page of the same cart is still recognised, and a decline on an older page does not affect a newer attempt.
If Cardcom cannot open the payment page, the customer stays at checkout with a short message, for example Could not connect to Cardcom. Please try again in a moment. or that Cardcom could not open the payment page, with the Cardcom code, and can choose another payment method.
The notification works while the shop is in maintenance mode and is not blocked by the country restriction of your shop.
The module takes card payments on the Cardcom page only. It has no saved cards or one-click payments, no subscriptions, does not charge stored tokens, has no Cardcom invoice or receipt settings, no Bit, Apple Pay, Google Pay or PayPal via Cardcom, no iframe mode and no capture-later deals.
Orders and refunds
Order statuses
No order yet: the customer was sent to Cardcom and has not paid, the payment was declined, or Cardcom has not confirmed the payment yet. Only the cart exists.
Payment accepted, Delivered or Cardcom payment on hold: the payment was confirmed. The status follows Success Order Status. The payment is recorded with the Cardcom deal number as the transaction ID. A private order message shows the Cardcom transaction, and, when Cardcom reports them, the last four card digits, the invoice number and the number of installments. Test payments are marked Test mode — no real money was charged.
Cardcom payment on hold after payment: Cardcom confirmed a payment that does not match the order, for example the cart was changed after the payment page was opened, or a different sum or currency was charged. The message explains it, and the Cardcom block shows it under Needs review. The payment is recorded for the amount Cardcom charged when the currency matches the order. Compare the payment in the Cardcom dashboard with the order, then fulfil it or refund the payment.
Refunded: the payment was fully refunded through the module.
If a second successful payment arrives for a cart that already has an order (for example the customer paid in two browser tabs), the order is not changed. A message warns that the customer may have been charged twice and asks you to refund it in the Cardcom dashboard.
Cardcom payment block
The order page shows a Cardcom payment block with the transaction, the payment page code, the status, the card, the installments, the invoice, the card token (with Charge + Save token), the amount charged, the order total and the amount refunded, a Test mode badge for test payments and the refund history.
Refunds
In the Cardcom payment block enter the amount (the amount not refunded yet is filled in), optionally a reason, and click Refund via Cardcom. Confirm the question Refund this amount through Cardcom? This cannot be undone. Full and partial refunds are supported, and several partial refunds can be made for one order. You need the right to edit orders; access to the Modules pages is not needed. Refunds are made in the amount and currency Cardcom charged, so after an amount or currency mismatch you can refund up to what the customer actually paid, not the order total. The refund is sent with the credentials of the mode the order was paid in: test orders are refunded on the Cardcom test terminal even after you switched to live mode, and live orders always use your live credentials. Live refunds need the API Username and API Password. If Cardcom does not accept the refund, the block shows the error and no refund is recorded. A successful refund is added to the refund history and to the order messages with the Cardcom refund transaction and the reason. A full refund sets the order to Refunded. A partial refund does not change the status.
The module does not create credit slips. The standard PrestaShop refund buttons of the order page do not send money back through Cardcom. Refunds made in the Cardcom dashboard are not reported back to the shop.
License key
The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Cardcom Payment Gateway is the first block on Modules > Module Manager > VibeFox Cardcom Payment Gateway > Configure, 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 shop. Below them are the line Product: presta-payment-cardcom and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only employees with the Configure permission for the module can change the key. The texts of the block follow the back office 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 shop address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.
One key works on one domain: the domain of the main shop, also in a multistore setup. Removing the key from the shop does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, Cardcom 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. The PrestaShop storefront does not know that you are logged in to the back office, so the payment method is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in Modules > Module Manager on the Alerts tab. Existing orders are not affected: payments already started are still confirmed, and refunds work.
When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically while you work in the back office: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling or resetting the module always removes the license key and license status.
Troubleshooting
Cardcom does not appear at checkout: check that the license is active, Enable/Disable is on and the cart currency is ILS, USD, EUR or GBP. In live mode check that Terminal Number and API Username are filled in with your own credentials, not the test terminal 1000 / CardTest1994. The settings page shows a warning when something is missing. In Payment > Preferences check that the module is allowed for the cart currency, the customer's country and the customer's group.
The payment went through, but no order was created: Cardcom could not reach your shop, for example because of a firewall, password protection or a local development site. The notification address must be reachable from the internet over HTTPS. The order is also created when the customer returns to the shop after paying. Turn on Debug log and look at the Log field on the module page.
Notification answers Missing or invalid lowprofilecode or Unknown lowprofilecode for this order: the call did not carry a payment page code issued by your shop for that cart. Nothing is changed.
Notification answers Gateway not configured or Indicator check failed: the credentials of the mode the payment page was created in are missing, or Cardcom could not be reached for the check. Nothing is changed; the payment is checked again when the customer returns to the shop.
Notification answers Busy, retry: the cart was being confirmed by another request at the same moment, or the order could not be created (for example, the module is disabled). Turn on Debug log to see the reason.
Notification answers ReturnValue mismatch or Terminal mismatch: Cardcom reported a payment for another cart or another terminal. Nothing is changed. Check that Terminal Number is the terminal of your account.
The customer sees Payment error: this currency is not supported by Cardcom.: the cart currency is not ILS, USD, EUR or GBP.
The customer sees Card payment is temporarily unavailable. Please choose another payment method.: live mode is on, but the terminal number or API username is missing, or the live fields hold the public test terminal.
The customer sees an error when choosing Cardcom: turn on Debug log and look at the Log field. Connection problems and Cardcom error codes are written there.
Order is Cardcom payment on hold after payment: read the order message or Needs review in the Cardcom payment block. The paid amount or currency differed from the order. Fulfil the order or refund the payment.
Refund fails with API username and API password are required for refunds: enter the API Password (and API Username) in the settings and try again.
Refund fails with Could not connect to Cardcom: check the Cardcom dashboard before you try again, because the refund may or may not have been made.
For developers, the README lists the hook actionCardcomSupportedCurrencies, which extends the list of currencies (add only currencies enabled on your Cardcom terminal), and actionCardcomLowProfileParams, which changes the parameters of the payment page.
Uninstall
Go to Modules > Module Manager, open the menu next to VibeFox Cardcom Payment Gateway and choose Uninstall. The license key and license status of this module are always removed. If Delete on Uninstall is on, the settings and the logs are removed. If it is off, all settings are kept for a later re-install. The Cardcom transactions and refunds and the order status Cardcom payment on hold are always kept, so orders paid before can still be refunded after a re-install. Existing orders keep their payment messages and transaction IDs.
Cardcom is a trademark of its respective owner. This module is not affiliated with or endorsed by Cardcom.
