<?php

namespace stripe;
require_once WD . '/modules/stripe/config/stripe_enabled_c.php';
require_once WD . '/modules/stripe/config/stripe_publishable_key_c.php';
require_once WD . '/modules/stripe/config/stripe_secret_key_c.php';
require_once WD . '/modules/stripe/config/stripe_economic_customer_number_c.php';

use stripe\config\stripe_economic_customer_number_c;
use stripe\config\stripe_enabled_c;
use stripe\config\stripe_publishable_key_c;
use stripe\config\stripe_secret_key_c;
use traits\module_config_t;

class stripe_c
{
    use module_config_t;

    /**
     * The status of reCAPTCHA, whether it is enabled or not
     * @var stripe_enabled_c
     */
    public stripe_enabled_c $enabled;
    /**
     * The publishable key for stripe
     * @var stripe_publishable_key_c
     */
    public stripe_publishable_key_c $publishable_key;
    /**
     * The secret key for stripe
     * @var stripe_secret_key_c
     */
    public stripe_secret_key_c $secret_key;
    /**
     * The economic customer number for stripe
     * @var stripe_economic_customer_number_c
     */
    public stripe_economic_customer_number_c $economic_customer_number;

    public function __construct()
    {
        $this->setupConfig('Stripe');
        $this->allowUpdate([
            stripe_enabled_c::class,
            stripe_publishable_key_c::class,
            stripe_secret_key_c::class,
            stripe_economic_customer_number_c::class
        ]);
        $this->enabled = new stripe_enabled_c();
        $this->publishable_key = new stripe_publishable_key_c();
        $this->secret_key = new stripe_secret_key_c();
        $this->economic_customer_number = new stripe_economic_customer_number_c();
    }
}