Add the W3C payment request on Magento 2

Overview

Payment Request API for Magento 2

About

This Magento Extension will allow you to use the W3C's payment request api for checkout in Magento 2.

The Payment Request Api uses the in-browser stored data to provid all the required information to complete an order, it will get the available addresses, contact info and payment methods that are saved in your browser.

The Payment Request API is meant to reduce the number of steps needed to complete a payment online, potentially doing away with checkout forms. This can help to improve Conversion as well as Revenue Per Visitor particularly on mobile.

enter image description here

Installation

You can install this package using composer:

composer require imaginationmedia/magento2-payment-request

Configuration

This extension adds a section inside the Sales > Payment Methods on Magento admin for configuration.

You can enable the Payment Request Api using one of the available modes. The first mode will replace all the checkout buttons, opening the Payment Request popup instead of redirecting to the Magento checkout page (when the browser supports the payment request api). The second mode is just a button that is added to the cart page, allowing the customer to checkout through the payment request api.

enter image description here

The available payment methods at the moment are PayPal Express and Debit/Credit card.

PayPal Express is not ready for production use, the integration is still under development, but at this point we can see the option as one of the available payment methods. In the near future it will be available for production use.

The Debit/Credit card option can be integrated with any payment provider, at this point we have Braintree ready to be used. In the Payment Request Api config there is an option where we choose the Magento payment method that will be used to process the debit/credit cart payments.

enter image description here

We also have options to setup the available card flags and the card types (debit, credit, or both).

Supported Browsers

You can check a list with all the supported browsers here.

Enabling multiple payments

If you enable multiple payment methods on payment request api, if one of those is credit/debit card it will show you only this option.

To see multiple payment methods you need to enable the Web Payments Experimental Features in your Google Chrome. To do that access this url in your browser chrome://flags/#enable-web-payments-experimental-features and enable that option. Restart your browser and you will be able to see all multiple payment methods.

You also need Chrome 79 or newest to be able to enable this option.

Demo

We have a demo website where you can test the Payment Request Api module. The demo website is available at https://innovations.imaginationmedia.com/.

License

This is a Magento Community Engineering project, lead by Imagination Media in partnership with PayPal and Mobile Optimization Initiative.

All code is under the OSL 3.0 license.

You might also like...
Magento 2 Module that adds Donation Product Type. Enables the customer to add a donation (product) of a preferred amount to the cart.
Magento 2 Module that adds Donation Product Type. Enables the customer to add a donation (product) of a preferred amount to the cart.

Magento 2 Module Experius DonationProduct (RC1.0) Demo website: https://donationproduct.experius.nl Magento Marketplace: https://marketplace.magento.c

Magento 2 extension. Strekoza_GoogleCategory. Add Category Attribute (field) - "Google Category"

Magento 2 extension. Strekoza_GoogleCategory Magento 2 extension. Add Category Attribute (field) - "Google Category" This exstension will add Category

❄️ Magento 2 Snowflake module allow you to add snow and even more on your site and make winter fun.

❄️ Magento 2 Snowflake module allow you to add snow and even more on your site and make winter fun.

Magento 2 custom extension to add custom attributes(longitude, latitude) to customer address

Magento 2 custom extension to add custom attributes(longitude, latitude) to customer address. Then save them to quote model and copy them from quote address to order address on bakend, frontend, rest api

Execute time consuming tasks as late as possible in a request

Procrastinator for PHP: do stuff later A few classes to help you executing complicated tasks (like sending mails) later. Example using fastcgi_finish_

Simple game server with php without socket programming. Uses the Api request post(json).

QMA server Simple game server with php without socket programming. Uses the Api request post(json). What does this code do? Register the user as a gue

SAPI request and response objects for PHP 8.1

Sapien This package provides server API (SAPI) request and response objects for PHP 8.1: Sapien\Request, composed of readonly copies of PHP supergloba

Harden request headers, login interface and passwords to increase backend security.

JvMTECH.NeosHardening Package for Neos CMS Harden request headers, login interface and passwords to increase backend security. Installation composer r

Simple loader to send request and read response from address.

Simple loader to send request and read response from address. Uses cURL extension. Composer package.

