Easy return - no questions asked
Install, set up and take profit
Priority Help & Satisfaction Over Sales
MPR Checkout Revolution
Streamline Your Checkout with One-Page Express Payment
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.
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
-
Referencemprcheckoutrevolution
-
In stock999 Items
-
PrestaShop CompatibilityPS 1.7 – 9.x
-
Pricing ModelOne-time Purchase
-
Module TypeFront & Back-office
-
GDPR RelevantNo
-
Business GoalBoost Conversions
-
External Account NeededNo
-
Module ComplexityFeature-Rich Module
-
Customer Journey StageConvert to Buyers
-
Works With PlatformNo 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
- Key Features
- Payment Methods
- Icon Theming System
- Architecture
- Database Schema
- Development
- Configuration
- Frontend Controllers
- Admin Controllers
- Integration Points
- Quote/RFQ System
- Future Roadmap
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:
- Google Pay - Google digital wallet (Chrome browser)
- Apple Pay - Apple digital wallet (Safari/iOS)
- Card - Visa, Mastercard, Amex, JCB, Cartes Bancaires
- PayPal - PayPal wallet and account payments
- Amazon Pay - Amazon account payments
- Link - Stripe Link (saved payment details)
- Samsung Pay - Samsung digital wallet
- Revolut - Revolut digital wallet
European Bank Methods (9 methods)
Regional bank payment methods popular in Europe:
- iDEAL - Netherlands bank transfer (EUR only)
- Bancontact - Belgian bank payment (EUR only)
- BLIK - Polish mobile payment (PLN only)
- Przelewy24 - Polish online banking (PLN, EUR)
- EPS - Austrian bank transfer (EUR only)
- Multibanco - Portuguese payment system (EUR only)
- Twint - Swiss mobile payment (CHF only)
- Satispay - Italian mobile payment (EUR only)
- MobilePay - Nordic mobile payment (DKK, NOK, SEK, EUR)
Asian Payment Methods (5 methods)
Popular payment methods in Asian markets:
- Alipay - Chinese digital wallet (CNY, EUR, GBP, USD)
- WeChat Pay - Chinese mobile payment (CNY, EUR, GBP, USD)
- Kakao Pay - Korean mobile payment (KRW only)
- Naver Pay - Korean payment platform (KRW only)
- Payco - Korean digital wallet (KRW only)
Buy Now Pay Later (4 methods)
Installment and deferred payment solutions:
- Klarna - BNPL in 11 currencies (EUR, USD, GBP, SEK, NOK, DKK, CHF, PLN, AUD, NZD, CAD)
- Afterpay / Clearpay - BNPL in 6 currencies (USD, CAD, AUD, NZD, GBP, EUR)
- Alma - French BNPL (EUR, 10 European countries)
- Billie - B2B BNPL (EUR, 7 European countries)
Bank Transfers & Direct Debit (1 method)
Direct bank account payments:
- SEPA Debit - European direct debit (EUR only)
Manual/Offline Methods (4 methods)
Traditional payment methods processed offline:
- Bank Transfer - Manual bank wire transfer
- Cash on Delivery (COD) - Pay on delivery
- Credit Account - Trade account with credit terms
- 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)
- Light Mode - Light backgrounds with dark text
- Dark Mode - Dark backgrounds with light text
- Light Accent - Light backgrounds with brand color accents
- Dark Accent - Dark backgrounds with brand color accents
Icon Shapes (2 aspect ratios)
- Rectangle - Wide format for checkout pages and payment options lists
- 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
_langtable
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
_langtable - 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-toolscontainer) - 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:
- Dashboard - Transaction overview and statistics
- Configuration - Stripe API keys, payment method settings, icon themes
- Transactions - All payment transactions with filters
- Charges - Stripe charge details and fees
- Refunds - Refund management interface
- Payment Options - Enable/disable methods, set restrictions
- Payment Methods - Customer saved payment methods
- Social Customers - Social login registrations
- Carts - Express checkout cart sessions
- Sessions - Traffic and attribution tracking
- Shipping Services - Carrier configuration
- Quotes - Quote management and creation
- Quote Statuses - Customize quote workflow statuses
- 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 pagesdisplayProductActions- Alternative button placement
Cart Hooks:
displayShoppingCart- Express checkout in cartdisplayShoppingCartFooter- Cart footer buttons
Checkout Hooks:
displayPaymentReturn- Order confirmation messagingpaymentOptions- Add payment methods to checkoutdisplayOrderConfirmation- Post-order actions
Customer Hooks:
actionAuthentication- Post-login actionsactionCustomerAccountAdd- Post-registration actionsactionObjectCustomerUpdateAfter- Customer data sync
Order Hooks:
actionValidateOrder- Order creation trackingactionOrderStatusUpdate- Sync order status with StripedisplayAdminOrder- Admin order page additions
Header/Footer Hooks:
displayHeader- Load Stripe.js and module assetsdisplayFooter- 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:
- Pending - Initial quote request from customer
- Draft - Admin is preparing the quote
- Sent - Quote sent to customer for review
- Negotiating - Customer requested changes, discussion ongoing
- Accepted - Customer accepted the quote
- Rejected - Customer declined the quote
- Expired - Quote validity period passed
- Converted - Quote converted to order
- 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 pagesdisplayShoppingCartFooter- "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
Easy return - no questions asked
Install, set up and take profit
Priority Help & Satisfaction Over Sales
No reviews yet. Be the first to leave a review!
Write a Review