Prestashop Integration Guide

Accept payments for your e-commerce through PrestaShop

Prestashop is a free and open source e-commerce option. It is written in the PHP programming language with support for the MySQL database management system. PrestaShop is currently used by thousands of stores worldwide and is available in 60 different languages.

For these reasons, Kushki sought to integrate its payment methods by creating a plugin that allows card payments with availability in several countries. You will find the installation and administration details below.

Supported ✅Not supported ❌
One-time debit and credit card payments in local currencyRecurring charges
Deferred credit card payments in local currency
Non-interest-bearing months with credit card
Interest-bearing months with credit card
OTP and 3DS authentication
Authorization and capture in local currency
Full and partial refunds in local currency
Cash payment reception
Transfer payment reception
Same-day, full, or partial cancellations in local currency

Requirements

  • For Prestashop version 1.7 or later, install 2.1.5 or higher plugin version.
  • 2.1.5 and earlier plugin versions only support USD or COP as a currency type. To use another currency type, please install 2.1.6 or higher versions.

Installation and configuration of Kushki payment method module in Prestashop

The plugin source code can be downloaded from our official repository:

Download

1. Installation

Requirements:

  • You must download the Kushki payment module in .zip format.
  • You must have Prestashop installed and configured with the type of currency you will use.
  • You must have access to the administration section of Prestashop.

Follow these instructions to install the Kushki plugin in your Prestashop store:

1.1. In order to install the module, you need to log into the administration section of your Prestashop store. Once you are logged in, you must go to the section: Customize > Modules > Module Manager.

Prestashop_gestor_módulos

1.2. In the module view, click on the Upload a Module button.

pp02

1.3. A new module is displayed in which you can drag the downloaded plugin in .zip format. You can also use the file manager to find the plugin.

pp03

1.4. If the installation was successful, you can configure the module to start testing it.

pp04

2. Configuration

2.1. Enable Kushki in your Prestashop store

2.1.1. You can configure the module in two different ways:

  • After installing the module, the confirmation screen will give you the option to configure.
  • In the module management screen, you can find the plugin in the Payment category. Once you identify the Kushki module, select the Configure button.

2.1.2. On the module settings page, enter the following parameters:

  • Public Key and Private Key: These credentials can be found in the Kushki administration console, in the Developers section, under the Credentials option.
  • Test environment: This value defines whether we are in a test environment or in a production environment.

Prestashop_settings

Note: In case you have not entered the public or private key, the payment method in the store may not be displayed. Additionally, in the notification tab (module administration section), you will see an alert when a public or private key has not been set.

pp06

2.1.3. Click the Save button to save changes.

2.2. Customize your payment form from the Kushki Console

When you link your Prestashop store with Kushki, our payment form will be added in a default version with predefined colors and styles. To customize your payment form (Kajita) in your Prestashop store, follow these steps:

2.2.1. Log in to your Administration Console and go to the Settings section.
2.2.2. Browse the page until you find the Integrations section.
2.2.3. Click on Plugins.
2.2.4. Select Prestashop. A message will be displayed.
2.2.5. Click on the message Configure the content and style of your form. Your Kajita for Prestashop will appear.
2.2.6. Choose whether you wish to receive payments by one-time payments or by authorization and capture.

Follow the instructions given in Customize your payment form to customize the payment form for your Prestashop store.

3. Plugin operation

Now that you have the plugin installed and configured, it is time to see how to operate with it.

3.1. Prestashop order statuses

In Prestashop we can have different states for an order. Below are the possible states of an order with the plugin:

  • Accepted payment: Payment has been successfully completed.
  • On hold for payment by bank transfer: You have chosen to pay by bank transfer or cash, and you are waiting for the payment to be made. Upon successful payment, the status will change to Payment Accepted automatically.
  • Canceled: Make the refund and update the store’s stock with the returned products.
  • Preparation in progress: Indicates that an authorization has been made to reserve funds on the card. To perform the capture, the status of the order must be changed to Accepted payment.

3.2. Process one-time card payments