Comments
  • It doesn't work on Magento 2.4.0

    It doesn't work on Magento 2.4.0

    Just tested on Magento 2.4.0:

    root@server:/ $ composer require imaginationmedia/magento2-payment-request
    
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Using version ^1.0 for imaginationmedia/magento2-payment-request
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Installation request for braintree/braintree_php (locked at 4.5.0) -> satisfiable by braintree/braintree_php[4.5.0].
        - magento/module-braintree 100.3.0 requires php ~7.1.3||~7.2.0 -> your PHP version (7.3.19) does not satisfy that requirement.
        - magento/module-braintree 100.3.1 requires php ~7.1.3||~7.2.0 -> your PHP version (7.3.19) does not satisfy that requirement.
        - magento/module-braintree 100.3.2 requires php ~7.1.3||~7.2.0 -> your PHP version (7.3.19) does not satisfy that requirement.
        - magento/module-braintree 100.3.5 requires braintree/braintree_php 3.35.0 -> satisfiable by braintree/braintree_php[3.35.0].
        - magento/module-braintree 100.3.4 requires braintree/braintree_php 3.35.0 -> satisfiable by braintree/braintree_php[3.35.0].
        - magento/module-braintree 100.3.3 requires braintree/braintree_php 3.35.0 -> satisfiable by braintree/braintree_php[3.35.0].
        - Conclusion: don't install imaginationmedia/magento2-payment-request 1.0.1|install braintree/braintree_php 3.35.0
        - Conclusion: don't install braintree/braintree_php 3.35.0
        - imaginationmedia/magento2-payment-request 1.0.0 requires magento/module-braintree >=100.3 -> satisfiable by magento/module-braintree[100.3.5, 100.3.4, 100.3.3, 100.3.2, 100.3.1, 100.3.0].
        - Installation request for imaginationmedia/magento2-payment-request ^1.0 -> satisfiable by imaginationmedia/magento2-payment-request[1.0.0, 1.0.1].
    
    
    Installation failed, reverting ./composer.json to its original content. 
    
    opened by kamzata 1
  • It does not work anymore in Magento 2.3.5

    It does not work anymore in Magento 2.3.5

    It doesn't work and it throws this error on console:

    Uncaught TypeError: Failed to construct 'PaymentRequest': At least one payment method is required
        at Object.init (paymentRequest.js:230)
        at HTMLButtonElement.<anonymous> ((index):541)
        at HTMLButtonElement.dispatch (jquery.js:5232)
        at HTMLButtonElement.elemData.handle (jquery.js:4884)
    
    bug 
    opened by kamzata 5
Releases(1.0.1)
Owner
Imagination Media - Ecommerce Solutions
E-Commerce Solutions
Imagination Media - Ecommerce Solutions
The whmcs payment module for TigoPesa Payment Gateway.

whmcs-tigopesa INSTALLATION INSTRUCTIONS TIGOPESA WHMCS Please follow the instructions below to setup the whmcs-tigopesa gateway module. Download zipp

Medson Naftali 3 Dec 11, 2021
The Laravel eCommerce Accept Payment Gateway allows the customer to make use of Accept payment gateway in the Bagisto eCommerce website.

Introduction Bagisto WeAccept add-on allow customers to pay for others using WeAccept payment gateway. Requirements: Bagisto: 1.3.2 Installation with

Bagisto 2 May 31, 2022
The Laravel eCommerce ABA Payment Gateway module allows the admin to integrate the ABA payment gateway to the online store.

Introduction Bagisto ABA Payment Gateway. Requirements: Bagisto: v1.3.2. Installation with composer: Run the following command composer require bagist

Bagisto 3 May 31, 2022
With the help of the Laravel eCommerce CashU Payment Gateway, the admin can integrate the CashU payment method in the Bagisto store.

Introduction Bagisto CashU Payment add-on allow customers to pay for others using CashU payment gateway. Requirements: Bagisto: v1.3.2 Installation wi

Bagisto 2 Aug 22, 2022
A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2

Simple Import / Export tool A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2. Table data

EcomDev B.V. 51 Dec 5, 2022
PAYONE Payment Extension for Magento 2

PAYMENT FOR YOUR MAGENTO 2-SHOP The PAYONE payment extension for Magento 2 is massively reworked since the first version. The Github-Community was imp

PAYONE GmbH 27 Nov 10, 2022
Easily add logs anywhere in your Magento 2 code

Magento 2 Simple Log Easily add logs anywhere in the code (like Magento 1). Requirements Requires Magento 2 in any version. Installation Add the Log.p

Matthieu Vion 19 Dec 27, 2021
Magento 2 Module to add simple image resizing capabilities in all blocks and .phtml templates

Magento 2 Image Resizer Magento 2 Module to add simple image resizing capabilities in all blocks and .phtml templates Installation $ composer require

Stämpfli AG 88 Apr 18, 2022