MPR Checkout Revolution

Streamline Your Checkout with One-Page Express Payment

Price: €299.00
Tax included

MPR Checkout Revolution enables express checkout from any page in your store — product pages, cart, mini-cart — using Apple Pay, Google Pay, PayPal, Link by Stripe, and cards. Customers skip the traditional checkout flow entirely and purchase in seconds.

  • Express Checkout Everywhere: Payment buttons on product pages, cart, and mini-cart — not just checkout
  • Apple Pay & Google Pay: One-tap biometric checkout — purchase in under 5 seconds on mobile
  • PayPal Express: Capture customers who prefer PayPal without redirecting to external pages
  • Link by Stripe: Returning Stripe users check out with a single click — pre-filled everything
  • Dynamic Shipping: Real-time shipping calculation within payment sheets
  • Auto Address Creation: Addresses from payment methods saved automatically — no forms
  • Guest Checkout: No account required — purchase without registration
  • Webhook Sync: Payments, refunds, and disputes managed via Stripe webhooks
  • PCI DSS Compliant: Card data handled exclusively by Stripe's certified infrastructure
  • Multi-Currency: Accept payments in any Stripe-supported currency

The most advanced Stripe integration for PrestaShop. 30–60% conversion rate increase on mobile. Compatible with PrestaShop 1.7 through 9.x.

Product availability: Instant download after purchase
Share
2 viewed

Express Checkout From Any Page — Skip the Cart Entirely

MPR Checkout Revolution is a flagship PrestaShop module that fundamentally reimagines the checkout experience. Traditional e-commerce forces customers through a multi-step flow: add to cart, view cart, proceed to checkout, enter shipping details, enter payment details, confirm order. Every step in this funnel is a point where customers abandon their purchase — and industry data shows that 70% of shopping carts are abandoned before completion.

Checkout Revolution eliminates this friction by enabling express checkout from any page in your store. Product pages, category pages, the cart page, the mini-cart dropdown — wherever a customer decides they want to buy, Stripe-powered express checkout buttons let them complete the purchase in seconds using Apple Pay, Google Pay, PayPal, Link by Stripe, or saved card details. No account creation, no multi-page forms, no friction.

This is not a simple payment gateway module. This is a complete rearchitecting of the purchase flow that brings the checkout experience to the customer rather than forcing the customer through the checkout. The result is dramatically higher conversion rates, lower cart abandonment, and a shopping experience that matches the speed and convenience customers have come to expect from the world's best e-commerce platforms.

Key Features and Benefits

  • Express Checkout Buttons Everywhere: Apple Pay, Google Pay, PayPal, and Link by Stripe buttons appear directly on product pages, cart pages, and the mini-cart. Customers can complete a purchase from any page where they see a product they want.
  • One-Tap Mobile Checkout: On mobile devices with Apple Pay or Google Pay configured, customers can purchase with a single biometric authentication (Face ID, Touch ID, fingerprint) — the fastest possible path from "I want this" to "I bought this."
  • Stripe Payment Element: For customers who prefer traditional card payment, the embedded Stripe Payment Element provides a beautiful, secure card form with real-time validation, automatic card brand detection, and support for 3D Secure authentication.
  • Link by Stripe: Returning customers who have used Stripe's Link service on any website can check out with a single click — their shipping address, email, and payment method are pre-filled automatically.
  • Dynamic Shipping Calculation: Express checkout automatically calculates shipping costs based on the customer's delivery address (obtained from Apple Pay, Google Pay, or PayPal), presenting accurate totals before payment confirmation.
  • Automatic Address Creation: Customer addresses from express payment methods are automatically saved to their PrestaShop account, creating a seamless experience for repeat purchases.
  • Guest Checkout Support: Customers can complete express checkout without creating a PrestaShop account. An account is optionally created in the background using the email from their payment method.
  • Cart & Order Synchronization: Express checkout purchases properly update PrestaShop cart rules, discounts, and stock levels. Order confirmations, emails, and inventory adjustments work exactly as they do with standard checkout.
  • Webhook-Based Order Management: Stripe webhooks handle payment confirmation, refunds, disputes, and subscription events, ensuring your order management stays synchronized even if the customer's browser disconnects during payment.
  • Multi-Currency Support: Accept payments in any currency supported by Stripe. Dynamic currency presentation shows customers prices in their local currency.

The Conversion Impact

Every click between product discovery and payment completion reduces conversion by 10–15%. A standard PrestaShop checkout requires 5–7 clicks minimum. Express checkout reduces this to 1–2 interactions. The math is compelling: stores implementing express checkout report conversion rate increases of 30–60% on mobile and 15–30% on desktop.

Apple Pay and Google Pay conversions are particularly dramatic on mobile devices, where traditional form-filling is cumbersome. A customer browsing your store on their phone sees a product they want, taps the Apple Pay button, confirms with Face ID, and the order is placed — all in under 5 seconds. This is not an incremental improvement; it is a fundamental transformation of the mobile shopping experience.

PayPal integration captures the significant segment of customers who prefer PayPal for online purchases. Link by Stripe captures returning Stripe users who have already saved their details. Together, these four express payment methods cover virtually every customer preference, ensuring that no matter how a customer prefers to pay, they can do so with minimal friction from any page in your store.

Advanced Stripe Integration

Checkout Revolution is built on Stripe's latest Payment Intents API and Payment Element, providing the most current, secure, and feature-rich Stripe integration available for PrestaShop. This includes full PCI DSS compliance (sensitive card data never touches your server), automatic 3D Secure handling for SCA compliance in Europe, and support for Stripe's expanding network of payment methods.

The module manages the complete Stripe payment lifecycle: payment intent creation, customer creation, payment method attachment, payment confirmation, webhook event processing, refund handling, and dispute management. Your Stripe dashboard and PrestaShop back office stay perfectly synchronized through comprehensive webhook integration.

