Code Monkey home page Code Monkey logo

magento2-one-click-checkout's Introduction

THIS PROJECT IS ABANDONED

This was something fun I built over a weekend after hearing Amazon's patent had expired. The Magento core team has created there own version to be included in a future release of v2.2 and beyond. If you want this feature on the your Magento store you SHOULD wait for the core release and NOT install this module.

Magento 2 One Click Checkout

Add one click checkout option for logged in customers.

Description

This module adds a button for "One Click Checkout" to the product view page for customers meeting the following criteria:

  • Customer MUST be logged in
  • Customer MUST have default shipping and billing address
  • Customer MUST have default vault payment method selected

Clicking the "One Click Checkout" button initiates and completes the transaction on the product view page. Once complete, a modal displays a link to the order view page and a summary of the order totals.

Installation

composer install pmclain/module-one-click-checkout:dev-master
bin/magento setup:upgrade

Configuration

Module settings are found in:
Stores->Configuration->Checkout->One Click Checkout

  • Enabled: Enables/Disables One Click Checkout
  • Shipping Method: The shipping method used for all One Click Checkout orders
  • Set Default Payment Methods: Sets the default payment method for all customers without a default payment. The last stored payment method for is set as default.

Compatibility

Compatible Payment Modules

Adding a new Vault Payment Provider

  1. Create class implementing Pmclain\OneClickCheckout\Api\VaultSourceInterface. The returned array should include the vault method code and any additional information required by the method's gateway request builders. The Braintree source can be referenced as an example, Pmclain\OneClickCheckout\Model\VaultSource\Braintree.
  2. Add the new VaultSource to the VaultPool in di.xml
<type name="Pmclain\OneClickCheckout\Model\VaultPool">
    <arguments>
        <argument name="vaultSourceMap" xsi:type="array">
            <item name="{{NON_VAULT_METHOD_CODE}}" xsi:type="object">{{VaultSourceClass}}</item>
        </argument>
    </arguments>
</type>
  1. Update card renderer template via Vendor/Module/view/frontend/layout/vault_cards_listaction.xml
<referenceBlock name="{{RENDERER_BLOCK_NAME}}">
    <action method="setTemplate">
        <argument name="template" xsi:type="string">Pmclain_OneClickCheckout::customer_account/credit_card.phtml</argument>
    </action>
</referenceBlock>

Magento Version Requirements

Release Magento Version
0.1.x 2.2.x
0.1.x 2.1.x
Nope 2.0.x

Screenshots

Order Button Button

Order Confirmation Confirmation

Order Placement Error Error

Customer Card Management Card Management

Admin Configuration Admin Config

License

GNU GENERAL PUBLIC LICENSE Version 3

magento2-one-click-checkout's People

Contributors

pmclain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.