Magento教程:在Magento 2创建支付方式的步骤

RAKsmart美国服务器活动 BlueHost优惠码 Hostinger主机优惠

外贸电子商务中,选择合适的支付方式很重要,而Magento作为一套专业热门的开源的电子商务系统,是可以直接设置创建支付方式的,安全即可靠。本文,主要为大家介绍如何在Magento 2中创建支付方式的教程步骤。

1、在app/code/Alwayly/CustomPayment/registration.php中创建registration.php文件,加入代码:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::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>Alwayly\CustomPayment\Model\PaymentMethod</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>Magento\Config\Model\Config\Source\Yesno</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 Alwayly\CustomPayment\Model;

/**
* Pay In Store payment method model
*/
class PaymentMethod extends \Magento\Payment\Model\Method\AbstractMethod
{
/**
* 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 class=”payment-method” data-bind=”css: {‘_active’: (getCode() == isChecked())}”>
<div class=”payment-method-title field choice”>
<input type=”radio”
name=”payment[method]”
class=”radio”
data-bind=”attr: {‘id’: getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()”/>
<label data-bind=”attr: {‘for’: getCode()}” class=”label”><span data-bind=”text: getTitle()”></span></label>
</div>
<div class=”payment-method-content”>
<!– ko foreach: getRegion(‘messages’) –>
<!– ko template: getTemplate() –><!– /ko –>
<!–/ko–>
<div class=”payment-method-billing-address”>
<!– ko foreach: $parent.getRegion(getBillingAddressFormName()) –>
<!– ko template: getTemplate() –><!– /ko –>
<!–/ko–>
</div>
<div class=”checkout-agreements-block”>
<!– ko foreach: $parent.getRegion(‘before-place-order’) –>
<!– ko template: getTemplate() –><!– /ko –>
<!–/ko–>
</div>
<div class=”actions-toolbar”>
<div class=”primary”>
<button class=”action primary checkout”
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”

选择“YES”

2、启用付款方式后,可以在检出产品时将其显示在前端:

启用付款方式

(本文由美国主机侦探原创,转载请注明!)

微信扫码加好友进群

主机优惠码及时掌握

QQ群号:164393063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。QQ:800013301

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

返回顶部