<?php
 
 
 

namespace PhpWA\Protocol\Proto\SyncActionValue;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;




class CustomPaymentMethod extends \Google\Protobuf\Internal\Message
{
    


    protected $credentialId = null;
    


    protected $country = null;
    


    protected $type = null;
    


    private $metadata;

    











    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getCredentialId()
    {
        return isset($this->credentialId) ? $this->credentialId : '';
    }

    public function hasCredentialId()
    {
        return isset($this->credentialId);
    }

    public function clearCredentialId()
    {
        unset($this->credentialId);
    }

    




    public function setCredentialId($var)
    {
        GPBUtil::checkString($var, True);
        $this->credentialId = $var;

        return $this;
    }

    



    public function getCountry()
    {
        return isset($this->country) ? $this->country : '';
    }

    public function hasCountry()
    {
        return isset($this->country);
    }

    public function clearCountry()
    {
        unset($this->country);
    }

    




    public function setCountry($var)
    {
        GPBUtil::checkString($var, True);
        $this->country = $var;

        return $this;
    }

    



    public function getType()
    {
        return isset($this->type) ? $this->type : '';
    }

    public function hasType()
    {
        return isset($this->type);
    }

    public function clearType()
    {
        unset($this->type);
    }

    




    public function setType($var)
    {
        GPBUtil::checkString($var, True);
        $this->type = $var;

        return $this;
    }

    



    public function getMetadata()
    {
        return $this->metadata;
    }

    




    public function setMetadata($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\SyncActionValue\CustomPaymentMethodMetadata::class);
        $this->metadata = $arr;

        return $this;
    }

}

