<?php

namespace App\ViewModels\PagSeguro\PagSeguroResponseViewModel;

use App\Utils\Entity;

class PagSeguroChargeViewModel extends Entity {
	protected $id;
	protected $reference_id;
	protected $status;
	protected $created_at;
	protected $paid_at;
	protected $description;
	protected $amount;
	protected $payment_response;
	protected $payment_method;
	protected $links;

	public static function builder(): PagSeguroChargeViewModelBuilder {

		return new PagSeguroChargeViewModelBuilder();

	}

	/**
	 *
	 * @return mixed
	 */
	public function getId() {

		return $this->id;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getReferenceId() {

		return $this->reference_id;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getStatus() {

		return $this->status;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getCreatedAt() {

		return $this->created_at;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getPaidAt() {

		return $this->paid_at;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getDescription() {

		return $this->description;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getAmount() {

		return $this->amount;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getPaymentResponse() {

		return $this->payment_response;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getPaymentMethod() {

		return $this->payment_method;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getLinks() {

		return $this->links;

	}

	/**
	 *
	 * @param mixed $id
	 */
	public function setId($id) {

		$this->id = $id;

	}

	/**
	 *
	 * @param mixed $reference_id
	 */
	public function setReferenceId($reference_id) {

		$this->reference_id = $reference_id;

	}

	/**
	 *
	 * @param mixed $status
	 */
	public function setStatus($status) {

		$this->status = $status;

	}

	/**
	 *
	 * @param mixed $created_at
	 */
	public function setCreatedAt($created_at) {

		$this->created_at = $created_at;

	}

	/**
	 *
	 * @param mixed $paid_at
	 */
	public function setPaidAt($paid_at) {

		$this->paid_at = $paid_at;

	}

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

		$this->description = $description;

	}

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

		$this->amount = $amount;

	}

	/**
	 *
	 * @param mixed $payment_response
	 */
	public function setPaymentResponse($payment_response) {

		$this->payment_response = $payment_response;

	}

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

		$this->payment_method = $payment_method;

	}

	/**
	 *
	 * @param mixed $links
	 */
	public function setLinks($links) {

		$this->links = $links;

	}

}

