<!-- canonical: https://docs.costplus.io/docs/plugins/prestashop -->

> Integrate Cost+ with your PrestaShop store (9.x, 8.x, and 1.7)
<div style={{background: 'white', borderRadius: '8px', padding: '1rem', display: 'inline-block', marginBottom: '1rem'}}>
  <img src="/images/logos/prestashop.png" alt="PrestaShop" style={{height: '48px', width: 'auto'}} />
</div>

Integrate Cost+ as a payment method in your PrestaShop store. The Cost+ module is available for **PrestaShop 9.x**, **PrestaShop 8.x**, and **PrestaShop 1.7**.

## Prerequisites

#### PrestaShop 9.x

- Active Cost+ merchant account
- PrestaShop 9.1 or later
- PHP 8.1 or later
- SSL/HTTPS enabled
- Admin access to your PrestaShop back office

#### PrestaShop 8.x

- Active Cost+ merchant account
- PrestaShop 8.x installation
- PHP 8.0 or later
- Admin access to your PrestaShop back office
- MySQL 5.4 or higher

#### PrestaShop 1.7

- Active Cost+ merchant account
- PrestaShop 1.7.x installation
- PHP 5.4 or later
- Admin access to your PrestaShop back office
- MySQL 5.4 or higher

## 1. Install the Module

#### PrestaShop 9.x

