Current Path : /home/ncdcgo/ele.ncdc.go.ug/payment/classes/ |
Current File : /home/ncdcgo/ele.ncdc.go.ug/payment/classes/gateway.php |
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Contains base class for payment gateways. * * @package core_payment * @copyright 2019 Shamim Rezaie <shamim@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core_payment; /** * Base class for payment gateways. * * @copyright 2019 Shamim Rezaie <shamim@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class gateway { /** * Returns the list of currencies that the payment gateway supports. * * @return string[] An array of the currency codes in the three-character ISO-4217 format */ public abstract static function get_supported_currencies(): array; /** * Configuration form for the gateway instance * * Use $form->get_mform() to access the \MoodleQuickForm instance * * @param \core_payment\form\account_gateway $form */ public abstract static function add_configuration_to_gateway_form(\core_payment\form\account_gateway $form): void; /** * Validates the gateway configuration form. * * Needs to be overridden to make sure the incomplete configuration can not be enabled. * * @param \core_payment\form\account_gateway $form * @param \stdClass $data * @param array $files * @param array $errors form errors (passed by reference) */ public static function validate_gateway_form(\core_payment\form\account_gateway $form, \stdClass $data, array $files, array &$errors): void { if ($data->enabled) { $errors['enabled'] = get_string('gatewaycannotbeenabled', 'payment'); } } }