PaymentList.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <?php
  2. namespace addons\HuifuPay\common\global_func\payment_list;
  3. use common\enums\AddonsEnum;
  4. use common\enums\PayTypeEnum;
  5. use common\models\user\User;
  6. class PaymentList
  7. {
  8. /**
  9. * 获取支付方式
  10. *
  11. * @param array $params
  12. * @return array
  13. */
  14. public static function getPaymentList($params)
  15. {
  16. // 当前商城ID
  17. $mall_id = $params['mall_id'];
  18. // 当前平台
  19. $app_platform = $params['app_platform']; // 平台类型
  20. $configs = \Yii::$app->services->setting->addons->get($mall_id, AddonsEnum::ADDONS_NAME_HUIFU_PAY, 'basic');
  21. if (empty($configs['huifupay_status'])) return [];
  22. $wechat_trade_name = '汇付微信';
  23. $alipay_trade_name = '汇付支付宝';
  24. $fastpay_trade_name = '汇付快捷支付';
  25. $bigpay_trade_name = '汇付大额支付';
  26. $balance_trade_name = '汇付余额支付';
  27. if (!empty($configs['huifupay_wechat_trade_name'])) $wechat_trade_name = $configs['huifupay_wechat_trade_name'];
  28. if (!empty($configs['huifupay_alipay_trade_name'])) $alipay_trade_name = $configs['huifupay_alipay_trade_name'];
  29. if (!empty($configs['huifupay_fastpay_trade_name'])) $fastpay_trade_name = $configs['huifupay_fastpay_trade_name'];
  30. if (!empty($configs['huifupay_big_trade_name'])) $bigpay_trade_name = $configs['huifupay_big_trade_name'];
  31. if (!empty($configs['huifupay_balance_trade_name'])) $balance_trade_name = $configs['huifupay_balance_trade_name'];
  32. $way = [];
  33. $api_url = \Yii::$app->services->setting->platform->get('system.api_url');
  34. $static_url = \Yii::$app->services->setting->platform->get('system.static_url');
  35. switch ($app_platform) {
  36. case User::TYPE_H5:
  37. if (!empty($configs['huifupay_wechat_h5_open'])) {
  38. $way[] = [
  39. 'action' => 'h5_wechat',
  40. 'img' => $api_url . '/resources/img/payment/wechat.png',
  41. 'name' => $wechat_trade_name,
  42. 'pay_type' => PayTypeEnum::HUIFUPAY,
  43. 'trade_type' => 'h5_wechat',
  44. ];
  45. }
  46. if (!empty($configs['huifupay_alipay_h5_open'])) {
  47. $way[] = [
  48. 'action' => 'h5_alipay',
  49. 'img' => $api_url . '/resources/img/payment/alipay.png',
  50. 'name' => $alipay_trade_name,
  51. 'pay_type' => PayTypeEnum::HUIFUPAY,
  52. 'trade_type' => 'h5_alipay',
  53. ];
  54. }
  55. break;
  56. case User::TYPE_APP:
  57. if (!empty($configs['huifupay_wechat_app_open'])) {
  58. $way[] = [
  59. 'action' => 'app_wechat',
  60. 'img' => $api_url . '/resources/img/payment/wechat.png',
  61. 'name' => $wechat_trade_name,
  62. 'pay_type' => PayTypeEnum::HUIFUPAY,
  63. 'trade_type' => 'app_wechat',
  64. ];
  65. }
  66. if (!empty($configs['huifupay_alipay_h5_open'])) {
  67. $way[] = [
  68. 'action' => 'app_alipay',
  69. 'img' => $api_url . '/resources/img/payment/alipay.png',
  70. 'name' => $alipay_trade_name,
  71. 'pay_type' => PayTypeEnum::HUIFUPAY,
  72. 'trade_type' => 'app_alipay',
  73. ];
  74. }
  75. break;
  76. case User::TYPE_WECHAT:
  77. if (!empty($configs['huifupay_wechat_open'])) {
  78. $way[] = [
  79. 'action' => 'wechat',
  80. 'img' => $api_url . '/resources/img/payment/wechat.png',
  81. 'name' => $wechat_trade_name,
  82. 'pay_type' => PayTypeEnum::HUIFUPAY,
  83. 'trade_type' => 'wechat',
  84. ];
  85. }
  86. break;
  87. case User::TYPE_MP_WX:
  88. if (!empty($configs['huifupay_mp_wx_open_jhzs'])) {
  89. $way[] = [
  90. 'action' => 'T_MINIAPP',
  91. 'img' => $api_url . '/resources/img/payment/wechat.png',
  92. 'name' => $wechat_trade_name,
  93. 'pay_type' => PayTypeEnum::HUIFUPAY,
  94. 'trade_type' => 'T_MINIAPP',
  95. ];
  96. }
  97. if (!empty($configs['huifupay_mp_wx_open'])) {
  98. $way[] = [
  99. 'action' => 'mp_wechat',
  100. 'img' => $api_url . '/resources/img/payment/wechat.png',
  101. 'name' => $wechat_trade_name,
  102. 'pay_type' => PayTypeEnum::HUIFUPAY,
  103. 'trade_type' => 'mp_wechat',
  104. ];
  105. }
  106. break;
  107. }
  108. if (!empty($configs['huifupay_fast_pay_status'])) {
  109. $way[] = [
  110. 'action' => 'fast_pay',
  111. 'img' => $static_url . '/static/addons/HuifuPay/huifupay.png',
  112. 'name' => $fastpay_trade_name,
  113. 'pay_type' => PayTypeEnum::HUIFUPAY,
  114. 'trade_type' => 'fast_pay',
  115. ];
  116. }
  117. if (!empty($configs['huifupay_big_pay_status'])) {
  118. $way[] = [
  119. 'action' => 'big_pay',
  120. 'img' => $static_url . '/static/addons/HuifuPay/huifupay_fast.png',
  121. 'name' => $bigpay_trade_name,
  122. 'pay_type' => PayTypeEnum::HUIFUPAY,
  123. 'trade_type' => 'big_pay',
  124. ];
  125. }
  126. if (!empty($configs['huifupay_balance_pay_status'])) {
  127. // $way[] = [
  128. // 'action' => 'balance_pay',
  129. // 'img' => $static_url . '/static/addons/HuifuPay/huifupay.png',
  130. // 'name' => $balance_trade_name,
  131. // 'pay_type' => PayTypeEnum::HUIFUPAY,
  132. // 'trade_type' => 'balance_pay',
  133. // ];
  134. }
  135. return $way;
  136. }
  137. /**
  138. * 获取支付方式
  139. *
  140. * @param array $params
  141. * @return array
  142. */
  143. public static function getPaymentType($params)
  144. {
  145. // 当前商城ID
  146. $mall_id = $params['mall_id'];
  147. $configs = \Yii::$app->services->setting->addons->get($mall_id, AddonsEnum::ADDONS_NAME_HUIFU_PAY, 'basic');
  148. if (empty($configs['huifupay_status'])) return [];
  149. $enable_pay_type[] = [
  150. "name" => "汇付支付",
  151. "pay_type" => PayTypeEnum::HUIFUPAY
  152. ];
  153. return $enable_pay_type;
  154. }
  155. }