<?php
/**
 * VTConfigCardNotPresentGlobalPaymentInformationMerchantDefinedDataFields
 *
 * PHP version 5
 *
 * @category Class
 * @package  CyberSource
 * @author   Swaagger Codegen team
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * CyberSource Merged Spec
 *
 * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
 *
 * OpenAPI spec version: 0.0.1
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 *
 */
/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace CyberSource\Model;

use \ArrayAccess;

/**
 * VTConfigCardNotPresentGlobalPaymentInformationMerchantDefinedDataFields Class Doc Comment
 *
 * @category    Class
 * @package     CyberSource
 * @author      Swagger Codegen team
 * @link        https://github.com/swagger-api/swagger-codegen
 */
class VTConfigCardNotPresentGlobalPaymentInformationMerchantDefinedDataFields implements ArrayAccess
{
    const DISCRIMINATOR = null;

    /**
      * The original name of the model.
      * @var string
      */
    protected static $swaggerModelName = 'VTConfig_cardNotPresent_globalPaymentInformation_merchantDefinedDataFields';

    /**
      * Array of property to type mappings. Used for (de)serialization
      * @var string[]
      */
    protected static $swaggerTypes = [
        'displayMerchantDefinedData1' => 'bool',
        'displayMerchantDefinedData2' => 'bool',
        'displayMerchantDefinedData3' => 'bool',
        'displayMerchantDefinedData4' => 'bool',
        'displayMerchantDefinedData5' => 'bool',
        'merchantDefinedData1DefaultValue' => 'string',
        'merchantDefinedData1Label' => 'string',
        'requireMerchantDefinedData1' => 'bool',
        'merchantDefinedData2DefaultValue' => 'string',
        'merchantDefinedData2Label' => 'string',
        'requireMerchantDefinedData2' => 'bool',
        'merchantDefinedData3DefaultValue' => 'string',
        'merchantDefinedData3Label' => 'string',
        'requireMerchantDefinedData3' => 'bool',
        'merchantDefinedData4DefaultValue' => 'string',
        'merchantDefinedData4Label' => 'string',
        'requireMerchantDefinedData4' => 'bool',
        'merchantDefinedData5DefaultValue' => 'string',
        'merchantDefinedData5Label' => 'string',
        'requireMerchantDefinedData5' => 'bool',
        'merchantDefinedData1DisplayOnReceipt' => 'bool',
        'merchantDefinedData2DisplayOnReceipt' => 'bool',
        'merchantDefinedData3DisplayOnReceipt' => 'bool',
        'merchantDefinedData4DisplayOnReceipt' => 'bool',
        'merchantDefinedData5DisplayOnReceipt' => 'bool'
    ];

    /**
      * Array of property to format mappings. Used for (de)serialization
      * @var string[]
      */
    protected static $swaggerFormats = [
        'displayMerchantDefinedData1' => null,
        'displayMerchantDefinedData2' => null,
        'displayMerchantDefinedData3' => null,
        'displayMerchantDefinedData4' => null,
        'displayMerchantDefinedData5' => null,
        'merchantDefinedData1DefaultValue' => null,
        'merchantDefinedData1Label' => null,
        'requireMerchantDefinedData1' => null,
        'merchantDefinedData2DefaultValue' => null,
        'merchantDefinedData2Label' => null,
        'requireMerchantDefinedData2' => null,
        'merchantDefinedData3DefaultValue' => null,
        'merchantDefinedData3Label' => null,
        'requireMerchantDefinedData3' => null,
        'merchantDefinedData4DefaultValue' => null,
        'merchantDefinedData4Label' => null,
        'requireMerchantDefinedData4' => null,
        'merchantDefinedData5DefaultValue' => null,
        'merchantDefinedData5Label' => null,
        'requireMerchantDefinedData5' => null,
        'merchantDefinedData1DisplayOnReceipt' => null,
        'merchantDefinedData2DisplayOnReceipt' => null,
        'merchantDefinedData3DisplayOnReceipt' => null,
        'merchantDefinedData4DisplayOnReceipt' => null,
        'merchantDefinedData5DisplayOnReceipt' => null
    ];