Technical Details

  • Stripe Payment Intents API: Server-side payment processing using Stripe's latest API with automatic SCA/3DS handling and idempotent request keys for reliable payment processing.
  • Payment Request API: Express checkout buttons (Apple Pay, Google Pay) use the W3C Payment Request API via Stripe's Payment Request Button element — no additional SDK or setup required.
  • Webhook Endpoint: Dedicated webhook controller handles payment_intent.succeeded, charge.refunded, charge.dispute.created, and other critical Stripe events for reliable order lifecycle management.
  • AJAX Cart Integration: Express checkout on product pages creates or updates the PrestaShop cart via AJAX, ensuring cart rules, discounts, and stock validation are properly applied before payment.
  • Idempotency Keys: Every payment request includes idempotency keys preventing duplicate charges from network issues, button double-clicks, or page refreshes.
  • PCI DSS Level 1: All sensitive payment data is handled exclusively by Stripe's PCI-certified infrastructure. Your server never processes, stores, or transmits card numbers.
  • Multistore Compatible: Separate Stripe accounts and configurations per store with independent webhook endpoints.
  • Compatible with PrestaShop 1.7, 8.x, and 9.x with dedicated compatibility layers for each major version.

Why is this module unique?

  • The only PrestaShop module that enables express checkout from product pages, cart, and mini-cart — not just the checkout page
  • Four express payment methods (Apple Pay, Google Pay, PayPal, Link) covering virtually every customer preference
  • One-tap biometric checkout on mobile (Face ID, Touch ID) — purchase in under 5 seconds
  • Dynamic shipping calculation within express payment sheets eliminates post-payment shipping surprises
  • Automatic address creation from payment methods eliminates manual form-filling entirely
  • Complete Stripe lifecycle management via webhooks — payments, refunds, disputes all synchronized
  • Idempotent payment processing prevents duplicate charges under any network condition

Use Cases

  • Mobile-First Stores: Stores with 60%+ mobile traffic see the biggest conversion lifts from one-tap Apple Pay and Google Pay checkout
  • Impulse Purchase Products: Fashion, beauty, accessories, and food products where reducing friction between "I want it" and "I bought it" directly increases revenue
  • High Cart Abandonment Stores: Any store suffering from 60%+ cart abandonment will see immediate improvement by eliminating the multi-step checkout funnel
  • Single-Product Purchases: Stores where customers typically buy one item benefit most from product-page express checkout that skips the cart entirely
  • International Stores: Multi-currency support and automatic address handling remove friction for cross-border customers
  • Subscription & Repeat Purchase: Link by Stripe recognition makes repeat purchases effortless for returning customers across any Stripe-powered site
  • Reference
    mprcheckoutrevolution
  • In stock
    999 Items
  • PrestaShop Compatibility
    PS 1.7 – 9.x
  • Pricing Model
    One-time Purchase
  • Module Type
    Front & Back-office
  • GDPR Relevant
    No
  • Business Goal
    Boost Conversions
  • External Account Needed
    No
  • Module Complexity
    Feature-Rich Module
  • Customer Journey Stage
    Convert to Buyers
  • Works With Platform
    No External Platform

MPR Express Checkout

Advanced Stripe integration for PrestaShop 1.7.8+ providing express checkout from any page. Customers complete purchases instantly using digital wallets, cards, and regional payment methods without traditional checkout flow.

Version: 1.7.3 Author: mypresta.rocks License: Commercial PrestaShop Compatibility: 1.6 - 1.7.8.11+


Table of Contents


Overview

MPR Express Checkout transforms the e-commerce experience by enabling one-click purchases from product pages, cart, and checkout. Built on Stripe's Payment Intents API, it supports 31+ payment methods including digital wallets, regional bank transfers, and Buy Now Pay Later solutions.

The module features a unified checkout modal that consolidates customer registration, address management, shipping selection, and payment processing into a single streamlined interface, significantly reducing cart abandonment and increasing mobile conversions.


Key Features

Express Checkout Experience

  • One-Click Purchase: Buy directly from product pages, cart, or any page type
  • Unified Modal: Single modal interface for complete checkout flow
  • Smart Cart Management: Automatic cart creation, merging, and recovery
  • Real-Time Validation: Instant voucher validation and shipping calculation
  • Mobile Optimized: Native wallet integration (Apple Pay, Google Pay, Samsung Pay)

Payment Processing

  • Stripe Integration: Full Stripe Payment Intents API support
  • 31+ Payment Methods: Wallets, cards, bank transfers, BNPL, and manual methods
  • Saved Cards: Secure card storage for repeat purchases
  • Payment Recovery: Abandoned payment cart recovery system
  • Webhook Processing: Real-time payment status updates

Customer Experience

  • Social Login: Google, Facebook, Apple, Microsoft authentication
  • Guest Checkout: Complete purchases without account creation
  • Address Autocomplete: Google Places API integration
  • VAT Validation: VIES API integration for EU businesses
  • Multi-Language: Translations for 7+ languages (EN, PL, DE, FR, ES, IT, NL)

B2B Features

  • Company Accounts: Multi-user company account support
  • VAT Exemption: Tax exemption handling for qualifying businesses
  • Purchase Orders: PO number support for credit account payments
  • Trade Credit: Credit account payment method
  • Quote/RFQ System: Request for Quote workflow with negotiation support

Admin Tools

  • Dashboard: Transaction overview and performance metrics
  • Transaction Management: View and manage all payment transactions
  • Refund Processing: Full and partial refund support
  • Charge Details: Complete payment and fee breakdown
  • Quote Management: Create, edit, and manage customer quotes
  • Social Customer Tracking: Monitor social login registrations
  • Shipping Service Config: Configure carriers with transit times
  • Integrity Checker: Validate module configuration and database

