質問

カスタム決済ゲートウェイを実装しています。

設定できるようにするには、このようにしてConfigProviderを作成しました。

<?php
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Desytec\Transbank\Model;

use Magento\Checkout\Model\ConfigProviderInterface;
use Magento\Framework\Escaper;
use Magento\Payment\Helper\Data as PaymentHelper;

class WebpayConfigProvider implements ConfigProviderInterface
{
    /**
     * @var string[]
     */
    protected $methodCode = Webpay::CODE;

    /**
     * @var Webpay
     */
    protected $method;

    /**
     * @var Escaper
     */
    protected $escaper;

    /**
     * @param PaymentHelper $paymentHelper
     * @param Escaper $escaper
     */
    public function __construct(
        PaymentHelper $paymentHelper,
        Escaper $escaper
    ) {
        $this->escaper = $escaper;
        $this->method = $paymentHelper->getMethodInstance($this->methodCode);
    }

    /**
     * {@inheritdoc}
     */
    public function getConfig()
    {
        return $this->method->isAvailable() ? [
            'payment' => [
                'webpay' => [
                    'image' => $this->getImage(),
                    'instructions' => $this->getInstructions(),
                ],
            ],
        ] : [];
    }

    /**
     * Get mailing address from config
     *
     * @return string
     */
    protected function getImage()
    {
        return nl2br($this->escaper->escapeHtml($this->method->getImage()));
    }

    /**
     * Get mailing address from config
     *
     * @return string
     */
    protected function getInstructions()
    {
        return nl2br($this->escaper->escapeHtml($this->method->getInstructions()));
    }
}
.

とこのdi.xmlファイル内の/ frontend:

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Checkout\Model\CompositeConfigProvider">
        <arguments>
            <argument name="configProviders" xsi:type="array">
                <item name="transbank_webpay_config_provider" xsi:type="object">Desytec\Transbank\Model\WebpayConfigProvider</item>
            </argument>
        </arguments>
    </type>
</config>
.

サーバにdi.xmlファイルをアップロードしてチェックアウトをロードしようとすると、エラー500が発生します。削除すると、ページが正しく表示されます。

そのファイルに悪いとは何が見えますか?

感謝 jaime

役に立ちましたか?

解決

エラーを含むdi.xml自体である必要はありません。

500回答は、あなたがあなたのWebServers Error.logを調べるべきです。プロペロエラーメッセージ

を含む例外またはエラーがあるはずです。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top