    public static function swaggerTypes()
    {
        return self::$swaggerTypes;
    }

    public static function swaggerFormats()
    {
        return self::$swaggerFormats;
    }

    /**
     * Array of attributes where the key is the local name, and the value is the original name
     * @var string[]
     */
    protected static $attributeMap = [
        'displayMerchantDefinedData1' => 'displayMerchantDefinedData1',
        'displayMerchantDefinedData2' => 'displayMerchantDefinedData2',
        'displayMerchantDefinedData3' => 'displayMerchantDefinedData3',
        'displayMerchantDefinedData4' => 'displayMerchantDefinedData4',
        'displayMerchantDefinedData5' => 'displayMerchantDefinedData5',
        'merchantDefinedData1DefaultValue' => 'merchantDefinedData1DefaultValue',
        'merchantDefinedData1Label' => 'merchantDefinedData1Label',
        'requireMerchantDefinedData1' => 'requireMerchantDefinedData1',
        'merchantDefinedData2DefaultValue' => 'merchantDefinedData2DefaultValue',
        'merchantDefinedData2Label' => 'merchantDefinedData2Label',
        'requireMerchantDefinedData2' => 'requireMerchantDefinedData2',
        'merchantDefinedData3DefaultValue' => 'merchantDefinedData3DefaultValue',
        'merchantDefinedData3Label' => 'merchantDefinedData3Label',
        'requireMerchantDefinedData3' => 'requireMerchantDefinedData3',
        'merchantDefinedData4DefaultValue' => 'merchantDefinedData4DefaultValue',
        'merchantDefinedData4Label' => 'merchantDefinedData4Label',
        'requireMerchantDefinedData4' => 'requireMerchantDefinedData4',
        'merchantDefinedData5DefaultValue' => 'merchantDefinedData5DefaultValue',
        'merchantDefinedData5Label' => 'merchantDefinedData5Label',
        'requireMerchantDefinedData5' => 'requireMerchantDefinedData5',
        'merchantDefinedData1DisplayOnReceipt' => 'merchantDefinedData1DisplayOnReceipt',
        'merchantDefinedData2DisplayOnReceipt' => 'merchantDefinedData2DisplayOnReceipt',
        'merchantDefinedData3DisplayOnReceipt' => 'merchantDefinedData3DisplayOnReceipt',
        'merchantDefinedData4DisplayOnReceipt' => 'merchantDefinedData4DisplayOnReceipt',
        'merchantDefinedData5DisplayOnReceipt' => 'merchantDefinedData5DisplayOnReceipt'
    ];


    /**
     * Array of attributes to setter functions (for deserialization of responses)
     * @var string[]
     */
    protected static $setters = [
        'displayMerchantDefinedData1' => 'setDisplayMerchantDefinedData1',
        'displayMerchantDefinedData2' => 'setDisplayMerchantDefinedData2',
        'displayMerchantDefinedData3' => 'setDisplayMerchantDefinedData3',
        'displayMerchantDefinedData4' => 'setDisplayMerchantDefinedData4',
        'displayMerchantDefinedData5' => 'setDisplayMerchantDefinedData5',
        'merchantDefinedData1DefaultValue' => 'setMerchantDefinedData1DefaultValue',
        'merchantDefinedData1Label' => 'setMerchantDefinedData1Label',
        'requireMerchantDefinedData1' => 'setRequireMerchantDefinedData1',
        'merchantDefinedData2DefaultValue' => 'setMerchantDefinedData2DefaultValue',
        'merchantDefinedData2Label' => 'setMerchantDefinedData2Label',
        'requireMerchantDefinedData2' => 'setRequireMerchantDefinedData2',
        'merchantDefinedData3DefaultValue' => 'setMerchantDefinedData3DefaultValue',
        'merchantDefinedData3Label' => 'setMerchantDefinedData3Label',
        'requireMerchantDefinedData3' => 'setRequireMerchantDefinedData3',
        'merchantDefinedData4DefaultValue' => 'setMerchantDefinedData4DefaultValue',
        'merchantDefinedData4Label' => 'setMerchantDefinedData4Label',
        'requireMerchantDefinedData4' => 'setRequireMerchantDefinedData4',
        'merchantDefinedData5DefaultValue' => 'setMerchantDefinedData5DefaultValue',
        'merchantDefinedData5Label' => 'setMerchantDefinedData5Label',
        'requireMerchantDefinedData5' => 'setRequireMerchantDefinedData5',
        'merchantDefinedData1DisplayOnReceipt' => 'setMerchantDefinedData1DisplayOnReceipt',
        'merchantDefinedData2DisplayOnReceipt' => 'setMerchantDefinedData2DisplayOnReceipt',
        'merchantDefinedData3DisplayOnReceipt' => 'setMerchantDefinedData3DisplayOnReceipt',
        'merchantDefinedData4DisplayOnReceipt' => 'setMerchantDefinedData4DisplayOnReceipt',
        'merchantDefinedData5DisplayOnReceipt' => 'setMerchantDefinedData5DisplayOnReceipt'
    ];


