# Install and configure the Stripe module for PrestaShop Install and configure the PrestaShop module from the Stripe App Marketplace. Use the Stripe Module for [PrestaShop](https://www.prestashop.com/en) to integrate [Stripe Elements](https://docs.stripe.com/payments/elements.md) and accept more than 25 payment methods with a single integration. To use Stripe with [PrestaShop](https://www.prestashop.com/en), you must install, then configure the Stripe app. ## Install the module Install the app for PrestaShop from the Stripe App Marketplace to acquire the newly generated secret and publishable keys. This process bolsters the security of your plugin by simplifying the use of distinct restricted keys for each integration with your Stripe account. This approach eliminates the need to manually create your own restricted key or use a secret key. To install the app and reinforce your account’s security infrastructure: 1. Navigate to the [Stripe App Marketplace](https://marketplace.stripe.com/), then click [Install the PrestaShop app](https://marketplace.stripe.com/apps/install/link/com.stripe.PrestaShop.commerce). 1. Select the Stripe account where you want to install the app. 1. Review and approve the app permissions, install the app in a *sandbox* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes) or in live mode, then click **Install**. 1. After you install the app, store the keys in a safe place where you won’t lose them. To help yourself remember where you stored it, you can [leave a note on the key in the Dashboard](https://docs.stripe.com/keys.md#reveal-an-api-secret-key-live-mode). 1. Use the newly generated publishable key and secret key to finish the app configuration. 1. To manage the app or generate new security keys after installation, navigate to the application settings page in a sandbox or in [live mode](https://dashboard.stripe.com/settings/apps/com.stripe.PrestaShop.commerce). You can also install the module manually. [Download the zip file](https://addons.prestashop.com/en/payment-card-wallet/24922-stripe-official-sca-ready.html), and upload the module in the PrestaShop dashboard under **Module Manager**. ## Update the module Use the PrestaShop dashboard to update the module when a new version is available. Under **Modules**, select **Module Manager**. On the **Modules** tab, for the Stripe module, click **Upgrade** and then **Upgrade anyway**. When the update completes, a notification displays in the dashboard. ## Configure the module Use the PrestaShop dashboard to configure the module: 1. Under **Modules**, select **Module Manager**. 1. On the **Modules** tab, for the **Stripe payment module**, click **Configure**. 1. Configure the Stripe app for PrestaShop: - [Connect to Stripe to accept payments](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#connect-stripe) - [Choose your payment form](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#payment-form) - [Customize the payment form](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#customize-payment-form) - [Collect your customer’s postal code](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#postal-code) - [Choose how to capture funds](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#capture-funds) - [Save customer payment methods](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#payment-methods) - [Choose when the order is created](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#order-creation) - [Enable extended logging](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#extended-logging) - [Connect to Cloud Sync and PrestaShop Account](https://docs.stripe.com/use-stripe-apps/prestashop/configuration.md#cloudsync-prestashopaccount) ## Connect to Stripe to accept payments Connect PrestaShop to your Stripe account to start accepting payments. 1. On the **Stripe Configure** page, click **Connect with Stripe**. 1. Navigate to the **Stripe Configure** page in the PrestaShop Dashboard, then paste the key from the Stripe PrestaShop module into the appropriate field. ## Choose your payment form Configure the payment form that displays to your customers during checkout. Under **Payment form settings**, you can choose from the following: - **Integrated payment form**: The [Payment Element](https://docs.stripe.com/payments/payment-element.md) is an embeddable UI component that lets you accept more than 25 payment methods with a single integration. - **Redirect to Stripe**: [Stripe Checkout](https://docs.stripe.com/payments/checkout.md) lets you redirect your customers to a Stripe-hosted, customizable checkout page to finalize payment. ## Customize the payment form 1. Click the **Integrated payment form** radio button to expose the customization options. 1. Choose a [layout](https://docs.stripe.com/payments/payment-element.md#layout) for the **Integrated payment form**: - **Accordion with radio buttons** - **Accordion without radio buttons** - **Tabs** 1. Choose where to position the payment form: - **On top of the PrestaShop payment methods** - **At the bottom of the PrestaShop payment methods** - **With the PrestaShop payment methods** 1. Choose a prebuilt theme that most closely resembles your website: - **Stripe** - **Flat** - **Night** - **None** You can also [customize the appearance and behavior of Checkout](https://docs.stripe.com/payments/checkout/customization.md). ## Express Checkout Element Express Checkout Element allows you to display one-click payment buttons with Link, Apple Pay, Google Pay, and Amazon Pay. Stripe sorts the payment buttons dynamically based on customer location, detected environment, and other optimized conversion factors. On the backoffice, you can customize Express Checkout Element after you check **Enable Express Checkout**. 1. Specify where to display the one-click payment buttons: - On the **Product Page** - On the **Shopping Chart Page** 1. Choose different button themes and button types for Apple Pay and Google Pay. Both logged in and guest users can purchase through the Express Checkout buttons. Guest users will be able to enter their address through the payment interface. ## Collect your customer’s postal code You can specify whether or not to collect your customer’s postal code at checkout using the **Never collect the postal code** field. Stripe recommends collecting and verifying postal code information, which can help decrease the card decline rate. - (Recommended) **Unselect** this field if you want to require a postal code at checkout. This applies to cards issued in Canada, the United Kingdom, or the United States. - **Select** this field if you don’t want to collect a postal code at checkout. ## Choose how to capture funds You can specify how you want to authorize and capture funds using the **Enable separate authorization and capture** field. - **Unselect** this field to use simultaneous authorization and capture. The issuing bank confirms that the cardholder can pay, and then transfers the funds automatically after confirmation. - **Select** this field to use separate authorization and capture. The authorization occurs first, and the capture occurs later. You can usually authorize a charge within a 7-day window. To capture funds, do either of the following: - In the PrestaShop dashboard, change the order’s payment status from `Authorized` to the status you specify in the **Catch status** field. For example, you can use `Shipped` as the catch status. The capture occurs automatically when the status changes. If the capture is unsuccessful, the status changes to the specified value in the **Transition to the following order status if the authorization expires before being captured** field. - In the Stripe Dashboard, under **Payments**, select **All payments**. On the **Uncaptured** tab, select the order and then click **Capture**. ## Save customer payment methods You can allow customers to save their payment details for faster checkout using the **Save payment methods at customer level setting**: - **Off**: Payment methods aren’t saved. - **On session**: Customers are asked at checkout if they want to save their payment details for future use. - **Off session**: Customers are asked at checkout if they want to save their payment details for future use. They’re also notified that by providing card information, they authorize future charges per your Terms. This is useful for scenarios like subscription renewals, late fees, incidentals (for example, car rentals), or MOTO payments. ## Choose when the order is created You can specify when to create the order during the payment process using the **Payment Flow** field: - (Recommended) **Create the order after the payment is initiated**: Creates the order when the customer clicks the **Place Order** button. - (Legacy) **Create the order after the payment is confirmed**: Creates the order after Stripe validates the payment. ## Enable Extended Logging You can check **Extended Logging** to capture detailed activity for easier debugging. When unchecked, the module records standard logs only. ## Connect to Cloud Sync and PrestaShop account PrestaShop recommends you connect Stripe to **Cloud Sync** and **PrestaShop Account** to securely back up your store’s data and synchronize it with PrestaShop’s cloud. This enables centralized management and real-time performance monitoring. 1. On the **Stripe Configure** page, click **Link** in the **Link your store to a PrestaShop account** section. 1. Click **Accept and associate**. 1. Click **Continue the installation**. A green checkmark and message confirm you successfully linked your store to the PrestaShop account. 1. On the **Stripe Configure** page, click **Share my data** in the **Share your data with Stripe payment module** section. 1. Click **Allow**. A green checkmark and message confirm Data synchronization success. On Prestashop 1.7 with **multishop** enabled and **All shops** selected, the dependency installation dialog might persist. To proceed, either click **Skip** or select a specific shop to access the app configuration. ## Refunds To refund a payment, you need the Stripe Payment ID for the order. 1. In the PrestaShop dashboard, under **Orders**, select **Orders**. 1. Find the order you want to refund and copy the **Payment ID** under **Stripe**. 1. To initiate a full or partial refund, do the following: 1. Go to the **Refund** tab on the **Stripe payment module**. 1. In the **Stripe Payment ID** field, paste the payment ID. 1. Select **Full refund** or **Partial refund**. If you want to initiate a partial refund, you must provide the amount to refund. 1. Click **Request Refund**. ## Payment Method Messaging Element The **Payment Method Messaging Element** is a dynamic UI component that informs customers about available **Buy Now, Pay Later (BNPL)** options before they checkout. - **Functionality:** It automatically displays localized installment plans based on the customer’s location, currency, and the specific order total. - **Placement:** Displayed on the **Product Page** and the **Cart Page**. - **Design:** Inherits your site’s theme automatically for a seamless look and feel.