gpt4 book ai didi

Magento 自定义支付网关

转载 作者:行者123 更新时间:2023-12-02 02:05:50 26 4
gpt4 key购买 nike

我正在尝试为 Magento 编写一个自定义支付网关。该模块在管理后端(系统 - 配置 - 付款方式)中被识别,但在前端到达“付款信息”时,没有出现选择该模块的选项。

下面包含我创建的三个 XML 文件以及它们所在的目录。

任何帮助将不胜感激。谢谢。

root/app/etc/modules/Namespace_Module

<?xml version="1.0"?>

<config>
<modules>
<Namespace_Module>
<active>true</active>
<codePool>local</codePool>
</Namespace_Module>
</modules>
</config>

root/app/code/local//Namespace/Module/etc/config.xml

<?xml version="1.0"?>

<config>
<modules>
<Namespace_Module>
<version>0.1.0</version>
</Namespace_Module>
</modules>

<global>

<models>
<alias>
<class>Namespace_Module_Model</class>
</alias>
</models>

<resources>
<alias_setup>
<setup>
<module>Namespace_Module</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</alias_setup>

<alias_write>
<connection>
<use>core_write</use>
</connection>
</alias_write>

<alias_read>
<connection>
<use>core_read</use>
</connection>
</alias_read>
</resources>

</global>

root/app/code/local//Namespace/Module/etc/system.xml

<?xml version="1.0"?>

<config>
<sections>
<payment>
<groups>
<alias translate="label">
<label>Module</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>

<fields>

<active translate="label">
<label>Enabled: </label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</active>

<title translate="label">
<label>Title: </label>
<frontend_type>text</frontend_type>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</title>

<host translate="label">
<label>Host Address: </label>
<frontend_type>text</frontend_type>
<sort_order>3</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</host>

<port translate="label">
<label>Port Number: </label>
<frontend_type>text</frontend_type>
<sort_order>4</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</port>

<cctypes translate="label">
<label>Credit Card Types: </label>
<frontend_type>multiselect</frontend_type>
<source_model>adminhtml/system_config_source_payment_cctype</source_model>
<sort_order>5</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</cctypes>

<useccv translate="label">
<label>Credit Card Verification: </label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>6</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</useccv>

</fields>
</alias>
</groups>
</payment>
</sections>

最佳答案

您在system.xml中设置的值是全局Magento配置值。支付模块需要包含一个名为 model 的配置字段,它指定负责支付逻辑的 PHP 类。看看

app/code/core/Mage/Payment/etc/system.xml

通常,模块将其设为隐藏配置字段,然后在 config.xml 中提供默认值。考虑来自 Mage/Payment/etc/config.xml

的这段 XML
<default>
<payment>
<ccsave>
<active>1</active>
<cctypes>AE,VI,MC,DI</cctypes>
<model>payment/method_ccsave</model>
<order_status>pending</order_status>
<title>Credit Card (saved)</title>
<allowspecific>0</allowspecific>
<group>offline</group>
</ccsave>

他们在这里设置了一个 payment/method_ccsave 模型。这是对应于 PHP Model 类的类别名

Mage_Payment_Model_Method_Ccsave

您的配置似乎缺少此类,这是您的付款选项未出现的原因之一。

关于Magento 自定义支付网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6237317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com