was successfully added to your cart.


How to integrate Verifone’s Hosted Checkout with PrestaShop

By May 26, 2022Uncategorized


You can use the PrestaShop plugin to integrate with the Verifone payment solution and process orders with the Hosted Payments Page (HPP) and provide an improved experience to your shoppers.​


You can start using the PrestaShop plugin if you have an acquirer configuration.

PrestaShop Integration Settings

Follow the steps below to integrate with the Hosted Payments Page (HPP) by using the PrestaShop plugin:

1. Download the Verifone payment module from the link provided in the table at the bottom of this page.

2. Log in to your PrestaShop admin panel and navigate to Modules → Module Manager.

Integrate PrestaShop Plugin for Verifone

3. On the Module Manager page, click on the Upload module and upload the verifone-prestashop.zip archive which you can download from the bottom of this page.

Integrate PrestaShop Plugin for Verifone_2
Integrate PrestaShop Plugin for Verifone_3

4. Click on Configure to add your information (you can find all the details in your Verifone Central account).

Integrate PrestaShop Plugin for Verifone_5

5. Add all the required information:

Integrate PrestaShop Plugin for Verifone_6
  • Verifone API Username and Password – This is the User ID and password used to log in to your Verifone Central account.
  • Client ID  The client ID is the Merchant ID in Verifone Central.
  • Entity ID – The Entity ID can be found in Verifone Central, under Administration  Organisations. The ‘Organisation ID’ listed is the Entity ID required for configuring the plugin.
organisation entity ID
  • Payment Contract ID – The payment contract can be found in the Verifone Central, under Administration  Payment Contract Providers. The ‘Payment Provider Contract ID’ listed is the Payment Contract ID required for the plugin configuration.
Integrate PrestaShop Plugin for Verifone_7
  • 3DS Contract ID – The 3DS Contract ID can be found in Verifone Central, under Administration  3-D Secure Provider Contracts. Select the 3DS facility required. The ‘3-D Secure Contract ID’ listed is the 3DS Contract ID required for the plugin configuration.
Integrate PrestaShop Plugin for Verifone_8
  To start accepting eCommerce transactions, you will need to generate a Secure Card Capture Key.

6. Select Test mode only if you wish to enable it and provide the required details before hitting Save. This will allow you to place test orders using test payment methods, to verify your integration with Verifone. For more details about the Test mode and how you can use it, you can contact our support team.

7. Click Save to update your settings.

Error handling and Troubleshooting

If you encounter any errors during the installation and configuration of the PrestaShop plugin, you can find a log of all errors under the Advanced parameters → Logs section.

Integrate PrestaShop Plugin for Verifone_10

If some errors are not logged, you can always view the Apache or Nginx logs.

Common errors

  • Not having the currency of PrestaShop set to the one that the payment contract supports
  • Not having created a public key for Secure Card Capture (see section Secure Card Capture Key above)
  • Entity ID, Payment Contract ID, or 3DS Contract ID do not match the correct entity that they were created for
  • cURL verify host is enabled/disabled but the host server does not have proper TLS certificates
  • Not having the latest PrestaShop module version installed
  • Make sure that the credentials are correct: Payment Contract ID, User ID, Password, Realm, Entity ID, Client ID, etc.

In most cases, the error may be caused by various PHP errors and/or warnings.

If the error is caused by a request to the Verifone server, then the error message received when the request fails is very informative. Here is an example:

    "code": 116,
    "details": {},
    "timestamp": 1608705038970,
    "message": "Access is restricted to authenticated users only. The query can't be made without a valid JWT (check the Authorization header of your request)."

The above request was denied because the user was not authorized. This is due to an invalid token being present in the Authorization bearer.

This kind of error format will be present on almost all requests that fail and will deliver a concrete error message along with it which in turn will pinpoint the problem precisely.