PaymentList.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. namespace addons\UnionPay\common\global_func;
  3. use addons\UnionPay\common\enums\UnionPayEnum;
  4. use common\enums\PayTypeEnum;
  5. use common\models\user\User;
  6. use Yii;
  7. use yii\helpers\Json;
  8. /**
  9. * 获取支付方式公共调用
  10. */
  11. class PaymentList
  12. {
  13. /**
  14. * 获取支付方式
  15. *
  16. * @param array $params
  17. * @return array
  18. */
  19. public static function getPaymentList($params)
  20. {
  21. // 当前商城ID
  22. $mall_id = $params['mall_id'];
  23. // 当前平台
  24. $app_platform = $params['app_platform']; // 平台类型
  25. $configs = \Yii::$app->services->setting->addons->get($mall_id, UnionPayEnum::ADDONS_NAME, 'basic');
  26. if (empty($configs['is_enable'])) return [];
  27. $wechat_trade_name = '通联微信';
  28. $alipay_trade_name = '通联支付宝';
  29. $fastpay_trade_name = '银联支付';
  30. if (!empty($configs['wechat_trade_name'])) $wechat_trade_name = $configs['wechat_trade_name'];
  31. if (!empty($configs['wechat_trade_name'])) $alipay_trade_name = $configs['alipay_trade_name'];
  32. if (!empty($configs['fastpay_trade_name'])) $fastpay_trade_name = $configs['fastpay_trade_name'];
  33. $way = [];
  34. $api_url = \Yii::$app->services->setting->platform->get('system.api_url');
  35. switch ($app_platform) {
  36. case User::TYPE_H5:
  37. if (!empty($configs['wechat_h5_open'])) {
  38. $way[] = [
  39. 'action' => 'W02',
  40. 'img' => $api_url . '/resources/img/payment/wechat.png',
  41. 'name' => $wechat_trade_name,
  42. 'pay_type' => PayTypeEnum::UNIONPAY,
  43. 'trade_type' => 'W02',
  44. ];
  45. }
  46. if (!empty($configs['mp_wx_cashier_open'])) {
  47. $way[] = [
  48. 'action' => 'W06-CASHIER',
  49. 'img' => $api_url . '/resources/img/payment/wechat.png',
  50. 'name' => $wechat_trade_name.'-收银台',
  51. 'pay_type' => PayTypeEnum::UNIONPAY,
  52. 'trade_type' => 'W06-CASHIER',
  53. ];
  54. }
  55. if (!empty($configs['alipay_h5_open'])) {
  56. $way[] = [
  57. 'action' => 'A01',
  58. 'img' => $api_url . '/resources/img/payment/alipay.png',
  59. 'name' => $alipay_trade_name,
  60. 'pay_type' => PayTypeEnum::UNIONPAY,
  61. 'trade_type' => 'A01',
  62. ];
  63. }
  64. break;
  65. case User::TYPE_APP:
  66. if (!empty($configs['wechat_app_open'])) {
  67. $way[] = [
  68. 'action' => 'W06',
  69. 'img' => $api_url . '/resources/img/payment/wechat.png',
  70. 'name' => $wechat_trade_name,
  71. 'pay_type' => PayTypeEnum::UNIONPAY,
  72. 'trade_type' => 'W06',
  73. ];
  74. }
  75. if (!empty($configs['alipay_app_open'])) {
  76. $way[] = [
  77. 'action' => 'A01',
  78. 'img' => $api_url . '/resources/img/payment/alipay.png',
  79. 'name' => $alipay_trade_name,
  80. 'pay_type' => PayTypeEnum::UNIONPAY,
  81. 'trade_type' => 'A01',
  82. ];
  83. }
  84. break;
  85. case User::TYPE_WECHAT:
  86. if (!empty($configs['wechat_open'])) {
  87. $way[] = [
  88. 'action' => 'W02',
  89. 'img' => $api_url . '/resources/img/payment/wechat.png',
  90. 'name' => $wechat_trade_name,
  91. 'pay_type' => PayTypeEnum::UNIONPAY,
  92. 'trade_type' => 'W02',
  93. ];
  94. }
  95. break;
  96. case User::TYPE_MP_WX:
  97. if (!empty($configs['mp_wx_open'])) {
  98. $way[] = [
  99. 'action' => 'W06',
  100. 'img' => $api_url . '/resources/img/payment/wechat.png',
  101. 'name' => $wechat_trade_name,
  102. 'pay_type' => PayTypeEnum::UNIONPAY,
  103. 'trade_type' => 'W06',
  104. ];
  105. }
  106. if (!empty($configs['mp_wx_cashier_open'])) {
  107. $way[] = [
  108. 'action' => 'W06-CASHIER',
  109. 'img' => $api_url . '/resources/img/payment/wechat.png',
  110. 'name' => $wechat_trade_name.'-收银台',
  111. 'pay_type' => PayTypeEnum::UNIONPAY,
  112. 'trade_type' => 'W06-CASHIER',
  113. ];
  114. }
  115. break;
  116. }
  117. if (!empty($configs['fastpay_js_open'])) {
  118. $way[] = [
  119. 'action' => 'fast_pay',
  120. 'img' => $api_url . '/resources/img/payment/joinpay_fast.png',
  121. 'name' => $fastpay_trade_name,
  122. 'pay_type' => PayTypeEnum::UNIONPAY,
  123. 'trade_type' => 'fast_pay',
  124. ];
  125. }
  126. return $way;
  127. }
  128. /**
  129. * 获取支付方式
  130. *
  131. * @param array $params
  132. * @return array
  133. */
  134. public static function getPaymentType($params)
  135. {
  136. // 当前商城ID
  137. $mall_id = $params['mall_id'];
  138. $configs = \Yii::$app->services->setting->addons->get($mall_id, UnionPayEnum::ADDONS_NAME, 'basic');
  139. if (empty($configs['is_enable'])) return [];
  140. $enable_pay_type[] = [
  141. "name" => "通联支付",
  142. "pay_type" => PayTypeEnum::UNIONPAY
  143. ];
  144. return $enable_pay_type;
  145. }
  146. }