To process single payments with credit and debit cards , you need to have the One-time payment option selected at the top and the Credit and debit card option selected in the Payment options>Payment methods section inside the Kushki console in the following path: Settings > Integrations > Plugins > Prestashop > Customize the content and style of your form.

Once a new order is generated, you will see the transaction in the order list (Orders > Orders) with the status Accepted payment, which indicates that the payment has been completed.

3.3. Process payments with transfer

To process payments by transfer, you need to select the One-time payment option at the top and the Transfer option in the Payment options>Payment methods section within the Kushki console in the following path: Settings > Integrations > Plugins > Prestashop > Customize your form content and style.

Once a new order is generated, you will see the transaction in the order list (Orders > Orders) with the status On hold for payment by bank transfer, which indicates that the payment is waiting to be processed. Once the transfer has been successfully completed, the order status will change to Payment Accepted, indicating that the transaction was successfully paid.

3.4. Process cash payments

To process cash payments, you need to have the One-time payment option selected at the top and the Cash option selected in the Payment options>Payment methods section within the Kushki console in the following path: Settings > Integrations > Plugins > Prestashop > Customize your form content and style.

Once a new order is generated, we can see the transaction on the Prestashop store in the order list (Orders > Orders) with the status On hold for payment by bank transfer, which indicates that the payment is waiting to be processed. Once the payment has been successfully made, the order status will change to Accepted payment, indicating that the transaction was successfully paid.

3.5. Request a refund

Follow these instructions to request the return of approved transactions made with debit and credit card .

3.5.1. Login to Prestashop with your merchant’s credentials.
3.5.2. Click on the Orders > Orders option in the left side menu.
3.5.3. Click on the order to be refunded to enter into the order details.
3.5.4. Click on the Standard refund button on the top menu in the order details.
3.5.5. Check the box next to Amount to select the total of the items in the order and then click on the Standard refund button at the bottom to make the refund request. Remember that we currently only allow refunds for the total amount of the order.
3.5.6. The message Standard refund successfully created will appear indicating that the refund was successfully requested and the order status will change to Refunded.

Reembolso-Prestashop

Refunds can be of two kinds, depending on the day and time the original transaction and the cancellation request are processed:

  • Cancellation (void): When the repayment request is made on the same day of the transaction before the deadline, which varies by country, the cancellation occurs at the moment.
  • Refund: When the repayment request is made after the deadline. The process may take up to 45 days to be reflected as a credit note on the customer’s account.

These are the cancellation deadlines by country:

ChileColombiaEcuadorMéxicoPerú
Up to 3 hours after the transaction is approved.20:59 hours on the day of the transaction.21:00 hours on the day of the transaction.23:59 hours on the day of the transaction.20:59 hours on the day of the transaction.

3.6. Process payments with authorization and capture

To process payments with Authorization and capture, it is necessary that the option Authorization and Capture is selected inside the Kushki console in the following path: Settings > Integrations > Plugins > Prestashop > Customize your form content and style.

If you made the reservation of funds with Kushki on your Prestashop store, Kushki will allow you to capture the funds from the manager of your store.

Authorized card transactions will be in Preparation in progress status by default. To effectively capture funds, you need to manually change the status to Accepted Payment in your Prestashop store. To do this, follow these steps:

3.6.1. Login into Prestashop with your merchant’s credentials.
3.6.2. Click on the Orders > Orders option in the left side menu.
3.6.3. Click on the order status to be captured.
3.6.4. Change the status from Preparation in progress to Accepted payment to capture the total amount.

4. Uninstallation

  1. To uninstall the module, you must go to the installed modules tab and look for the Kushki module. Select the Uninstall option as shown in the image:

pp07

  1. To complete the uninstallation process, confirm that you want to uninstall the module. If it is needed, you can select the option to remove the directory module.

pp08

5. Test your integration

There are test cards that you can use in the UAT environment to make sure your integration is ready. Use them with any CVV, zip code and future expiration date.

  • Approved transaction: 5451951574925480
  • Declined transaction on token request (front-end): 4574441215190335
  • Declined transaction on payment application (back-end): 4000001278960006