    /**
     * Array of attributes to getter functions (for serialization of requests)
     * @var string[]
     */
    protected static $getters = [
        'displayMerchantDefinedData1' => 'getDisplayMerchantDefinedData1',
        'displayMerchantDefinedData2' => 'getDisplayMerchantDefinedData2',
        'displayMerchantDefinedData3' => 'getDisplayMerchantDefinedData3',
        'displayMerchantDefinedData4' => 'getDisplayMerchantDefinedData4',
        'displayMerchantDefinedData5' => 'getDisplayMerchantDefinedData5',
        'merchantDefinedData1DefaultValue' => 'getMerchantDefinedData1DefaultValue',
        'merchantDefinedData1Label' => 'getMerchantDefinedData1Label',
        'requireMerchantDefinedData1' => 'getRequireMerchantDefinedData1',
        'merchantDefinedData2DefaultValue' => 'getMerchantDefinedData2DefaultValue',
        'merchantDefinedData2Label' => 'getMerchantDefinedData2Label',
        'requireMerchantDefinedData2' => 'getRequireMerchantDefinedData2',
        'merchantDefinedData3DefaultValue' => 'getMerchantDefinedData3DefaultValue',
        'merchantDefinedData3Label' => 'getMerchantDefinedData3Label',
        'requireMerchantDefinedData3' => 'getRequireMerchantDefinedData3',
        'merchantDefinedData4DefaultValue' => 'getMerchantDefinedData4DefaultValue',
        'merchantDefinedData4Label' => 'getMerchantDefinedData4Label',
        'requireMerchantDefinedData4' => 'getRequireMerchantDefinedData4',
        'merchantDefinedData5DefaultValue' => 'getMerchantDefinedData5DefaultValue',
        'merchantDefinedData5Label' => 'getMerchantDefinedData5Label',
        'requireMerchantDefinedData5' => 'getRequireMerchantDefinedData5',
        'merchantDefinedData1DisplayOnReceipt' => 'getMerchantDefinedData1DisplayOnReceipt',
        'merchantDefinedData2DisplayOnReceipt' => 'getMerchantDefinedData2DisplayOnReceipt',
        'merchantDefinedData3DisplayOnReceipt' => 'getMerchantDefinedData3DisplayOnReceipt',
        'merchantDefinedData4DisplayOnReceipt' => 'getMerchantDefinedData4DisplayOnReceipt',
        'merchantDefinedData5DisplayOnReceipt' => 'getMerchantDefinedData5DisplayOnReceipt'
    ];

    public static function attributeMap()
    {
        return self::$attributeMap;
    }

    public static function setters()
    {
        return self::$setters;
    }

    public static function getters()
    {
        return self::$getters;
    }

    

    

    /**
     * Associative array for storing property values
     * @var mixed[]
     */
    protected $container = [];

