RefundTrans.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. namespace addons\YunfastPay\common\services\trans\nocash;
  3. use addons\YunfastPay\common\services\trans\TransAbstract;
  4. /**
  5. * 退款支付
  6. * RefundTrans class
  7. * @package addons\YunfastPay\common\services\trans\nocash
  8. * @see https://yunfastpay.com/#/interface/tk
  9. */
  10. class RefundTrans extends TransAbstract
  11. {
  12. /**
  13. * @var string
  14. */
  15. protected $outOrderId;
  16. /**
  17. * @var string
  18. */
  19. protected $oglOrdId;
  20. /**
  21. * @var string
  22. */
  23. protected $oglOrdDate;
  24. /**
  25. * @var float
  26. */
  27. protected $transAmt;
  28. /**
  29. * 实例化
  30. *
  31. * @param string $outOrderId 退款交易的商家订单号
  32. * @param string $oglOrdId 原支付订单外部订单号(与oglOrderCd二选一)
  33. * @param string $oglOrdDate 原支付订单日期,格式:yyyyMMdd
  34. * @param float $transAmt 退款金额
  35. */
  36. public function __construct(
  37. string $outOrderId,
  38. string $oglOrdId,
  39. string $oglOrdDate,
  40. float $transAmt
  41. )
  42. {
  43. $this->outOrderId = $outOrderId;
  44. $this->oglOrdId = $oglOrdId;
  45. $this->oglOrdDate = $oglOrdDate;
  46. $this->transAmt = $transAmt;
  47. }
  48. /**
  49. * 交易码
  50. *
  51. * @return string
  52. */
  53. public function getTrscode() :string
  54. {
  55. return 'TRANS0107';
  56. }
  57. /**
  58. * 聚合:tran(退款不需要)
  59. *
  60. * @return string
  61. */
  62. public function getProCd() :string
  63. {
  64. return '';
  65. }
  66. /**
  67. * 费率通道(退款不需要)
  68. *
  69. * @return integer
  70. */
  71. public function getChanelType() :int
  72. {
  73. return 0;
  74. }
  75. /**
  76. * 返回回调处理类型 ['pay', 'agent', 'refund'] 默认pay 代付agent 退款refund
  77. *
  78. * @return string
  79. */
  80. public function getNotifyType()
  81. {
  82. return 'refund';
  83. }
  84. public function getTransData(string $mchtCd) :array
  85. {
  86. $reqData['trscode'] = $this->getTrscode();
  87. $reqData['mchtCd'] = $mchtCd;
  88. $reqData['outOrderId'] = $this->outOrderId;
  89. $reqData['oglOrdId'] = $this->oglOrdId;
  90. $reqData['oglOrdDate'] = $this->oglOrdDate;
  91. $reqData['transAmt'] = $this->transAmt;
  92. return $reqData;
  93. }
  94. }