mozgbrasil / magento-cielo-php_54
与Cielo集成
Requires
This package is auto-updated.
Last update: 2024-09-05 16:56:41 UTC
README
Mozg\Cielo
简介
集成到Cielo 3.0
动机
满足市场对Magento模块的需求,提供改进和优秀的支持
演示视频
支持/疑问
要获得适当的支持,请点击这里,尽可能详细地描述问题发生的原因,并附上屏幕截图以便我们理解
价格
模块资源
- [✓] 交易
- [✓] 查询
- [✓] 捕获
- [✓] 退款
- [✓] 取消
技术特性
在结账时进行授权流程
收到“交易已授权”的返回时,将重定向到成功页面
在成功页面上,会发送信息到交易通知资源
通过CRON处理交易通知
在处理通知时,如果支付已确认,则将订单的“状态/状态”更改为“processing”,即“处理中”,以释放处理账单和发货的操作
捕获交易应通过访问Magento中的账单并单击“捕获”按钮来完成,如果通过Cielo系统进行捕获,则在使用Cielo API进行查询时,不应在Magento中显示“支付已确认”状态
在发货商品之前,始终检查订单信息,如果显示交易状态为已确认支付,包括金融运营商,如果存在不一致的情况,则必须取消订单直到问题得到纠正
当订单发货时,状态将更改为“complete”,即“完成”
已实现每5分钟查询一次交易状态以更新订单状态的自动化
设置Cron
点击这里查看MOZG文档
确保每分钟执行一次操作
此模块使用cronjob处理通知
模块执行至少5分钟前接收到的通知
在Heroku上测试
我想展示我提供给Heroku平台的程序
只需单击一次,该程序即可创建一个使用电子商务平台Magento的虚拟商店并安装MOZG模块
https://github.com/mozgbrasil/heroku-magento#descrição
安装 - 更新 - 卸载 - 禁用
--
建议“打印”所有执行步骤的屏幕
如有任何困难,请将屏幕图像发给我们
--
此模块旨在使用Composer安装
在终端中执行以下命令,以查看Composer的存在及其版本
composer --version
如果您的环境中没有Composer,建议阅读以下文章点击这里
--
服务器需要支持ionCube PHP Loader扩展。
要查看PHP CLI环境中是否存在该扩展,请在终端执行以下命令
php -v
要查看在PHP WEB环境中该扩展是否已激活
请确认在项目根目录下是否存在phpinfo.php文件
<?php phpinfo(); ?>
如果项目根目录下没有phpinfo.php文件,请创建该文件并添加上述内容
通过浏览器访问该文件
然后搜索“ionCube PHP Loader”
如果服务器不支持该扩展,请联系您的托管公司并要求他们激活该扩展
如果您有权限并希望激活该扩展,请点击此处
在“Loader Downloads API”中,下载与您的服务器兼容的包
解压包并将“loader-wizard.php”文件上传到您的服务器,该文件将演示激活扩展的步骤
点击此处查看执行过程
--
在存在“ionCube PHP Loader”的情况下,下载以下文件并将其放置在服务器根目录下,然后访问它。如果它工作正常,则表示“ionCube”正在读取此类加密
--
要使用MOZG模块,需要接受最终用户许可协议
--
建议创建一个测试环境进行测试,并且只在测试通过后,再将相应的步骤应用到生产环境中
--
建议备份Magento平台和数据库
--
在执行任何Magento更新之前,始终保持编译器和缓存处于禁用状态
--
请确认在项目根目录下存在composer.json文件,并且其参数与以下JSON模型类似
{
"minimum-stability": "dev",
"prefer-stable": true,
"license": [
"proprietary"
],
"repositories": [
{
"type": "composer",
"url": "https://packages.firegento.com"
}
],
"extra": {
"magento-root-dir": "./",
"magento-deploystrategy": "copy",
"magento-force": true
}
}
如果项目根目录下不存在composer.json文件,请创建该文件并添加上述内容
要在服务器终端安装模块,请执行以下命令
composer require mozgbrasil/magento-cielo-php_54:dev-master
您可以通过进入后端来检查模块是否已安装
STORES -> Configuration -> ADVANCED/Advanced -> Disable Modules Output
--
要更新模块,请在服务器终端执行以下命令
在执行任何涉及Magento更新的过程之前,建议保持编译器和缓存处于禁用状态
composer update
在发生错误时,请重命名/vendor/mozgbrasil文件夹并重新执行
要检查模块的日期,请执行以下命令
grep -ri --include=*.json 'time": "' ./vendor/mozgbrasil
--
要卸载模块,请在服务器终端执行以下命令
composer remove mozgbrasil/magento-cielo-php_54
--
要禁用模块
-
在执行任何涉及Magento更新的过程之前,需要保持编译器和缓存处于禁用状态
-
如果您想禁用MOZG模块,请重命名以下文件夹app/code/local/Mozg
模块的禁用可以用来检测特定事件是否与模块相关
如何配置支付方式
要配置支付方式,请访问后端
STORES -> Configuration -> Sales/Payment Methods -> Cielo (powered by MOZG)
您将看到以下字段
Cielo API 3.0 - 默认设置
必需的设置
• 测试模式或生产模式
应指定相应环境
• 测试环境的商户ID
请在以下环境中注册以获取集成数据,如:MerchantId和MerchantKey
https://cadastrosandbox.cieloecommerce.cielo.com.br/
• 测试环境的商户密钥
请在以下环境中注册以获取集成数据,如:MerchantId和MerchantKey
https://cadastrosandbox.cieloecommerce.cielo.com.br/
• 生产环境的商户ID
这些信息应由Cielo提供
• 商户密钥生产环境
这些信息应由Cielo提供
• Cielo结账商户ID
这些信息应由Cielo提供
高级:Magento订单处理
• 订单状态:创建订单
新创建订单的状态,在运营商服务器通知支付结果确认之前
• 订单状态:支付授权
运营商授权通知确认后的订单状态
• 订单状态:支付确认
运营商授权通知确认后的订单状态
• 订单状态:订单取消
运营商取消通知确认后的订单状态
如果订单已经开账,则无法取消
• 订单状态:支付捕获(虚拟产品)
仅选择分配给完成状态的属性,为使用与普通产品相同的状态留空
• 订单状态:已退款
运营商退款通知确认后的订单状态
• 订单状态:部分退款
运营商部分退款通知确认后的订单状态。我们建议不要定义此状态,让Magento自行决定状态。
• 订单状态:待处理订单
运营商待处理通知后的订单状态
• 创建待处理账单(仅适用于手动捕获)
如果收到授权通知,则会创建一个待处理账单。
注意:一旦创建账单,将使Magento将所有订单推至“处理”状态,忽略所有其他设置。
• 捕获类型
需要使用该自动化执行通过CRON执行的支付通知处理时,应选择“自动”选项。
需要手动捕获交易时,应选择“手动”选项。此操作通过访问订单账单并单击“捕获”按钮完成。
• 订单状态:发货时捕获
如果您启用此功能,则在发货时将向运营商发出捕获请求。
• 启用取消订单
如果订单因某些原因被取消,但收到支付已授权的通知,则将自动取消订单。
• 订单取消时自动退款/部分退款
启用/禁用取消订单时的自动退款
• 账单电子邮件
启用/禁用电子邮件更新
• 发送订单状态通知电子邮件
启用/禁用所有订单状态更改的更新电子邮件以发送给客户
• 启用调试日志
模块过程应存储在var/log/
文件
DATE_mozg.log
这是模块日志,是一个包含所有过程(包括模块外部库执行的执行)的更详细日志
文件
payment_METHOD.log
高级:Cielo通知
• 忽略退款通知
如果退款在运营商处进行,并且运营商向Magento发送退款通知,则应自动创建一个贷项通知。如果您将此配置设置为“是”,则不会发生这种情况,因为它不会处理收到的任何退款通知。
高级:结账体验
• 取消后重定向目标
确定在取消支付后买家将被重定向到何处。
• 支付方式渲染方法
确定支付方式是否将显示其标志或仅显示名称。
• 本地语言(可选)
这将会替换掉默认的Magento存储的客户端地区。
留空以便让Magento决定(例如:nl_NL)
• ISO国家代码(可选)
这将会替换掉买家账单地址的国家,以确定将显示哪些支付方式。
Cielo信用卡
• 激活
用于“激活”或“禁用”该方法的使用
• 显示顺序
这是在订单关闭步骤中显示的配送方式顺序
• 标题
要显示的该方法名称
• 适用于国家的支付方式
您可以选择该方法是否适用于“所有接受的国家”或“指定国家”
• 特定国家的支付方式
您必须选择该方法应功能的国家
• 信用卡类型
选择运营商授权的标志
• 创建配送
如果您启用此选项,则在创建发票时将自动创建一个配送
• 可见性
确定此支付方式在前端和/或后端中的可见性
• 验证
定义买家是否将被重定向到发卡行进行卡片验证
对于此选项,将发送ReturnUrl参数,不应适用于包含特殊字符的域名,根据Cielo的规定
对于后端创建的订单,不要激活此选项,因为它不应重定向到验证URL
• 欺诈分析
此功能仅适用于生产环境
• 激活分期付款
定义分期付款的使用
• 默认分期付款
在“货币”列中,请提供货币的缩写,例如BRL
在“总额(含)”列中,请提供分期付款的显示值
在“最大分期数”列中,请提供显示分期付款的最大数值
在“利率(% 0.0)”列中,请提供使用的利率
分期付款的显示规则是根据价格范围定义的
模块已预先配置,使用以下规则
在此规则中
介于R$ 0,00至R$ 100,00显示1期
介于R$ 101,00至R$ 200,00显示2期
介于R$ 201,00至R$ 600,00显示3期
介于R$ 601,00至R$ 800,00显示4期
介于R$ 801,00至R$ 10,000,00显示5期
介于R$ 10,000,00至R$ 100,000,00显示6期
根据您的需求进行修改
• 总金额为零时禁用
当报价总金额为0时,在结账时禁用此支付方式。
Cielo借记卡
• 激活
用于“激活”或“禁用”该方法的使用
• 显示顺序
这是在订单关闭步骤中显示的配送方式顺序
• 标题
要显示的该方法名称
• 适用于国家的支付方式
您可以选择该方法是否适用于“所有接受的国家”或“指定国家”
• 特定国家的支付方式
您必须选择该方法应功能的国家
• 借记卡类型
选择运营商授权的标志
• 可见性
确定此支付方式在前端和/或后端中的可见性
• 总金额为零时禁用
当报价总金额为0时,在结账时禁用此支付方式。
Cielo汇票
• 激活
用于“激活”或“禁用”该方法的使用
• 显示顺序
这是在订单关闭步骤中显示的配送方式顺序
• 标题
要显示的该方法名称
• 适用于国家的支付方式
您可以选择该方法是否适用于“所有接受的国家”或“指定国家”
• 特定国家的支付方式
您必须选择该方法应功能的国家
• 汇票类型
选择运营商授权的标志
• 订单未付款状态
使用汇票可以支付低于总金额的金额。如果适用,请选择此处状态。如果您留空,它将采用订单支付授权的默认状态
• 订单超额支付状态
使用Com Boleto可以支付超过总金额。如果适用,请在此处选择状态。如果您留空,则默认为已授权的支付订单状态
• 可见性
确定此支付方式在前端和/或后端中的可见性
Cielo电子转账
• 激活
用于“激活”或“禁用”该方法的使用
• 显示顺序
这是在订单关闭步骤中显示的配送方式顺序
• 标题
要显示的该方法名称
• 适用于国家的支付方式
您可以选择该方法是否适用于“所有接受的国家”或“指定国家”
• 特定国家的支付方式
您必须选择该方法应功能的国家
• 电子转账类型
选择运营商授权的标志
• 订单未付款状态
使用汇票可以支付低于总金额的金额。如果适用,请选择此处状态。如果您留空,它将采用订单支付授权的默认状态
• 订单超额支付状态
使用Com Boleto可以支付超过总金额。如果适用,请在此处选择状态。如果您留空,则默认为已授权的支付订单状态
• 可见性
确定此支付方式在前端和/或后端中的可见性
Cielo结账
• 激活
用于“激活”或“禁用”该方法的使用
• 显示顺序
这是在订单关闭步骤中显示的配送方式顺序
• 标题
要显示的该方法名称
• 适用于国家的支付方式
您可以选择该方法是否适用于“所有接受的国家”或“指定国家”
• 特定国家的支付方式
您必须选择该方法应功能的国家
• 账单上显示的名称
请输入账单上显示的名称
• 激活防欺诈
定义用途
• 订单未付款状态
使用汇票可以支付低于总金额的金额。如果适用,请选择此处状态。如果您留空,它将采用订单支付授权的默认状态
• 订单超额支付状态
使用Com Boleto可以支付超过总金额。如果适用,请在此处选择状态。如果您留空,则默认为已授权的支付订单状态
• 可见性
确定此支付方式在前端和/或后端中的可见性
常见问题解答 "FAQ"
模块安装后该做什么?
::
在
https://cadastrosandbox.cieloecommerce.cielo.com.br/
此处将提供您的MerchantId和MerchantKey
在方法中配置您的MerchantId和MerchantKey
测试目的,可以使用以下测试卡
http://mozg.com.br/dicas/dicas-magento1#cartões-de-crédito-para-testes
在测试环境中完成订单的最终结算,该环境将进行交易处理
如果显示了最终结算页面,则表示您的交易已处理
::
应向Cielo发送电子邮件,请求对该集成进行认证,并请求用于生产环境的数据
::
将以下电子邮件发送到cieloecommerce@cielo.com.br
主题:"商户编号:??? / 法人名称:??? / 关于:????"
A/C Suporte Cielo
Favor iniciar processo de homologação
Fico no aguardo dos dados do ambiente de produção para prosseguirmos com processo de homologação
Conforme imagem em anexo o processo está funcional sobre esse ambiente
- URL do produto
http://phpstack-97926-416875.cloudwaysapps.com/teste.html
- Usuário e Senha (caso seja necessário)
mailer@mozg.com.br / 123456
::
Cielo应发送包含相应程序的电子邮件
不要向Cielo发送包含签名和标志的电子邮件,因为这可能会被阻止
电子邮件正文应为空白,仅包含认证交互
发送电子邮件后30分钟内打电话确认是否收到邮件
Cielo在电话确认邮件时要求的数据(商户编号、法人名称和CNPJ)
::
关于“国际卡”
按照
Cielo接受国际卡,但交易以巴西雷亚尔“R$/BRL”处理
因此,商店的基本货币应为“R$/BRL”
以下是一个关于货币汇率的主题
http://mozg.com.br/dicas/dicas-magento1#cotação-de-moedas-magento-cambio
关于“通过电子邮件支付”
“通过电子邮件支付”的做法是在订单电子邮件或类似电子邮件中包含一个链接,供用户访问并完成支付
Cielo模块包含“Cielo结账”集成,允许此功能
如何取消订单
要取消订单,请访问先前创建的账单,然后单击“取消”按钮。然后访问订单并单击“取消”按钮
如何退款
访问先前创建的账单,然后单击“退款”按钮
注意。只有在完成抓取后,“退款”按钮才应显示
在订单视图中,单击“退款”按钮时,Magento只显示名为“离线退款”的按钮,单击该按钮时,仅对Magento执行退款操作
在订单账单视图中,单击“退款”按钮时,Magento应显示名为“离线退款”和“退款”的按钮。单击“退款”按钮将触发“在线”操作,即触发针对支付操作员的“取消”与订单相关的交易的操作
关于信用卡验证错误“信用卡卡号与卡类型不匹配”
在Magento中,信用卡验证是通过平台本身的原生脚本完成的
也就是说以下脚本
/js/prototype/validation.js
::
在这种情况下,我启用了 Magento 的“信用卡(已保存)”原生方法,该方法也使用原生验证器,其中所涉及的信用卡号码未通过验证器。
这种测试是为了检测问题是否来自第三方模块,或者是否与 Magento 相关。
::
我发现验证器没有正常工作,因为项目正在使用一个过时的 Magento 版本,该版本存在此验证问题。
项目正在使用 1.7.0.2 版本,而当前 Magento 的最新版本是 1.9.3.3。
如推荐,始终建议保持项目更新,以利用改进和修复。
::
我建议临时使用 Magento 1.9.3.3 的验证器,直到客户将项目更新到新的 Magento 版本。
https://raw.githubusercontent.com/firegento/magento/magento-1.9.3.3/js/prototype/validation.js
::
测试验证器的一种方法是以下:
-
在结账时不要输入任何内容,然后点击“完成订单”按钮,您会发现将触发验证器事件,指出未填写的情况。
-
在相应字段中输入信息,然后点击“完成订单”按钮,如果信息正确,验证器应该被处理,而不会显示警报。
::
如果您想测试所有品牌,请访问
https://mozg.com.br/dicas/dicas-magento1#cartões-de-crédito-para-testes
关于分期存储
对于支付方式:Braspag API V2 或 Cielo API 3.0 或 Redecard Komerci Webservice
分期选择在 Magento 中完成,并存储在 Magento 中。
要提取分期,我们可以使用以下模型脚本
$order = Mage::getModel('sales/order')->load('855');
$payment = $order->getPayment();
$additionaInformation = $payment->getData('additional_information');
$installment = $additionaInformation['number_of_installments'];
echo $installment;
::
对于支付方式:Checkout Cielo
分期选择在 Cielo 环境中完成。
在 Magento 的 /checkout/ 中不要求选择分期,因此我们没有在“订单信息”管理中的存储和显示。
管理 Checkout Cielo
https://cieloecommerce.cielo.com.br/Backoffice/
关于 URL:返回、通知和状态更改的“Checkout Cielo”方法
对于 URL
- 返回 URL
建议不提供任何信息
-
通知 URL
http://SEU_DNS/mozg_cielo/process/notification/checkout_cielo/robo/
-
状态更改 URL
http://SEU_DNS/mozg_cielo/process/notification/checkout_cielo/robo/
关于在“Checkout Cielo”环境中选择的卡组织
Cielo 发送的通知中包含的
如何更改方法的图像
可以添加包含以下任一命名的图像
- method-boleto.png
- method-creditcard.png
- method-debitcard.png
- method-eletronictransfer.png
并将图像添加到您的模板目录中
/skin/frontend//default/images/mozg_cielo
联系信息 - Cielo
Cielo E-Commerce cieloecommerce@cielo.com.br Tel: 4002-9700 (大都市和地区) 和 0800-570-1700 (其他地区)
请按以下格式发送主题
商户号:??? / 公司名称:??? / 关于:???
或访问
要联系 Cielo
手册
https://developercielo.github.io/manual/cielo-ecommerce
https://developercielo.github.io/manual/checkout-cielo
贡献者
Mozg 团队
许可
徽章
🐈