Payment Methods

The module supports 31 payment methods across multiple categories, each with dedicated icons and localized translations.

Wallets & Cards (8 methods)

Digital wallets and card payments with instant authorization:

  1. Google Pay - Google digital wallet (Chrome browser)
  2. Apple Pay - Apple digital wallet (Safari/iOS)
  3. Card - Visa, Mastercard, Amex, JCB, Cartes Bancaires
  4. PayPal - PayPal wallet and account payments
  5. Amazon Pay - Amazon account payments
  6. Link - Stripe Link (saved payment details)
  7. Samsung Pay - Samsung digital wallet
  8. Revolut - Revolut digital wallet

European Bank Methods (9 methods)

Regional bank payment methods popular in Europe:

  1. iDEAL - Netherlands bank transfer (EUR only)
  2. Bancontact - Belgian bank payment (EUR only)
  3. BLIK - Polish mobile payment (PLN only)
  4. Przelewy24 - Polish online banking (PLN, EUR)
  5. EPS - Austrian bank transfer (EUR only)
  6. Multibanco - Portuguese payment system (EUR only)
  7. Twint - Swiss mobile payment (CHF only)
  8. Satispay - Italian mobile payment (EUR only)
  9. MobilePay - Nordic mobile payment (DKK, NOK, SEK, EUR)

Asian Payment Methods (5 methods)

Popular payment methods in Asian markets:

  1. Alipay - Chinese digital wallet (CNY, EUR, GBP, USD)
  2. WeChat Pay - Chinese mobile payment (CNY, EUR, GBP, USD)
  3. Kakao Pay - Korean mobile payment (KRW only)
  4. Naver Pay - Korean payment platform (KRW only)
  5. Payco - Korean digital wallet (KRW only)

Buy Now Pay Later (4 methods)

Installment and deferred payment solutions:

  1. Klarna - BNPL in 11 currencies (EUR, USD, GBP, SEK, NOK, DKK, CHF, PLN, AUD, NZD, CAD)
  2. Afterpay / Clearpay - BNPL in 6 currencies (USD, CAD, AUD, NZD, GBP, EUR)
  3. Alma - French BNPL (EUR, 10 European countries)
  4. Billie - B2B BNPL (EUR, 7 European countries)

Bank Transfers & Direct Debit (1 method)

Direct bank account payments:

  1. SEPA Debit - European direct debit (EUR only)

Manual/Offline Methods (4 methods)

Traditional payment methods processed offline:

  1. Bank Transfer - Manual bank wire transfer
  2. Cash on Delivery (COD) - Pay on delivery
  3. Credit Account - Trade account with credit terms
  4. Store Pickup - Pay on pickup at physical location

Icon Theming System

The module includes a comprehensive icon system with 8 theme variants to match any store design:

Icon Themes (4 color schemes)

  1. Light Mode - Light backgrounds with dark text
  2. Dark Mode - Dark backgrounds with light text
  3. Light Accent - Light backgrounds with brand color accents
  4. Dark Accent - Dark backgrounds with brand color accents

Icon Shapes (2 aspect ratios)

  1. Rectangle - Wide format for checkout pages and payment options lists
  2. Square - Compact format for payment buttons and unified modal

Icon Configuration

  • Total Icon Variants: 31 methods × 4 themes × 2 shapes = 248 SVG icons
  • Path Structure: views/img/payment-icons/{shape}/{theme}/{method}.svg
  • Dynamic Theming: Icons loaded based on admin configuration
  • Card Brand Icons: Separate icons for Visa, Mastercard, Amex, JCB, Cartes Bancaires

Example Paths:

views/img/payment-icons/rectangle/light-mode/google_pay.svg
views/img/payment-icons/square/dark-accent/apple_pay.svg
views/img/payment-icons/rectangle/light-mode/visa.svg

Architecture

Directory Structure