    /**
     * Constructor
     * @param mixed[] $data Associated array of property values initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->container['displayMerchantDefinedData1'] = isset($data['displayMerchantDefinedData1']) ? $data['displayMerchantDefinedData1'] : null;
        $this->container['displayMerchantDefinedData2'] = isset($data['displayMerchantDefinedData2']) ? $data['displayMerchantDefinedData2'] : null;
        $this->container['displayMerchantDefinedData3'] = isset($data['displayMerchantDefinedData3']) ? $data['displayMerchantDefinedData3'] : null;
        $this->container['displayMerchantDefinedData4'] = isset($data['displayMerchantDefinedData4']) ? $data['displayMerchantDefinedData4'] : null;
        $this->container['displayMerchantDefinedData5'] = isset($data['displayMerchantDefinedData5']) ? $data['displayMerchantDefinedData5'] : null;
        $this->container['merchantDefinedData1DefaultValue'] = isset($data['merchantDefinedData1DefaultValue']) ? $data['merchantDefinedData1DefaultValue'] : null;
        $this->container['merchantDefinedData1Label'] = isset($data['merchantDefinedData1Label']) ? $data['merchantDefinedData1Label'] : null;
        $this->container['requireMerchantDefinedData1'] = isset($data['requireMerchantDefinedData1']) ? $data['requireMerchantDefinedData1'] : null;
        $this->container['merchantDefinedData2DefaultValue'] = isset($data['merchantDefinedData2DefaultValue']) ? $data['merchantDefinedData2DefaultValue'] : null;
        $this->container['merchantDefinedData2Label'] = isset($data['merchantDefinedData2Label']) ? $data['merchantDefinedData2Label'] : null;
        $this->container['requireMerchantDefinedData2'] = isset($data['requireMerchantDefinedData2']) ? $data['requireMerchantDefinedData2'] : null;
        $this->container['merchantDefinedData3DefaultValue'] = isset($data['merchantDefinedData3DefaultValue']) ? $data['merchantDefinedData3DefaultValue'] : null;
        $this->container['merchantDefinedData3Label'] = isset($data['merchantDefinedData3Label']) ? $data['merchantDefinedData3Label'] : null;
        $this->container['requireMerchantDefinedData3'] = isset($data['requireMerchantDefinedData3']) ? $data['requireMerchantDefinedData3'] : null;
        $this->container['merchantDefinedData4DefaultValue'] = isset($data['merchantDefinedData4DefaultValue']) ? $data['merchantDefinedData4DefaultValue'] : null;
        $this->container['merchantDefinedData4Label'] = isset($data['merchantDefinedData4Label']) ? $data['merchantDefinedData4Label'] : null;
        $this->container['requireMerchantDefinedData4'] = isset($data['requireMerchantDefinedData4']) ? $data['requireMerchantDefinedData4'] : null;
        $this->container['merchantDefinedData5DefaultValue'] = isset($data['merchantDefinedData5DefaultValue']) ? $data['merchantDefinedData5DefaultValue'] : null;
        $this->container['merchantDefinedData5Label'] = isset($data['merchantDefinedData5Label']) ? $data['merchantDefinedData5Label'] : null;
        $this->container['requireMerchantDefinedData5'] = isset($data['requireMerchantDefinedData5']) ? $data['requireMerchantDefinedData5'] : null;
        $this->container['merchantDefinedData1DisplayOnReceipt'] = isset($data['merchantDefinedData1DisplayOnReceipt']) ? $data['merchantDefinedData1DisplayOnReceipt'] : null;
        $this->container['merchantDefinedData2DisplayOnReceipt'] = isset($data['merchantDefinedData2DisplayOnReceipt']) ? $data['merchantDefinedData2DisplayOnReceipt'] : null;
        $this->container['merchantDefinedData3DisplayOnReceipt'] = isset($data['merchantDefinedData3DisplayOnReceipt']) ? $data['merchantDefinedData3DisplayOnReceipt'] : null;
        $this->container['merchantDefinedData4DisplayOnReceipt'] = isset($data['merchantDefinedData4DisplayOnReceipt']) ? $data['merchantDefinedData4DisplayOnReceipt'] : null;
        $this->container['merchantDefinedData5DisplayOnReceipt'] = isset($data['merchantDefinedData5DisplayOnReceipt']) ? $data['merchantDefinedData5DisplayOnReceipt'] : null;
    }

    /**
     * show all the invalid properties with reasons.
     *
     * @return array invalid properties with reasons
     */
    public function listInvalidProperties()
    {
        $invalid_properties = [];

        return $invalid_properties;
    }

