1
votes

I have a payment gateway created for VirtueMart 3.0.x and Joomla 3.4. It works fine except for the configuration screen, the config screen saves just fine to the DB whatever data I enter into the fields. But it won't get those config options when I edit it. When I use the plugin to checkout it "does" grab the saved config fields. But again, when I edit it won't show those values. Always defaults to empty.

XML File:

<?xml version="1.0" encoding="UTF-8" ?>
<extension version="2.5" type="plugin" group="vmpayment" method="upgrade">
    <name>Credomatic</name>
    <creationDate>-</creationDate>
    <author>-</author>
    <authorUrl>-</authorUrl>
    <copyright>-</copyright>
    <license>-</license>
    <version>3.0</version>
    <description>-</description>
    <files>
        <filename plugin="credomatic">credomatic.php</filename>
        <filename>index.html</filename>
    </files>

    <vmconfig>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/plugins/vmpayment/credomatic/fields">
                <field class="level1" type="vmtitle" default="Credentials"/>
                <field class="" name="demo" type="radio" default="1" label="Demo Mode" description="">
                    <option value="0">Off</option>
                    <option value="1">On</option>
                </field>

                <field class="required" name="key_id" type="text" size="50" default="" label="Key ID"/>
                <field class="required" name="key" type="text" size="50" default="" label="Key"/>
            </fieldset>
        </fields>
    </vmconfig>

</extension>

How the edit page comes back up when editing:

enter image description here

But yet whatever I enter in those fields is saved to the DB just fine:

enter image description here

This is what is displayed above the config screen when I save:

enter image description here

1
I should state that all other payment plugins work fine and show the saved values, only mine won't. - jfreak53

1 Answers

0
votes

I was missing this simple function in my PHP file to call the params during re-load of the page:

function plgVmDeclarePluginParamsPaymentVM3( &$data) {
   return $this->declarePluginParams('payment', $data);
}

Thanks to this thread here I found the answer.