mprexpresscheckout/
├── mprexpresscheckout.php          # Main module class (3,600+ lines)
├── config.xml                       # Module metadata
├── composer.json                    # PHP dependencies
├── package.json                     # Node.js build tools
├── Gruntfile.js                     # Grunt task configuration
├── gulpfile.js                      # Gulp build pipeline
│
├── src/                             # Namespaced PHP classes
│   ├── Classes/                     # Core business logic (30+ classes, 28K+ lines)
│   │   ├── MPRExpressCheckoutConfig.php              # Configuration management
│   │   ├── MPRExpressCheckoutCart.php                # Virtual cart handling
│   │   ├── MPRExpressCheckoutTransaction.php         # Payment transactions
│   │   ├── MPRExpressCheckoutCharge.php              # Stripe charge details
│   │   ├── MPRExpressCheckoutRefund.php              # Refund processing
│   │   ├── MPRExpressCheckoutPaymentOption.php       # Payment method config
│   │   ├── MPRExpressCheckoutPaymentMethod.php       # Saved payment methods
│   │   ├── MPRExpressCheckoutOrderProcessor.php      # Order creation logic
│   │   ├── MPRExpressCheckoutAddress.php             # Address management
│   │   ├── MPRExpressCheckoutSocialAuth.php          # Social login (Google, FB, Apple, MS)
│   │   ├── MPRExpressCheckoutCustomer.php            # Customer handling
│   │   ├── MPRExpressCheckoutShippingService.php     # Carrier configuration
│   │   ├── MPRExpressCheckoutSession.php             # Session tracking
│   │   ├── MPRExpressCheckoutWebhookEvent.php        # Stripe webhook handler
│   │   ├── MPRExpressCheckoutVatValidator.php        # EU VAT validation
│   │   ├── MPRExpressCheckoutSMS.php                 # SMS notifications
│   │   ├── MPRExpressCheckoutIntegrity.php           # System integrity checks
│   │   ├── MPRExpressCheckoutAdminOrder.php          # Admin order creation
│   │   ├── MPRExpressCheckoutDbQuery.php             # Database query builder
│   │   ├── MPRExpressCheckoutErrorHandler.php        # Error handling
│   │   ├── MPRExpressCheckoutTranslations.php        # Translation management
│   │   ├── MPRExpressCheckoutQuote.php               # Quote management (ObjectModel)
│   │   ├── MPRExpressCheckoutQuoteItem.php           # Quote line items (ObjectModel)
│   │   ├── MPRExpressCheckoutQuoteStatus.php         # Quote status workflow (ObjectModel)
│   │   ├── MPRExpressCheckoutQuoteMessage.php        # Quote messaging (ObjectModel)
│   │   ├── MPRExpressCheckoutQuoteHistory.php        # Quote audit trail (ObjectModel)
│   │   └── MPRExpressCheckoutQuotePdf.php            # Quote PDF generation
│   │
│   ├── Config/                      # Configuration classes
│   │   ├── PaymentMethodsConfig.php          # All payment method definitions
│   │   └── PaymentMethodsTranslations.php    # Multi-language translations
│   │
│   └── Traits/                      # Reusable trait components
│       ├── AdminController/         # Admin list management traits
│       ├── Compatiblility/          # PrestaShop compatibility
│       ├── ObjectModel/             # ORM extensions
│       └── Associations/            # Database associations
│
├── controllers/                     # PrestaShop controllers
│   ├── front/                       # Frontend controllers (20 controllers)
│   │   ├── Checkout.php             # Main checkout modal
│   │   ├── Processing.php           # Payment processing
│   │   ├── Ajax.php                 # AJAX endpoint handler
│   │   ├── Webhook.php              # Stripe webhook receiver
│   │   ├── PaymentStatus.php        # Payment status page
│   │   ├── Recover.php              # Cart recovery
│   │   ├── Cards.php                # Saved cards management
│   │   ├── Login.php                # Customer login
│   │   ├── Register.php             # Customer registration
│   │   ├── ForgotPassword.php       # Password recovery
│   │   ├── Account.php              # Customer account
│   │   ├── Identity.php             # Personal information
│   │   ├── Address.php              # Single address management
│   │   ├── Addresses.php            # Address book
│   │   ├── Cart.php                 # Cart management
│   │   ├── Quotes.php               # Customer quotes list
│   │   ├── Quote.php                # Single quote detail view
│   │   ├── QuoteRequest.php         # Quote request form
│   │   └── QuotePdf.php             # Quote PDF download
│   │
│   └── admin/                       # Backend controllers (16 controllers)
│       ├── AdminMPRExpressCheckoutDashboardController.php
│       ├── AdminMPRExpressCheckoutConfigController.php
│       ├── AdminMPRExpressCheckoutTransactionsController.php
│       ├── AdminMPRExpressCheckoutChargesController.php
│       ├── AdminMPRExpressCheckoutRefundsController.php
│       ├── AdminMPRExpressCheckoutPaymentOptionsController.php
│       ├── AdminMPRExpressCheckoutPaymentMethodsController.php
│       ├── AdminMPRExpressCheckoutSocialCustomersController.php
│       ├── AdminMPRExpressCheckoutCartsController.php
│       ├── AdminMPRExpressCheckoutSessionsController.php
│       ├── AdminMPRExpressCheckoutShippingServiceController.php
│       ├── AdminMPRExpressCheckoutQuotesController.php
│       ├── AdminMPRExpressCheckoutQuoteStatusesController.php
│       ├── AdminMPRExpressCheckoutIntegrityController.php
│       └── AdminMPRExpressCheckoutAjaxController.php
│
├── views/                           # Frontend assets and templates
│   ├── templates/                   # Smarty templates
│   │   ├── front/                   # Frontend templates
│   │   ├── admin/                   # Admin templates
│   │   ├── hook/                    # Hook templates
│   │   └── _partials/               # Reusable template components
│   ├── js/                          # JavaScript (compiled)
│   ├── css/                         # Stylesheets (compiled)
│   └── img/                         # Images and icons
│       ├── payment-icons/           # Payment method icons (248 SVG files)
│       │   ├── rectangle/           # Wide format icons
│       │   │   ├── light-mode/
│       │   │   ├── dark-mode/
│       │   │   ├── light-accent/
│       │   │   └── dark-accent/
│       │   └── square/              # Square format icons
│       │       ├── light-mode/
│       │       ├── dark-mode/
│       │       ├── light-accent/
│       │       └── dark-accent/
│       ├── buttons/                 # Express checkout button graphics
│       └── options/                 # UI element icons
│
├── sources/                         # Source files for build
│   ├── js/                          # JavaScript source files
│   └── css/                         # SCSS source files
│
├── sql/                             # Database installation
│   ├── install.php                  # Table creation (28 tables)
│   └── uninstall.php                # Table cleanup
│
├── upgrade/                         # Version upgrade scripts
├── translations/                    # Language files
├── mails/                           # Email templates
├── vendor/                          # Composer dependencies
└── node_modules/                    # NPM build dependencies

Database Schema

The module creates 34 database tables to manage all aspects of express checkout:

Core Tables

mprexpresscheckout_cart - Virtual cart storage

  • Stores express checkout sessions with customer data, addresses, and selections
  • Includes cart recovery data with expiry dates
  • Tracks page context (product, cart, checkout, etc.)

mprexpresscheckout_config - Module configuration

  • Key-value storage with context support (shop, language, group)
  • Multilingual configuration via _lang table

mprexpresscheckout_payment_options - Payment method configuration

  • Payment method settings and availability
  • Context-based restrictions (country, currency, browser, page type)
  • Position ordering and Stripe enablement flags

Transaction & Payment Tables