    /**
     * validate all the properties in the model
     * return true if all passed
     *
     * @return bool True if all properties are valid
     */
    public function valid()
    {

        return true;
    }


    /**
     * Gets displayMerchantDefinedData1
     * @return bool
     */
    public function getDisplayMerchantDefinedData1()
    {
        return $this->container['displayMerchantDefinedData1'];
    }

    /**
     * Sets displayMerchantDefinedData1
     * @param bool $displayMerchantDefinedData1
     * @return $this
     */
    public function setDisplayMerchantDefinedData1($displayMerchantDefinedData1)
    {
        $this->container['displayMerchantDefinedData1'] = $displayMerchantDefinedData1;

        return $this;
    }

    /**
     * Gets displayMerchantDefinedData2
     * @return bool
     */
    public function getDisplayMerchantDefinedData2()
    {
        return $this->container['displayMerchantDefinedData2'];
    }

    /**
     * Sets displayMerchantDefinedData2
     * @param bool $displayMerchantDefinedData2
     * @return $this
     */
    public function setDisplayMerchantDefinedData2($displayMerchantDefinedData2)
    {
        $this->container['displayMerchantDefinedData2'] = $displayMerchantDefinedData2;

        return $this;
    }

    /**
     * Gets displayMerchantDefinedData3
     * @return bool
     */
    public function getDisplayMerchantDefinedData3()
    {
        return $this->container['displayMerchantDefinedData3'];
    }

    /**
     * Sets displayMerchantDefinedData3
     * @param bool $displayMerchantDefinedData3
     * @return $this
     */
    public function setDisplayMerchantDefinedData3($displayMerchantDefinedData3)
    {
        $this->container['displayMerchantDefinedData3'] = $displayMerchantDefinedData3;

        return $this;
    }

    /**
     * Gets displayMerchantDefinedData4
     * @return bool
     */
    public function getDisplayMerchantDefinedData4()
    {
        return $this->container['displayMerchantDefinedData4'];
    }

    /**
     * Sets displayMerchantDefinedData4
     * @param bool $displayMerchantDefinedData4
     * @return $this
     */
    public function setDisplayMerchantDefinedData4($displayMerchantDefinedData4)
    {
        $this->container['displayMerchantDefinedData4'] = $displayMerchantDefinedData4;

        return $this;
    }

    /**
     * Gets displayMerchantDefinedData5
     * @return bool
     */
    public function getDisplayMerchantDefinedData5()
    {
        return $this->container['displayMerchantDefinedData5'];
    }

    /**
     * Sets displayMerchantDefinedData5
     * @param bool $displayMerchantDefinedData5
     * @return $this
     */
    public function setDisplayMerchantDefinedData5($displayMerchantDefinedData5)
    {
        $this->container['displayMerchantDefinedData5'] = $displayMerchantDefinedData5;

        return $this;
    }

    /**
     * Gets merchantDefinedData1DefaultValue
     * @return string
     */
    public function getMerchantDefinedData1DefaultValue()
    {
        return $this->container['merchantDefinedData1DefaultValue'];
    }

    /**
     * Sets merchantDefinedData1DefaultValue
     * @param string $merchantDefinedData1DefaultValue
     * @return $this
     */
    public function setMerchantDefinedData1DefaultValue($merchantDefinedData1DefaultValue)
    {
        $this->container['merchantDefinedData1DefaultValue'] = $merchantDefinedData1DefaultValue;

        return $this;
    }

