pmclain/module-one-click-checkout v0.1.1

One Click Checkout - Magento 2

Type

magento2-module

License

GPL-3.0

Requires
Requires (dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

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 * Magento_Braintree (included with Magento) * Pmclain_Stripe * Pmclain_AuthorizenetCim

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