外贸电子商务中,选择合适的支付方式很重要,而Magento作为一套专业热门的开源的电子商务系统,是可以直接设置创建支付方式的,安全即可靠。本文,主要为大家介绍如何在Magento 2中创建支付方式的教程步骤。
1、在app/code/Alwayly/CustomPayment/registration.php中创建registration.php文件,加入代码:
?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
‘Alwayly_CustomPayment’,
__DIR__
);
2、在app/code/Alwayly/CustomPayment/etc/module.xml中创建module.xml文件,加入代码:
?xml version=”1.0″?
config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:framework:Module/etc/module.xsd”
module name=”Alwayly_CustomPayment” setup_version=”1.0.0″
/module
/config
3、在app/code/Alwayly/CustomPayment/etc/config.xml中创建config.xml文件,加入代码:
?xml version=”1.0″?
config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”../../Store/etc/config.xsd”
default
payment
custompayment
payment_action authorize /payment_action !– You can use another method –
model AlwaylyCustomPaymentModelPaymentMethod /model
active 1 /active
title Custom Payment /title
order_status pending_payment /order_status !– set default order status–
/custompayment
/payment
/default
/config
4、在app/code/Alwayly/CustomPayment/etc/adminhtml/system.xml中创建system.xml文件,加入代码:
?xml version=”1.0″?
config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:module:Magento_Config:etc/system_file.xsd”
system
section id=”payment”
group id=”custompayment” translate=”label” sortOrder=”100″ showInDefault=”1″ showInWebsite=”1″ showInStore=”1″
label Custom Payment Method /label
field id=”active” translate=”label comment” sortOrder=”10″ type=”select” showInDefault=”1″ showInWebsite=”1″ showInStore=”0″
label Enable /label
source_model MagentoConfigModelConfigSourceYesno /source_model
/field
field id=”title” translate=”label” type=”text” sortOrder=”20″ showInDefault=”1″ showInWebsite=”1″ showInStore=”1″
label Custom Payment /label
/field
/group
/section
/system
/config
5、在app/code/Alwayly/CustomPayment/Model/PaymentMethod.php中创建PaymentMethod.php文件,加入代码:
?php
namespace AlwaylyCustomPaymentModel;
/**
* Pay In Store payment method model
*/
class PaymentMethod extends MagentoPaymentModelMethodAbstractMethod
{
/**
* Payment code
*
* @var string
*/
protected $_code = ‘custompayment’;
}
6、在app/code/Alwayly/CustomPayment/view/frontend/layout/checkout_index_index.xml中创建checkout_index_index.xml文件,加入代码:
?xml version=”1.0″?
page xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:framework:View/Layout/etc/page_configuration.xsd”
body
referenceBlock name=”checkout.root”
arguments
argument name=”jsLayout” xsi:type=”array”
item name=”components” xsi:type=”array”
item name=”checkout” xsi:type=”array”
item name=”children” xsi:type=”array”
item name=”steps” xsi:type=”array”
item name=”children” xsi:type=”array”
item name=”billing-step” xsi:type=”array”
item name=”component” xsi:type=”string” uiComponent /item
item name=”children” xsi:type=”array”
item name=”payment” xsi:type=”array”
item name=”children” xsi:type=”array”
item name=”renders” xsi:type=”array”
!– merge payment method renders here –
item name=”children” xsi:type=”array”
item name=”custompayment” xsi:type=”array”
item name=”component” xsi:type=”string” Emipro_Custompayment/js/view/payment/method-renderer /item
item name=”methods” xsi:type=”array”
item name=”custompayment” xsi:type=”array”
item name=”isBillingAddressRequired” xsi:type=”boolean” true /item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/item
/argument
/arguments
/referenceBlock
/body
/page
7、在app/code/Alwayly/CustomPayment/view/frontend/web/js/view/payment/method-renderer.js上创建method-renderer.js文件,加入代码:
define(
[
‘uiComponent’,
‘Magento_Checkout/js/model/payment/renderer-list’
],
function (
Component,
rendererList
) {
‘use strict’;
rendererList.push(
{
type: ‘custompayment’,
component: ‘Alwayly_CustomPayment/js/view/payment/method-renderer/custompayment’
}
);
return Component.extend({});
}
);
8、在app/code/Alwayly/CustomPayment/view/frontend/web/js/view/payment/method-renderer/custompayment.js上创建custompayment.js文件,加入代码:
define(
[
‘Magento_Checkout/js/view/payment/default’
],
function (Component) {
‘use strict’;
return Component.extend({
defaults: {
template: ‘Alwayly_CustomPayment/payment/customtemplate’
}
});
}
);
9、在app/code/Alwayly/CustomPayment/view/frontend/web/template/payment/customtemplate.html上创建customtemplate.html文件,加入代码:
div > div > input type=”radio”
name=”payment[method]”
> data-bind=”attr: {‘id’: getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()”/
label data-bind=”attr: {‘for’: getCode()}” > /div
div > !– ko foreach: getRegion(‘messages’) –
!– ko template: getTemplate() – !– /ko –
!–/ko–
div > !– ko foreach: $parent.getRegion(getBillingAddressFormName()) –
!– ko template: getTemplate() – !– /ko –
!–/ko–
/div
div > !– ko foreach: $parent.getRegion(‘before-place-order’) –
!– ko template: getTemplate() – !– /ko –
!–/ko–
/div
div > div > button > type=”submit”
data-bind=”
click: placeOrder,
attr: {title: $t(‘Place Order’)},
css: {disabled: !isPlaceOrderActionAllowed()},
enable: (getCode() == isChecked())
”
disabled
span data-bind=”i18n: ‘Place Order'” /span
/button
/div
/div
/div
/div
到此,就完成了在Magento 2商店中创建自定义付款方式的步骤。接下来就可以启用付款方式,步骤如下:
1、如图所示,选择“YES”
2、启用付款方式后,可以在检出产品时将其显示在前端:
来源:idcspy.com/23947.html
本站声明:内容来源于网络,内容不代表本站立场,仅供阅读参考,文章版权归原作者“本公司cmy.cn”所有。如有侵权,请联系我们删除。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和介绍为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们56dr_com,同时欢迎投稿传递力量。
本文从“特网科技(56dr.com)”转载,原作者保留一切权利,若侵权请联系删除。