loki-checkout / magento2-buckaroo
N/A
Fund package maintenance!
yireo
www.paypal.me/yireo
Installs: 55
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:magento2-module
pkg:composer/loki-checkout/magento2-buckaroo
Requires
- ext-json: *
- ext-pcre: *
- buckaroo/magento2: ^1.50
- loki-checkout/magento2-core: ^2.0
- loki/magento2-components: ^2.0
- loki/magento2-css-utils: ^1.0
- loki/magento2-field-components: ^2.0
- magento/framework: ^103.0
- magento/module-store: ^101.0
Requires (Dev)
README
This Magento 2 module is an add-on package for adding support for the payment solution of Buckaroo to the LokiCheckout.
Installation
Install this package via composer:
composer require loki-checkout/magento2-buckaroo
Next, enable this module:
bin/magento module:enable LokiCheckout_Buckaroo Buckaroo_Magento2 bin/magento setup:upgrade
Extending payment methods
By default, most payment methods are supported. If a new payment method is added via the Buckaroo_Magento2 module, it depends on the method whether or not, the LokiCheckout_Buckaroo module needs to be extended. If the method deals with a simple redirect, it just works. If additional input fields are required and they don't exist in the Loki Checkout, most likely the error Structure validation of XML failed. The SOAP request structure does not conform to the specification is given.
To add additional fields, create a new block loki-checkout.payment.methods.buckaroo_magento2_FOOBAR.form in the XML layout, where buckaroo_magento2_FOOBAR equals the payment method code. Check the layout file loki_checkout_block_payment_methods.xml for more examples.
Make sure the block loki-checkout.payment.methods.buckaroo_magento2_FOOBAR.form is registered as a Loki Component via the file etc/loki_components.xml. Also create a corresponding Component ViewModel and Component Repository. Note that each alias (as) of additional Buckaroo field in the XML layout (see loki_checkout_block_payment_methods.xml) - for example customer_DoB - corresponds with the property name - for example customer_DoB - that is saved to the quote via the AdditionalInformationRepository class.
Which fields need to be added? Each payment method is backed by a class in the PHP namespace Buckaroo\Magento2\Model\Method. Within such a method class, the XML construction is initiated, giving evidence of what kind of fields are needed. For example, the code segment $payment->getAdditionalInformation('customer_email') suggests that a field customer_email should be created.