mprexpresscheckout_transactions - Payment transactions

  • Links virtual carts to orders
  • Transaction type tracking (express, checkout, terminal, invoice, etc.)
  • Payment state management and error tracking

mprexpresscheckout_charges - Stripe charge details

  • Payment Intent and Charge IDs
  • Fee calculation and exchange rates
  • Risk assessment scores
  • Receipt URLs and payment method details

mprexpresscheckout_refunds - Refund records

  • Full and partial refund tracking
  • Employee attribution
  • Refund state and reason tracking

mprexpresscheckout_payment_methods - Saved payment methods

  • Stored card details (last4, brand, expiry)
  • Links to Stripe Customer IDs

Customer & Social Login Tables

mprexpresscheckout_customers - Stripe customer mapping

  • Links PrestaShop customers to Stripe Customer IDs
  • Email tracking for guest customers

mprexpresscheckout_social_customers - Social authentication

  • Google, Facebook, Apple, Microsoft account links
  • Platform user IDs and profile pictures

mprexpresscheckout_social_logins - Login tracking mprexpresscheckout_social_registrations - Registration tracking

Shipping & Delivery Tables

mprexpresscheckout_shipping_service - Carrier configuration

  • Transit time estimates (min/max days)
  • Display modes and position ordering
  • Separate activation flags for express checkout and OPC

mprexpresscheckout_shipping_service_lang - Carrier translations mprexpresscheckout_shipping_service_payment_options - Payment method restrictions per carrier mprexpresscheckout_shipping_service_external_modules - Third-party carrier module integration

Virtual Cart Detail Tables

mprexpresscheckout_cart_customer - Customer information mprexpresscheckout_cart_product - Cart products mprexpresscheckout_cart_address - Shipping/billing addresses mprexpresscheckout_cart_rule - Applied vouchers/discounts

Session & Tracking Tables

mpr_sessions - Shared session tracking

  • Device, browser, OS detection
  • UTM campaign tracking
  • Landing page tracking
  • IP and user agent storage

mprexpresscheckout_admin_preferences - Admin user preferences mprexpresscheckout_admin_order - Admin-created orders mprexpresscheckout_sso_codes - SMS authentication codes mprexpresscheckout_customer_vat - VAT validation results

B2B & Company Tables

mpr_customer - Extended customer data

  • Default preferences (address, carrier, payment)
  • Two-factor authentication settings
  • Marketing consent tracking (GDPR compliant)
  • Tax exemption status

mpr_company - Company account data

  • VAT number and validation
  • Company verification status
  • Invite links and domain matching

mpr_company_member - Company membership

  • Role-based access (admin/member)
  • Granular permissions (advanced mode)
  • Join method tracking (invite, domain, VAT, admin)

mpr_company_address - Shared company addresses mpr_company_invite - Email-based company invitations

Quote/RFQ Tables

mprexpresscheckout_quote - Quote management

  • Customer and shop associations
  • Pricing totals (products, shipping, discounts, tax)
  • Validity dates and payment link tokens
  • Status tracking and order conversion
  • Admin/customer message history

mprexpresscheckout_quote_item - Quote line items

  • Product references with attributes
  • Custom pricing (original vs. quoted price)
  • Quantity and discount tracking
  • Tax rate and amount

mprexpresscheckout_quote_status - Quote workflow statuses

  • Status name and color coding
  • Multilingual labels via _lang table
  • System flags for built-in statuses
  • Position ordering

mprexpresscheckout_quote_message - Quote communication

  • Customer and admin messages
  • Timestamps and read status
  • Employee attribution for admin messages

mprexpresscheckout_quote_history - Quote audit trail

  • Status change tracking
  • Employee attribution
  • Timestamp logging

Development

Prerequisites

The module requires a Docker development environment. See CLAUDE.md in the repository root for complete environment setup.

Required Tools:

  • PHP 8.4.11 (via Docker dev-tools container)
  • Node.js 20.19.2
  • npm 9.2.0
  • Composer 2.8.12

Build Commands

All commands must be run through the Docker container:

# Navigate to module directory
cd /mnt/hdd/docker/ps178-mprexpresscheckout/html/modules/mprexpresscheckout

# Install PHP dependencies
sudo docker exec -w "$PWD" dev-tools composer install

# Install Node.js dependencies
sudo docker exec -w "$PWD" dev-tools npm install

# Build all assets (JavaScript + CSS)
sudo docker exec -w "$PWD" dev-tools npm run build

# Watch for changes during development
sudo docker exec -w "$PWD" dev-tools npm run watch

# JavaScript build only
sudo docker exec -w "$PWD" dev-tools npm run js:build
sudo docker exec -w "$PWD" dev-tools npm run js:watch

# Webpack build
sudo docker exec -w "$PWD" dev-tools npm run webpack:build
sudo docker exec -w "$PWD" dev-tools npm run webpack:watch

Build System

The module uses a hybrid build system:

Gulp - Primary build tool

  • SCSS compilation to CSS
  • JavaScript bundling with Rollup
  • Minification with Terser
  • Source file watching

Webpack - Alternative bundler

  • Module bundling
  • Code splitting
  • Production optimization

Grunt - Release packaging

  • ZIP archive creation for distribution

Source Files

JavaScript Sources: sources/js/

  • Organized by feature (checkout, payment, social, etc.)
  • ES6+ syntax with transpilation
  • Compiled to views/js/

CSS Sources: sources/css/

  • SCSS with variables and mixins
  • Component-based structure
  • Compiled to views/css/

Code Quality

# PHP syntax check
sudo docker exec -w "$PWD" dev-tools php -l file.php

# Check PHP version
sudo docker exec dev-tools php -v

# Check installed PHP modules
sudo docker exec dev-tools php -m

Configuration

Admin Configuration Pages