Download the module from [GitHub](https://github.com/NoPayn/nopayn-prestashop91).

### Method A: Upload Through Admin Panel (Recommended)

1. Go to **Modules → Module Manager** in your admin panel
2. Click **Upload a module**
3. Drag and drop the ZIP file or select it manually
4. Wait for the installation to finish
5. Search for **"NoPayn"** and click **Configure**

### Method B: Manual Upload

1. Copy the `nopaynpayment/` folder into your PrestaShop `modules/` directory
2. Go to **Modules → Module Manager**
3. Search for **"NoPayn"** and click **Install**
4. Click **Configure** to open the settings

#### PrestaShop 8.x

Download the module from [GitHub](https://github.com/NoPayn/nopayn-prestashop-8).

### Method A: Upload Through Admin Panel (Recommended)

1. Go to **Improve** > **Module Manager** in your admin panel
2. Click **Upload a module**
3. Drag and drop the ZIP file or select it manually
4. Wait for the installation to finish
5. Scroll down to the **"Other"** section and click **Configure** under Cost+

![PrestaShop 8 Module Manager](/images/plugins/prestashop-8/step1a.png)

![Upload a module dialog](/images/plugins/prestashop-8/step1b.png)

### Method B: Manual Upload via (S)FTP

1. Extract the downloaded ZIP file
2. Using an SFTP client (e.g. FileZilla, WinSCP), upload all folders to the `/modules/` directory in your PrestaShop installation
3. Go to **Improve** > **Modules** > **Module Catalog**
4. Search for **"Cost+"** -- check the **Uninstalled Modules** tab if needed
5. Click **Install**

#### PrestaShop 1.7

Download the module from [GitHub](https://github.com/NoPayn/nopayn-prestashop-1.7).

### Method A: Upload Through Admin Panel (Recommended)

1. Go to **Improve** > **Module Manager** in your admin panel
2. Click **Upload a module**
3. Drag and drop the ZIP file or select it manually
4. Wait for the installation to finish
5. Scroll down to the **"Other"** section and click **Configure** under Cost+

![PrestaShop 1.7 Module Manager](/images/plugins/prestashop-17/step1a.png)

![Upload a module dialog](/images/plugins/prestashop-17/step1b.png)

### Method B: Manual Upload via (S)FTP

1. Extract the downloaded ZIP file
2. Using an SFTP client (e.g. FileZilla, WinSCP), upload all folders to the `/modules/` directory in your PrestaShop installation
3. Go to **Modules** > **Module Manager**
4. Search for **"Cost+"** -- check the **Uninstalled Modules** tab if needed
5. Click **Install**

## 2. Enter API Credentials

Log into the [Merchant Portal](https://dashboard.costplus.io/) and navigate to **Websites**, then click on the website you want to connect. Click on **Integration** where you will find your API key.

![Cost+ Merchant Portal showing API key](/images/plugins/shared/merchant-portal-api-key.png)

#### PrestaShop 9.x

In the NoPayn module configuration, enter your **API Key** and configure the following settings:

| Setting | Description |
|---|---|
| API Key | Your NoPayn API key |
| Credit / Debit Card | Enable/disable credit card payments |
| Apple Pay | Enable/disable Apple Pay |
| Google Pay | Enable/disable Google Pay |
| Vipps MobilePay | Enable/disable Vipps MobilePay |
| Manual Capture | Authorize credit card payments only — capture when you ship |
| Debug Logging | Enable detailed logging to `var/logs/nopayn_debug.log` |

#### PrestaShop 8.x

Paste the key into the **API Key** field in the Cost+ Library configuration page and click **Save**.

![Cost+ configuration page in PrestaShop 8](/images/plugins/prestashop-8/step2.png)

#### PrestaShop 1.7

Paste the key into the **API Key** field in the Cost+ Library configuration page and click **Save**.

![Cost+ configuration page in PrestaShop 1.7](/images/plugins/prestashop-17/step2.png)

> [!TIP]
> For PrestaShop 8.x and 1.7 hosting environments, enable the **cURL CA bundle** option during configuration to avoid SSL certificate issues.

## 3. Enable Payment Methods

#### PrestaShop 9.x

Payment methods are configured directly in the module settings (see step 2 above). Toggle each method on or off as needed.

> [!WARNING]
> Only activate the payment methods you have been approved for and received confirmation for.

#### PrestaShop 8.x

After saving your API key, upload each payment method module separately via **Upload a module**.

Return to **Improve** > **Module Manager**, click **Upload a module** again, and upload each ZIP file for the payment methods you want to enable (e.g. Credit Card, MobilePay, Swish).

> [!WARNING]
> Only activate the payment methods you have been approved for and received confirmation for.

Payment modules will either have a **Configure** option (if additional setup is needed) or just an Enable/Disable toggle.

#### PrestaShop 1.7

After saving your API key, upload each payment method module separately via **Upload a module**.

Return to **Improve** > **Module Manager**, click **Upload a module** again, and upload each ZIP file for the payment methods you want to enable (e.g. Credit Card, MobilePay, Swish).

> [!WARNING]
> Only activate the payment methods you have been approved for and received confirmation for.

Payment modules will either have a **Configure** option (if additional setup is needed) or just an Enable/Disable toggle.

## Payment Flow

1. Customer selects a Cost+ payment method at checkout
2. Customer is redirected to the Cost+ Hosted Payment Page (HPP)
3. After completing payment, customer is redirected back to the store
4. A webhook confirms the payment status server-to-server

#### PrestaShop 9.x

### Webhook

The webhook URL is automatically configured per order:

```
https://your-shop.com/module/nopaynpayment/webhook
```

> [!NOTE]
> No manual webhook configuration is required — the module handles registration automatically.

### Manual Capture

When enabled for credit card payments:

- Payment is **authorized** but not captured at checkout
- Capture occurs when the order is shipped / marked as completed
- If the order is cancelled, the authorization is automatically **voided**

### Auto-Refund

If a captured payment order is cancelled, the module automatically issues a full refund. Partial refunds can be processed via PrestaShop credit slips.

### Checkout Button Labels

For the best user experience with offsite redirect flows, consider updating the checkout button label to **"Review order"** instead of "Confirm and pay", since the actual payment happens on the Cost+ hosted page. This is a global PrestaShop setting, not module-specific.

#### PrestaShop 8.x

### Webhook

The webhook is automatically configured by the module. No manual setup is required.

#### PrestaShop 1.7

### Webhook

The webhook is automatically configured by the module. No manual setup is required.

## 4. Final Steps and Testing

1. Double-check all enabled payment methods
2. Place a few test transactions -- both successful and failed -- to ensure everything flows smoothly
3. Configure advanced behavior such as manual vs. auto-capture depending on your fulfillment process

## Support

Need help? Reach out to our support team at **support@costplus.io**.
