One Click Checkout - Magento 2
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., (*1)
Add one click checkout option for logged in customers., (*2)
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, (*3)
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., (*4)
composer install pmclain/module-one-click-checkout:dev-master
bin/magento setup:upgrade
, (*5)
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., (*6)
Compatible Payment Modules * Magento_Braintree (included with Magento) * Pmclain_Stripe * Pmclain_AuthorizenetCim, (*7)
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, (*8)
<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>
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>
Release | Magento Version |
---|---|
0.1.x | 2.2.x |
0.1.x | 2.1.x |
Nope | 2.0.x |
Order Button , (*9)
Order Confirmation , (*10)
Order Placement Error , (*11)
Customer Card Management , (*12)
Admin Configuration , (*13)
GNU GENERAL PUBLIC LICENSE Version 3, (*14)