<?php

namespace Yeepay\Yop\Sdk\Service\Trade\Model;

use Yeepay\Yop\Sdk\Model\BaseRequest;

class OrderRequest extends BaseRequest
{

    /**
     * @var string
     */
    private $parentMerchantNo;

    /**
     * @var string
     */
    private $merchantNo;

    /**
     * @var string
     */
    private $orderId;

    /**
     * @var string
     */
    private $orderAmount;

    /**
     * @var string
     */
    private $goodsName;

    /**
     * @var string
     */
    private $fundProcessType;

    /**
     * @var string
     */
    private $notifyUrl;

    /**
     * @var string
     */
    private $memo;

    /**
     * @var string
     */
    private $subOrderDetail;

    /**
     * @var string
     */
    private $expiredTime;

    /**
     * @var string
     */
    private $redirectUrl;

    /**
     * @var string
     */
    private $csUrl;

    /**
     * @var string
     */
    private $businessInfo;

    /**
     * Gets parentMerchantNo
     * @return string
     */
    public function getParentMerchantNo()
    {
        return $this->parentMerchantNo;
    }

    /**
     * Sets parentMerchantNo
     * @param  string  $parentMerchantNo
     * @return OrderRequest
     */
    public function setParentMerchantNo($parentMerchantNo)
    {
        $this->parentMerchantNo = $parentMerchantNo;

        return $this;
    }

    /**
     * Gets merchantNo
     * @return string
     */
    public function getMerchantNo()
    {
        return $this->merchantNo;
    }

    /**
     * Sets merchantNo
     * @param  string  $merchantNo
     * @return OrderRequest
     */
    public function setMerchantNo($merchantNo)
    {
        $this->merchantNo = $merchantNo;

        return $this;
    }

    /**
     * Gets orderId
     * @return string
     */
    public function getOrderId()
    {
        return $this->orderId;
    }

    /**
     * Sets orderId
     * @param  string  $orderId
     * @return OrderRequest
     */
    public function setOrderId($orderId)
    {
        $this->orderId = $orderId;

        return $this;
    }

    /**
     * Gets orderAmount
     * @return string
     */
    public function getOrderAmount()
    {
        return $this->orderAmount;
    }

    /**
     * Sets orderAmount
     * @param  string  $orderAmount
     * @return OrderRequest
     */
    public function setOrderAmount($orderAmount)
    {
        $this->orderAmount = $orderAmount;

        return $this;
    }

    /**
     * Gets goodsName
     * @return string
     */
    public function getGoodsName()
    {
        return $this->goodsName;
    }

    /**
     * Sets goodsName
     * @param  string  $goodsName
     * @return OrderRequest
     */
    public function setGoodsName($goodsName)
    {
        $this->goodsName = $goodsName;

        return $this;
    }

    /**
     * Gets fundProcessType
     * @return string
     */
    public function getFundProcessType()
    {
        return $this->fundProcessType;
    }

    /**
     * Sets fundProcessType
     * @param  string  $fundProcessType
     * @return OrderRequest
     */
    public function setFundProcessType($fundProcessType)
    {
        $this->fundProcessType = $fundProcessType;

        return $this;
    }

    /**
     * Gets notifyUrl
     * @return string
     */
    public function getNotifyUrl()
    {
        return $this->notifyUrl;
    }

    /**
     * Sets notifyUrl
     * @param  string  $notifyUrl
     * @return OrderRequest
     */
    public function setNotifyUrl($notifyUrl)
    {
        $this->notifyUrl = $notifyUrl;

        return $this;
    }

    /**
     * Gets memo
     * @return string
     */
    public function getMemo()
    {
        return $this->memo;
    }

    /**
     * Sets memo
     * @param  string  $memo
     * @return OrderRequest
     */
    public function setMemo($memo)
    {
        $this->memo = $memo;

        return $this;
    }

    /**
     * Gets subOrderDetail
     * @return string
     */
    public function getSubOrderDetail()
    {
        return $this->subOrderDetail;
    }

    /**
     * Sets subOrderDetail
     * @param  string  $subOrderDetail
     * @return OrderRequest
     */
    public function setSubOrderDetail($subOrderDetail)
    {
        $this->subOrderDetail = $subOrderDetail;

        return $this;
    }

    /**
     * Gets expiredTime
     * @return string
     */
    public function getExpiredTime()
    {
        return $this->expiredTime;
    }

    /**
     * Sets expiredTime
     * @param  string  $expiredTime
     * @return OrderRequest
     */
    public function setExpiredTime($expiredTime)
    {
        $this->expiredTime = $expiredTime;

        return $this;
    }

    /**
     * Gets redirectUrl
     * @return string
     */
    public function getRedirectUrl()
    {
        return $this->redirectUrl;
    }

    /**
     * Sets redirectUrl
     * @param  string  $redirectUrl
     * @return OrderRequest
     */
    public function setRedirectUrl($redirectUrl)
    {
        $this->redirectUrl = $redirectUrl;

        return $this;
    }

    /**
     * Gets csUrl
     * @return string
     */
    public function getCsUrl()
    {
        return $this->csUrl;
    }

    /**
     * Sets csUrl
     * @param  string  $csUrl
     * @return OrderRequest
     */
    public function setCsUrl($csUrl)
    {
        $this->csUrl = $csUrl;

        return $this;
    }

    /**
     * Gets businessInfo
     * @return string
     */
    public function getBusinessInfo()
    {
        return $this->businessInfo;
    }

    /**
     * Sets businessInfo
     * @param  string  $businessInfo
     * @return OrderRequest
     */
    public function setBusinessInfo($businessInfo)
    {
        $this->businessInfo = $businessInfo;

        return $this;
    }

    public static function getOperationId()
    {
        return 'order';
    }

}
