RelationRefundRequest.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. /**
  3. * 退款交易 请求字段
  4. * RelationRefundRequest
  5. * PHP version 7.4
  6. *
  7. * @category Class
  8. * @package Lakala\OpenAPISDK\V3\Model
  9. * @author lucongyu
  10. * @link https://o.lakala.com
  11. */
  12. namespace SixShop\Lakala\OpenAPISDK\V3\Model;
  13. class RelationRefundRequest extends ModelRequest implements \JsonSerializable
  14. {
  15. // 商户号 M String(32) 拉卡拉分配的商户号
  16. protected $merchantNo;
  17. // 终端号 M String(32) 拉卡拉分配的商户号
  18. protected $termNo;
  19. // 商户交易流水号 M String(32) 商户系统唯一
  20. protected $outTradeNo;
  21. // 退款金额 M String(12) 单位分,整数数字型字符
  22. protected $refundAmount;
  23. // 退款原因 C String(32) 退款原因描述
  24. protected $refundReason;
  25. // 原商户交易流水号 C String(32) 下单时的商户请求流水号(退款时origin_out_trade_no,origin_trade_no,origin_log_no必送其一)
  26. protected $originOutTradeNo;
  27. // 原拉卡拉交易流水号 C String(32) 下单成功时,返回的拉卡拉交易流水。 origin_out_trade_no、origin_log_no、origin_trade_no至少一个必填(调用收银台下单接口拉起交易后发起退款时至少要传两个),同时存在时优先级顺序如下: origin_trade_no、origin_log_no、origin_out_trade_no。
  28. protected $originTradeNo;
  29. // 原对账单流水号 C String(14) 对账单中的交易流水。 origin_out_trade_no、origin_log_no、origin_trade_no至少一个必填(调用收银台下单接口拉起交易后发起退款时至少要传两个,同时存在时优先级顺序如下: origin_trade_no、origin_log_no、origin_out_trade_no。
  30. protected $originLogNo;
  31. // 地址位置信息 M Object 地址位置信息,风控要求必送
  32. protected $locationInfo;
  33. public function setMerchantNo($merchantNo)
  34. {
  35. $this->merchantNo = $merchantNo;
  36. return $this;
  37. }
  38. public function getMerchantNo()
  39. {
  40. return $this->merchantNo;
  41. }
  42. public function setTermNo($termNo)
  43. {
  44. $this->termNo = $termNo;
  45. return $this;
  46. }
  47. public function getTermNo()
  48. {
  49. return $this->termNo;
  50. }
  51. public function setOutTradeNo($outTradeNo)
  52. {
  53. $this->outTradeNo = $outTradeNo;
  54. return $this;
  55. }
  56. public function getOutTradeNo()
  57. {
  58. return $this->outTradeNo;
  59. }
  60. public function setRefundAmount($refundAmount)
  61. {
  62. $this->refundAmount = $refundAmount;
  63. return $this;
  64. }
  65. public function getRefundAmount()
  66. {
  67. return $this->refundAmount;
  68. }
  69. public function setRefundReason($refundReason)
  70. {
  71. $this->refundReason = $refundReason;
  72. return $this;
  73. }
  74. public function getRefundReason()
  75. {
  76. return $this->refundReason;
  77. }
  78. public function setOriginOutTradeNo($originOutTradeNo)
  79. {
  80. $this->originOutTradeNo = $originOutTradeNo;
  81. return $this;
  82. }
  83. public function getOriginOutTradeNo()
  84. {
  85. return $this->originOutTradeNo;
  86. }
  87. public function setOriginTradeNo($originTradeNo)
  88. {
  89. $this->originTradeNo = $originTradeNo;
  90. return $this;
  91. }
  92. public function getOriginTradeNo()
  93. {
  94. return $this->originTradeNo;
  95. }
  96. public function setOriginLogNo($originLogNo)
  97. {
  98. $this->originLogNo = $originLogNo;
  99. return $this;
  100. }
  101. public function getOriginLogNo()
  102. {
  103. return $this->originLogNo;
  104. }
  105. public function setLocationInfo($locationInfo)
  106. {
  107. $this->locationInfo = $locationInfo;
  108. return $this;
  109. }
  110. public function getLocationInfo()
  111. {
  112. return $this->locationInfo;
  113. }
  114. /**
  115. * Show all the invalid properties with reasons.
  116. *
  117. * @return array invalid properties with reasons
  118. */
  119. public function listInvalidProperties()
  120. {
  121. $invalidProperties = [];
  122. if (strlen($this->merchantNo)===0) $invalidProperties[] = '商户号不能为空';
  123. if (strlen($this->termNo)===0) $invalidProperties[] = '终端号不能为空';
  124. if (strlen($this->outTradeNo)===0) $invalidProperties[] = '商户交易流水号不能为空';
  125. if (strlen($this->refundAmount)===0) $invalidProperties[] = '退款金额不能为空';
  126. if ($this->locationInfo == null) $invalidProperties[] = '地址位置信息不能为空';
  127. return $invalidProperties;
  128. }
  129. public function jsonSerialize()
  130. {
  131. $this->setReqData([
  132. 'merchant_no' => $this->merchantNo,
  133. 'term_no' => $this->termNo,
  134. 'out_trade_no' => $this->outTradeNo,
  135. 'refund_amount' => $this->refundAmount,
  136. 'refund_reason' => $this->refundReason,
  137. 'origin_out_trade_no' => $this->originOutTradeNo,
  138. 'origin_trade_no' => $this->originTradeNo,
  139. 'origin_log_no' => $this->originLogNo,
  140. 'location_info' => $this->locationInfo === null ? $this->locationInfo : $this->locationInfo->jsonSerialize(),
  141. ]);
  142. return parent::jsonSerialize();
  143. }
  144. }