<?php

namespace App\Entities\PagSeguro\Order;

use App\Utils\Builder;

class PagSeguroChargesBuilder implements Builder {
	protected $refernce_id;
	protected $description;
	protected $amount;
	// protected $payment_method;

	public function build(): PagSeguroCharges {

		$obj = new PagSeguroCharges();

		$obj->setRefernceId( $this->refernce_id );
		$obj->setDescription( $this->description );
		//$obj->setPaymentMethod( $this->payment_method );
		$obj->setAmount( $this->amount );

		return $obj;

	}

	/**
	 *
	 * @param mixed $refernce_id
	 */
	public function setRefernceId($refernce_id): PagSeguroChargesBuilder {

		$this->refernce_id = $refernce_id;
		return $this;

	}

	/**
	 *
	 * @param mixed $description
	 */
	public function setDescription($description): PagSeguroChargesBuilder {

		$this->description = $description;
		return $this;

	}

	/**
	 *
	 * @param mixed $amount
	 */
	public function setAmount(PagSeguroAmount $amount): PagSeguroChargesBuilder {

		$this->amount = $amount;
		return $this;

	}

	/**
	 *
	 * @param mixed $payment_method
	 */
// 	public function setPaymentMethod(PagSeguroPaymentMethod $payment_method): PagSeguroChargesBuilder {

// 		$this->payment_method = $payment_method;
// 		return $this;

// 	}

}

