busiMode = 'ACQ'; } public function setMerchantNo($merchantNo) { $this->merchantNo = $merchantNo; return $this; } public function getMerchantNo() { return $this->merchantNo; } public function setTermNo($termNo) { $this->termNo = $termNo; return $this; } public function getTermNo() { return $this->termNo; } public function setOutTradeNo($outTradeNo) { $this->outTradeNo = $outTradeNo; return $this; } public function getOutTradeNo() { return $this->outTradeNo; } public function setAuthCode($authCode) { $this->authCode = $authCode; return $this; } public function getAuthCode() { return $this->authCode; } public function setTotalAmount($totalAmount) { $this->totalAmount = $totalAmount; return $this; } public function getTotalAmount() { return $this->totalAmount; } public function setLocationInfo($locationInfo) { $this->locationInfo = $locationInfo; return $this; } public function getLocationInfo() { return $this->locationInfo; } public function setBusiMode($busiMode) { $this->busiMode = $busiMode; return $this; } public function getBusiMode() { return $this->busiMode; } public function setSubject($subject) { $this->subject = $subject; return $this; } public function getSubject() { return $this->subject; } public function setPayOrderNo($payOrderNo) { $this->payOrderNo = $payOrderNo; return $this; } public function getPayOrderNo() { return $this->payOrderNo; } public function setNotifyUrl($notifyUrl) { $this->notifyUrl = $notifyUrl; return $this; } public function getNotifyUrl() { return $this->notifyUrl; } public function setSettleType($settleType) { $this->settleType = $settleType; return $this; } public function getSettleType() { return $this->settleType; } public function setRemark($remark) { $this->remark = $remark; return $this; } public function getRemark() { return $this->remark; } public function setScanType($scanType) { $this->scanType = $scanType; return $this; } public function getScanType() { return $this->scanType; } public function setPromoInfo($promoInfo) { $this->promoInfo = $promoInfo; return $this; } public function getPromoInfo() { return $this->promoInfo; } public function setAccBusiFields($accBusiFields) { $this->accBusiFields = $accBusiFields; return $this; } public function getAccBusiFields() { return $this->accBusiFields; } public function setOutOrderNo($outOrderNo) { $this->outOrderNo = $outOrderNo; return $this; } public function getOutOrderNo() { return $this->outOrderNo; } public function setPnrInsIdCd($pnrInsIdCd) { $this->pnrInsIdCd = $pnrInsIdCd; return $this; } public function getPnrInsIdCd() { return $this->pnrInsIdCd; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; if (strlen($this->merchantNo) === 0) { $invalidProperties[] = '商户号不能为空'; } if (strlen($this->termNo) === 0) { $invalidProperties[] = '终端号不能为空'; } if (strlen($this->outTradeNo) === 0) { $invalidProperties[] = '商户交易流水号不能为空'; } if (strlen($this->authCode) === 0) { $invalidProperties[] = '支付授权码不能为空'; } if (strlen($this->totalAmount) === 0) { $invalidProperties[] = '金额不能为空'; } if ($this->locationInfo == null) { $invalidProperties[] = '地址位置信息不能为空'; } return $invalidProperties; } public function jsonSerialize() { $this->setReqData([ 'merchant_no' => $this->merchantNo, 'term_no' => $this->termNo, 'out_trade_no' => $this->outTradeNo, 'auth_code' => $this->authCode, 'total_amount' => $this->totalAmount, 'location_info' => $this->locationInfo === null ? $this->locationInfo : $this->locationInfo->jsonSerialize(), 'busi_mode' => $this->busiMode, 'subject' => $this->subject, 'pay_order_no' => $this->payOrderNo, 'notify_url' => $this->notifyUrl, 'settle_type' => $this->settleType, 'remark' => $this->remark, 'scan_type' => $this->scanType, 'promo_info' => $this->promoInfo, 'acc_busi_fields' => $this->accBusiFields === null ? $this->accBusiFields : $this->accBusiFields->jsonSerialize(), 'out_order_no' => $this->outOrderNo, 'pnr_ins_id_cd' => $this->pnrInsIdCd, ]); return parent::jsonSerialize(); } }