Access via PrestaShop admin panel under Modules > Module Manager > MPR Express Checkout.

Main Tabs:

  1. Dashboard - Transaction overview and statistics
  2. Configuration - Stripe API keys, payment method settings, icon themes
  3. Transactions - All payment transactions with filters
  4. Charges - Stripe charge details and fees
  5. Refunds - Refund management interface
  6. Payment Options - Enable/disable methods, set restrictions
  7. Payment Methods - Customer saved payment methods
  8. Social Customers - Social login registrations
  9. Carts - Express checkout cart sessions
  10. Sessions - Traffic and attribution tracking
  11. Shipping Services - Carrier configuration
  12. Quotes - Quote management and creation
  13. Quote Statuses - Customize quote workflow statuses
  14. Integrity - System health checks

Payment Method Configuration

Each payment method can be configured with:

  • Enabled/Disabled status
  • Country restrictions (specific countries only)
  • Currency restrictions (supported currencies only)
  • Browser restrictions (e.g., Apple Pay requires Safari)
  • Page type restrictions (product, cart, checkout)
  • Shop/Language/Group context (multistore support)

Icon Theme Settings

Configure in Configuration tab:

  • Icon Theme: Light Mode, Dark Mode, Light Accent, Dark Accent
  • Card Display Mode: Generic card icon OR individual card brand icons
  • Card Brands: Select which card brands to display (Visa, Mastercard, Amex, JCB, Cartes Bancaires)

Stripe Settings

Required configuration:

  • Test Mode API Key (Publishable & Secret)
  • Live Mode API Key (Publishable & Secret)
  • Webhook Secret (for payment status updates)
  • Mode Toggle (Test/Live)

Social Login Settings

Configure OAuth credentials for:

  • Google - Client ID and Client Secret
  • Facebook - App ID and App Secret
  • Apple - Service ID, Team ID, Key ID, Private Key
  • Microsoft - Client ID and Client Secret

Google Places API

For address autocomplete:

  • API Key - Google Maps JavaScript API with Places library enabled

Frontend Controllers

The module provides 16 frontend controllers accessible via module links:

Checkout Flow Controllers

Checkout.php - Main unified checkout modal

  • Displays payment method selection
  • Handles customer authentication
  • Manages address forms
  • Shipping method selection
  • Order review and confirmation

Processing.php - Payment processing handler

  • Stripe Payment Intent confirmation
  • Order creation after successful payment
  • Redirect to order confirmation

PaymentStatus.php - Payment result page

  • Success/failure messaging
  • Order details display
  • Error handling

Customer Management Controllers

Login.php - Customer login

  • Email/password authentication
  • Social login integration
  • Remember me functionality

Register.php - Customer registration

  • Account creation form
  • Social registration
  • Email verification

ForgotPassword.php - Password recovery

  • Email-based password reset
  • Security code generation

Account.php - Customer account overview Identity.php - Personal information management

Address Management Controllers

Address.php - Single address CRUD

  • Add new address
  • Edit existing address
  • Delete address
  • Google Places autocomplete integration

Addresses.php - Address book listing

  • View all addresses
  • Set default addresses
  • Quick actions

Payment & Cart Controllers

Cards.php - Saved payment methods

  • List stored cards
  • Delete payment methods
  • Set default card

Cart.php - Cart management

  • View cart contents
  • Update quantities
  • Apply vouchers

Recover.php - Cart recovery

  • Recover abandoned carts via email link
  • Restore cart session
  • Continue to checkout

Quote Controllers

Quotes.php - Customer quotes list

  • View all quotes with status filtering
  • Pagination and sorting
  • Quick actions (view, download PDF)

Quote.php - Single quote detail view

  • Quote items with pricing
  • Status and validity display
  • Accept/reject quote actions
  • Request changes functionality
  • Messaging with admin
  • Payment link access

QuoteRequest.php - Quote request form

  • Request quote for single product
  • Request quote for entire cart
  • Guest and logged-in customer support
  • Custom message to admin

QuotePdf.php - Quote PDF download

  • Generate professional PDF quotes
  • Customer-facing download
  • Secure token validation

API Controllers

Ajax.php - AJAX endpoint handler

  • Address validation
  • Shipping rate calculation
  • Voucher validation
  • Country/state lists
  • Product availability checks

Webhook.php - Stripe webhook receiver

  • Payment Intent updates
  • Charge succeeded/failed events
  • Refund notifications
  • Automatic order status updates

Admin Controllers

16 backend controllers manage all administrative functions:

AdminMPRExpressCheckoutDashboardController - Main dashboard with KPIs

AdminMPRExpressCheckoutConfigController - Module configuration interface

AdminMPRExpressCheckoutTransactionsController - Transaction list and details

  • Filter by status, date, amount, customer
  • Export to CSV
  • View transaction timeline

AdminMPRExpressCheckoutChargesController - Charge details

  • Payment Intent and Charge IDs
  • Fee breakdown
  • Risk scores
  • Receipt links

AdminMPRExpressCheckoutRefundsController - Refund management

  • Initiate full/partial refunds
  • View refund history
  • Track refund status

AdminMPRExpressCheckoutPaymentOptionsController - Payment method settings

  • Enable/disable methods
  • Set country/currency restrictions
  • Configure context rules
  • Reorder display positions

AdminMPRExpressCheckoutPaymentMethodsController - Customer saved cards

  • View all stored payment methods
  • Delete payment methods
  • Customer association

AdminMPRExpressCheckoutSocialCustomersController - Social login tracking

  • View social registrations
  • Platform statistics
  • Login history

AdminMPRExpressCheckoutCartsController - Express checkout sessions

  • View virtual carts
  • Cart recovery status
  • Customer matching
  • Expiry management

AdminMPRExpressCheckoutSessionsController - Traffic analytics

  • Session tracking
  • UTM campaign data
  • Landing page analysis
  • Device/browser stats