    /**
     * Gets merchantDefinedData1Label
     * @return string
     */
    public function getMerchantDefinedData1Label()
    {
        return $this->container['merchantDefinedData1Label'];
    }

    /**
     * Sets merchantDefinedData1Label
     * @param string $merchantDefinedData1Label
     * @return $this
     */
    public function setMerchantDefinedData1Label($merchantDefinedData1Label)
    {
        $this->container['merchantDefinedData1Label'] = $merchantDefinedData1Label;

        return $this;
    }

    /**
     * Gets requireMerchantDefinedData1
     * @return bool
     */
    public function getRequireMerchantDefinedData1()
    {
        return $this->container['requireMerchantDefinedData1'];
    }

    /**
     * Sets requireMerchantDefinedData1
     * @param bool $requireMerchantDefinedData1
     * @return $this
     */
    public function setRequireMerchantDefinedData1($requireMerchantDefinedData1)
    {
        $this->container['requireMerchantDefinedData1'] = $requireMerchantDefinedData1;

        return $this;
    }

    /**
     * Gets merchantDefinedData2DefaultValue
     * @return string
     */
    public function getMerchantDefinedData2DefaultValue()
    {
        return $this->container['merchantDefinedData2DefaultValue'];
    }

    /**
     * Sets merchantDefinedData2DefaultValue
     * @param string $merchantDefinedData2DefaultValue
     * @return $this
     */
    public function setMerchantDefinedData2DefaultValue($merchantDefinedData2DefaultValue)
    {
        $this->container['merchantDefinedData2DefaultValue'] = $merchantDefinedData2DefaultValue;

        return $this;
    }

    /**
     * Gets merchantDefinedData2Label
     * @return string
     */
    public function getMerchantDefinedData2Label()
    {
        return $this->container['merchantDefinedData2Label'];
    }

    /**
     * Sets merchantDefinedData2Label
     * @param string $merchantDefinedData2Label
     * @return $this
     */
    public function setMerchantDefinedData2Label($merchantDefinedData2Label)
    {
        $this->container['merchantDefinedData2Label'] = $merchantDefinedData2Label;

        return $this;
    }

    /**
     * Gets requireMerchantDefinedData2
     * @return bool
     */
    public function getRequireMerchantDefinedData2()
    {
        return $this->container['requireMerchantDefinedData2'];
    }

    /**
     * Sets requireMerchantDefinedData2
     * @param bool $requireMerchantDefinedData2
     * @return $this
     */
    public function setRequireMerchantDefinedData2($requireMerchantDefinedData2)
    {
        $this->container['requireMerchantDefinedData2'] = $requireMerchantDefinedData2;

        return $this;
    }

    /**
     * Gets merchantDefinedData3DefaultValue
     * @return string
     */
    public function getMerchantDefinedData3DefaultValue()
    {
        return $this->container['merchantDefinedData3DefaultValue'];
    }

    /**
     * Sets merchantDefinedData3DefaultValue
     * @param string $merchantDefinedData3DefaultValue
     * @return $this
     */
    public function setMerchantDefinedData3DefaultValue($merchantDefinedData3DefaultValue)
    {
        $this->container['merchantDefinedData3DefaultValue'] = $merchantDefinedData3DefaultValue;

        return $this;
    }

    /**
     * Gets merchantDefinedData3Label
     * @return string
     */
    public function getMerchantDefinedData3Label()
    {
        return $this->container['merchantDefinedData3Label'];
    }

    /**
     * Sets merchantDefinedData3Label
     * @param string $merchantDefinedData3Label
     * @return $this
     */
    public function setMerchantDefinedData3Label($merchantDefinedData3Label)
    {
        $this->container['merchantDefinedData3Label'] = $merchantDefinedData3Label;

        return $this;
    }

    /**
     * Gets requireMerchantDefinedData3
     * @return bool
     */
    public function getRequireMerchantDefinedData3()
    {
        return $this->container['requireMerchantDefinedData3'];
    }

