外贸电子商务中。选择合适的支付方式很重要。而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=”isBillingAddreequired” 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”
2。启用付款方式后。可以在检出产品时将其显示在前端:
本文地址:https://gpu.xuandashi.com/34137.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!