AdminMPRExpressCheckoutShippingServiceController - Carrier configuration

  • Set transit times
  • Configure display modes
  • Payment method restrictions
  • External module integration

AdminMPRExpressCheckoutQuotesController - Quote management

  • View and filter all quotes
  • Create quotes from admin
  • Edit quote items and pricing
  • Send quotes to customers
  • Convert quotes to orders
  • Generate payment links
  • Message customers
  • View quote history

AdminMPRExpressCheckoutQuoteStatusesController - Quote status management

  • Create custom statuses
  • Edit status colors and labels
  • Multilingual status names
  • Reorder status display

AdminMPRExpressCheckoutIntegrityController - System health checks

  • Database integrity validation
  • Configuration validation
  • File integrity checks
  • Dependency verification

AdminMPRExpressCheckoutAjaxController - Admin AJAX endpoint

  • Dynamic form updates
  • Autocomplete suggestions
  • Quick actions

Integration Points

PrestaShop Hooks

The module hooks into multiple PrestaShop lifecycle points:

Product Page Hooks:

  • displayProductAdditionalInfo - Express checkout button on product pages
  • displayProductActions - Alternative button placement

Cart Hooks:

  • displayShoppingCart - Express checkout in cart
  • displayShoppingCartFooter - Cart footer buttons

Checkout Hooks:

  • displayPaymentReturn - Order confirmation messaging
  • paymentOptions - Add payment methods to checkout
  • displayOrderConfirmation - Post-order actions

Customer Hooks:

  • actionAuthentication - Post-login actions
  • actionCustomerAccountAdd - Post-registration actions
  • actionObjectCustomerUpdateAfter - Customer data sync

Order Hooks:

  • actionValidateOrder - Order creation tracking
  • actionOrderStatusUpdate - Sync order status with Stripe
  • displayAdminOrder - Admin order page additions

Header/Footer Hooks:

  • displayHeader - Load Stripe.js and module assets
  • displayFooter - Initialize checkout scripts

External API Integrations

Stripe API

  • Payment Intents API for payment processing
  • Customers API for saved payment methods
  • Charges API for transaction details
  • Refunds API for refund processing
  • Webhooks for real-time updates

Google APIs

  • Google Sign-In for OAuth authentication
  • Google Places API for address autocomplete

Facebook API

  • Facebook Login for OAuth authentication
  • Graph API for user profile data

Apple Sign In

  • Sign in with Apple for iOS/macOS users
  • JWT token validation

Microsoft Identity Platform

  • Microsoft account authentication
  • Azure AD integration

VIES API

  • EU VAT number validation
  • Company verification

Quote/RFQ System

The module includes a comprehensive Quote/Request for Quote (RFQ) system for B2B commerce, enabling customers to request custom pricing and admins to create tailored offers.

Quote Workflow

Status Lifecycle:

  1. Pending - Initial quote request from customer
  2. Draft - Admin is preparing the quote
  3. Sent - Quote sent to customer for review
  4. Negotiating - Customer requested changes, discussion ongoing
  5. Accepted - Customer accepted the quote
  6. Rejected - Customer declined the quote
  7. Expired - Quote validity period passed
  8. Converted - Quote converted to order
  9. Cancelled - Quote cancelled by admin

Customer Features

Quote Request:

  • Request quotes from product pages via "Request Quote" button
  • Request quotes for entire cart contents
  • Add custom messages explaining requirements
  • Guest quote requests (if enabled)

Quote Management:

  • View all quotes in "My Quotes" section of customer account
  • See pending quote count badge
  • View detailed quote with itemized pricing
  • Accept or reject quotes with one click
  • Request changes with explanation message
  • Message admin directly on quote detail page
  • Download PDF version of quotes
  • Access payment link for accepted quotes

Admin Features

Quote Creation:

  • Create quotes from admin panel
  • Import products from existing cart or order
  • Add products with custom pricing
  • Set item-level discounts
  • Configure shipping costs
  • Set quote validity period

Quote Management:

  • View all quotes with advanced filtering
  • Edit quote items and pricing anytime
  • Send quotes to customers
  • Generate secure payment links
  • View and respond to customer messages
  • Track full quote history (status changes, messages)
  • Convert accepted quotes to orders

Quote Statuses:

  • 9 built-in statuses with colors
  • Create custom statuses
  • Multilingual status labels
  • Reorder status display

PDF Generation

Professional PDF quotes include:

  • Company logo and branding
  • Quote reference and dates
  • Customer billing/shipping addresses
  • Itemized product list with images
  • Individual and total pricing
  • Terms and conditions
  • Validity period
  • Custom footer text

Configuration Options

  • Enable/disable quote system globally
  • Show/hide "Request Quote" button on product pages
  • Show/hide "Request Quote" button in cart
  • Allow guest quote requests
  • Default quote validity period
  • PDF customization (logo, terms, footer)
  • Email notifications for quote events

Hooks

Product/Cart Hooks:

  • displayQuoteButtonProduct - "Request Quote" button on product pages
  • displayShoppingCartFooter - "Request Quote" button in cart

Customer Account:

  • displayCustomerAccount - "My Quotes" link with pending badge

Future Roadmap

Planned Features

Payment Method Expansion

  • Additional regional payment methods
  • Cryptocurrency support (Bitcoin, Ethereum)
  • Local payment gateways beyond Stripe

Enhanced B2B Features

  • Quote request system ✅ Implemented
  • Approval workflows for company purchases
  • Custom pricing per company/customer
  • Volume discount automation
  • Credit limit enforcement

Advanced Cart Recovery

  • Multi-step email sequences
  • SMS cart recovery
  • Push notifications for abandoned carts
  • Dynamic discount offers in recovery emails