    /**
     * Sets requireMerchantDefinedData3
     * @param bool $requireMerchantDefinedData3
     * @return $this
     */
    public function setRequireMerchantDefinedData3($requireMerchantDefinedData3)
    {
        $this->container['requireMerchantDefinedData3'] = $requireMerchantDefinedData3;

        return $this;
    }

    /**
     * Gets merchantDefinedData4DefaultValue
     * @return string
     */
    public function getMerchantDefinedData4DefaultValue()
    {
        return $this->container['merchantDefinedData4DefaultValue'];
    }

    /**
     * Sets merchantDefinedData4DefaultValue
     * @param string $merchantDefinedData4DefaultValue
     * @return $this
     */
    public function setMerchantDefinedData4DefaultValue($merchantDefinedData4DefaultValue)
    {
        $this->container['merchantDefinedData4DefaultValue'] = $merchantDefinedData4DefaultValue;

        return $this;
    }

    /**
     * Gets merchantDefinedData4Label
     * @return string
     */
    public function getMerchantDefinedData4Label()
    {
        return $this->container['merchantDefinedData4Label'];
    }

    /**
     * Sets merchantDefinedData4Label
     * @param string $merchantDefinedData4Label
     * @return $this
     */
    public function setMerchantDefinedData4Label($merchantDefinedData4Label)
    {
        $this->container['merchantDefinedData4Label'] = $merchantDefinedData4Label;

        return $this;
    }

    /**
     * Gets requireMerchantDefinedData4
     * @return bool
     */
    public function getRequireMerchantDefinedData4()
    {
        return $this->container['requireMerchantDefinedData4'];
    }

    /**
     * Sets requireMerchantDefinedData4
     * @param bool $requireMerchantDefinedData4
     * @return $this
     */
    public function setRequireMerchantDefinedData4($requireMerchantDefinedData4)
    {
        $this->container['requireMerchantDefinedData4'] = $requireMerchantDefinedData4;

        return $this;
    }

    /**
     * Gets merchantDefinedData5DefaultValue
     * @return string
     */
    public function getMerchantDefinedData5DefaultValue()
    {
        return $this->container['merchantDefinedData5DefaultValue'];
    }

    /**
     * Sets merchantDefinedData5DefaultValue
     * @param string $merchantDefinedData5DefaultValue
     * @return $this
     */
    public function setMerchantDefinedData5DefaultValue($merchantDefinedData5DefaultValue)
    {
        $this->container['merchantDefinedData5DefaultValue'] = $merchantDefinedData5DefaultValue;

        return $this;
    }

    /**
     * Gets merchantDefinedData5Label
     * @return string
     */
    public function getMerchantDefinedData5Label()
    {
        return $this->container['merchantDefinedData5Label'];
    }

    /**
     * Sets merchantDefinedData5Label
     * @param string $merchantDefinedData5Label
     * @return $this
     */
    public function setMerchantDefinedData5Label($merchantDefinedData5Label)
    {
        $this->container['merchantDefinedData5Label'] = $merchantDefinedData5Label;

        return $this;
    }

    /**
     * Gets requireMerchantDefinedData5
     * @return bool
     */
    public function getRequireMerchantDefinedData5()
    {
        return $this->container['requireMerchantDefinedData5'];
    }

    /**
     * Sets requireMerchantDefinedData5
     * @param bool $requireMerchantDefinedData5
     * @return $this
     */
    public function setRequireMerchantDefinedData5($requireMerchantDefinedData5)
    {
        $this->container['requireMerchantDefinedData5'] = $requireMerchantDefinedData5;

        return $this;
    }

    /**
     * Gets merchantDefinedData1DisplayOnReceipt
     * @return bool
     */
    public function getMerchantDefinedData1DisplayOnReceipt()
    {
        return $this->container['merchantDefinedData1DisplayOnReceipt'];
    }

    /**
     * Sets merchantDefinedData1DisplayOnReceipt
     * @param bool $merchantDefinedData1DisplayOnReceipt
     * @return $this
     */
    public function setMerchantDefinedData1DisplayOnReceipt($merchantDefinedData1DisplayOnReceipt)
    {
        $this->container['merchantDefinedData1DisplayOnReceipt'] = $merchantDefinedData1DisplayOnReceipt;

        return $this;
    }