Analytics & Reporting

  • Conversion funnel analysis
  • Payment method performance comparison
  • Geographic sales mapping
  • Customer lifetime value tracking
  • A/B testing framework for checkout variations

Subscription & Recurring Payments

  • Subscription product support
  • Automatic recurring billing
  • Subscription management portal
  • Trial period handling

Multi-Currency Enhancements

  • Dynamic currency conversion at checkout
  • Display prices in customer's local currency
  • Multi-currency saved payment methods

Mobile App Integration

  • Native mobile SDK
  • In-app payment processing
  • Mobile wallet integration expansion

AI-Powered Features

  • Fraud detection using machine learning
  • Predictive cart abandonment prevention
  • Smart payment method recommendations
  • Personalized checkout experiences

Performance Optimizations

  • Service worker for offline cart management
  • Progressive web app (PWA) checkout
  • Lazy loading of payment method scripts
  • CDN integration for static assets

Compliance & Security

  • PSD2 Strong Customer Authentication (SCA)
  • GDPR data export/deletion tools
  • SOC 2 compliance reporting
  • Enhanced fraud prevention rules

Developer Tools

Testing Suite

  • Unit tests for all classes
  • Integration tests for payment flows
  • End-to-end testing with Puppeteer
  • Performance benchmarking tools

API & Webhooks

  • Public API for headless commerce
  • Custom webhook events
  • GraphQL API support

Documentation

  • Developer API documentation
  • Integration guides for third-party modules
  • Theme customization guide
  • Video tutorials

Support & Resources

Documentation: /docs/ directory License: Commercial - restricted domains only Author: mypresta.rocks (info@mypresta.rocks) Repository: https://github.com/myprestarocks/mprexpresscheckout


Technical Specifications

PHP Requirements: 7.1.3+ (Tested with PHP 8.4.11) PrestaShop Version: 1.6 - 1.7.8.11+ Database: MySQL 5.5+ / MariaDB External Dependencies:

  • Stripe PHP SDK (via Composer)
  • Firebase JWT (for social login token validation)
  • Google Closure Compiler (dev dependency)
  • Webpack, Gulp, Grunt (dev dependencies)

Browser Support:

  • Chrome 90+ (Google Pay, Samsung Pay)
  • Safari 14+ (Apple Pay)
  • Firefox 88+
  • Edge 90+
  • Mobile browsers (iOS Safari 14+, Chrome Mobile 90+)

Module Size:

  • Total Lines of Code: 35,000+ (PHP classes, controllers, templates)
  • Core Classes: 30+ (28,000+ lines)
  • Controllers: 36 (20 frontend + 16 admin)
  • Database Tables: 34
  • SVG Icons: 248
  • Supported Languages: 7

License

This is a commercial module licensed for use on restricted domains only. Unauthorized use, distribution, or modification is prohibited.

Copyright (c) mypresta.rocks - All rights reserved.

v1.7.3 — 2026-02-15

  • Added PS 9.1 compatibility with Hummingbird checkout template overrides
  • Fixed express checkout button not rendering in minicart dropdown
  • Added address autocomplete integration with Google Places API
  • Fixed order summary not updating when changing carrier via AJAX
  • Improved checkout step validation with inline error messages
  • Fixed guest checkout email field not validating on blur

v1.7.2 — 2025-10-02

  • Added PS 9.0 compatibility
  • New one-page checkout layout option (all steps visible simultaneously)
  • Fixed payment method list not refreshing after address country change
  • Added order note field with configurable character limit
  • Fixed checkout progress bar not reflecting completed steps on page reload
  • Improved performance: reduced checkout page API calls from 8 to 3

v1.7.1 — 2025-06-18

  • Fixed Terms & Conditions checkbox not blocking order submission when unchecked
  • Added gift wrapping option with message field in checkout flow
  • Fixed delivery date picker conflicting with carrier selection validation
  • Added customer group-specific checkout field visibility rules
  • Improved mobile checkout layout with single-column responsive design

v1.7.0 — 2025-02-25

  • New customizable checkout field builder (add/remove/reorder fields)
  • Added smart address form with conditional field display by country
  • Added checkout abandonment tracking with recovery email integration
  • Fixed VAT number validation failing for EU B2B customers
  • Added social login (Google, Facebook, Apple) at checkout registration step
  • Improved WCAG 2.1 accessibility compliance for all checkout elements

v1.6.0 — 2024-10-30

  • Added PS 8.2 compatibility with Symfony form components
  • New multi-address delivery support (split order to different addresses)
  • Added real-time carrier rate calculation during address entry
  • Fixed coupon code field not showing error feedback for invalid codes
  • Added checkout analytics events for Google Analytics 4 (GA4)

v1.5.0 — 2024-07-08

  • Added saved address selection with edit-in-place functionality
  • New checkout step summary showing selected options before payment
  • Added payment method logos with configurable display order
  • Fixed checkout form autofill not triggering validation on Chrome
  • Improved error handling with clear user-facing messages for API failures

v1.4.0 — 2024-03-12

  • Initial major feature release with redesigned checkout flow
  • Two-column layout: order form and live order summary
  • Step-by-step checkout with progress indicator
  • Guest checkout with optional account creation post-purchase
  • Inline field validation with real-time feedback
  • Support for PS 1.7.6+ and PS 8.x
0.0
0 reviews
5 ★
0
4 ★
0
3 ★
0
2 ★
0
1 ★
0

No reviews yet. Be the first to leave a review!

Write a Review

Rate specific aspects (optional)
Quality
Price / Quality
Stability
Compatibility
Support
30 days return right
Easy return - no questions asked
Plug & Play Modules
Install, set up and take profit
Dedicated Support First
Priority Help & Satisfaction Over Sales

More From This Category

  • New
SEO Starter Pack
€299.00
Bundle — Save Big
Loading...
Back to top