    /**
     * Gets merchantDefinedData2DisplayOnReceipt
     * @return bool
     */
    public function getMerchantDefinedData2DisplayOnReceipt()
    {
        return $this->container['merchantDefinedData2DisplayOnReceipt'];
    }

    /**
     * Sets merchantDefinedData2DisplayOnReceipt
     * @param bool $merchantDefinedData2DisplayOnReceipt
     * @return $this
     */
    public function setMerchantDefinedData2DisplayOnReceipt($merchantDefinedData2DisplayOnReceipt)
    {
        $this->container['merchantDefinedData2DisplayOnReceipt'] = $merchantDefinedData2DisplayOnReceipt;

        return $this;
    }

    /**
     * Gets merchantDefinedData3DisplayOnReceipt
     * @return bool
     */
    public function getMerchantDefinedData3DisplayOnReceipt()
    {
        return $this->container['merchantDefinedData3DisplayOnReceipt'];
    }

    /**
     * Sets merchantDefinedData3DisplayOnReceipt
     * @param bool $merchantDefinedData3DisplayOnReceipt
     * @return $this
     */
    public function setMerchantDefinedData3DisplayOnReceipt($merchantDefinedData3DisplayOnReceipt)
    {
        $this->container['merchantDefinedData3DisplayOnReceipt'] = $merchantDefinedData3DisplayOnReceipt;

        return $this;
    }

    /**
     * Gets merchantDefinedData4DisplayOnReceipt
     * @return bool
     */
    public function getMerchantDefinedData4DisplayOnReceipt()
    {
        return $this->container['merchantDefinedData4DisplayOnReceipt'];
    }

    /**
     * Sets merchantDefinedData4DisplayOnReceipt
     * @param bool $merchantDefinedData4DisplayOnReceipt
     * @return $this
     */
    public function setMerchantDefinedData4DisplayOnReceipt($merchantDefinedData4DisplayOnReceipt)
    {
        $this->container['merchantDefinedData4DisplayOnReceipt'] = $merchantDefinedData4DisplayOnReceipt;

        return $this;
    }

    /**
     * Gets merchantDefinedData5DisplayOnReceipt
     * @return bool
     */
    public function getMerchantDefinedData5DisplayOnReceipt()
    {
        return $this->container['merchantDefinedData5DisplayOnReceipt'];
    }

    /**
     * Sets merchantDefinedData5DisplayOnReceipt
     * @param bool $merchantDefinedData5DisplayOnReceipt
     * @return $this
     */
    public function setMerchantDefinedData5DisplayOnReceipt($merchantDefinedData5DisplayOnReceipt)
    {
        $this->container['merchantDefinedData5DisplayOnReceipt'] = $merchantDefinedData5DisplayOnReceipt;

        return $this;
    }
    /**
     * Returns true if offset exists. False otherwise.
     * @param  integer $offset Offset
     * @return boolean
     */
    #[\ReturnTypeWillChange]
    public function offsetExists($offset)
    {
        return isset($this->container[$offset]);
    }

    /**
     * Gets offset.
     * @param  integer $offset Offset
     * @return mixed
     */
    #[\ReturnTypeWillChange]
    public function offsetGet($offset)
    {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }

    /**
     * Sets value based on offset.
     * @param  integer $offset Offset
     * @param  mixed   $value  Value to be set
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetSet($offset, $value)
    {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    /**
     * Unsets offset.
     * @param  integer $offset Offset
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetUnset($offset)
    {
        unset($this->container[$offset]);
    }

    /**
     * Gets the string presentation of the object
     * @return string
     */
    public function __toString()
    {
        if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
            return json_encode(\CyberSource\ObjectSerializer::sanitizeForSerialization($this), JSON_PRETTY_PRINT);
        }

        return json_encode(\CyberSource\ObjectSerializer::sanitizeForSerialization($this));
    }
}


