PayController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\api\controller\v1;
  12. use app\Request;
  13. use crmeb\services\pay\Pay;
  14. /**
  15. * 支付回调
  16. * Class PayController
  17. * @package app\api\controller\v1
  18. */
  19. class PayController
  20. {
  21. /**
  22. * 支付回调
  23. * @param string $type
  24. * @return string|void
  25. * @throws \EasyWeChat\Core\Exceptions\FaultException
  26. */
  27. public function notify(string $type)
  28. {
  29. switch (urldecode($type)) {
  30. case 'alipay':
  31. /** @var Pay $pay */
  32. $pay = app()->make(Pay::class, ['ali_pay']);
  33. return $pay->handleNotify();
  34. case 'wechat':
  35. case 'routine':
  36. /** @var Pay $pay */
  37. $pay = app()->make(Pay::class);
  38. return $pay->handleNotify()->getContent();
  39. }
  40. }
  41. /**
  42. * 支付配置
  43. * @param Request $request
  44. * @return mixed
  45. */
  46. public function config(Request $request)
  47. {
  48. $config = [
  49. [
  50. 'icon' => 'icon-weixinzhifu',
  51. 'name' => '微信支付',
  52. 'value' => 'weixin',
  53. 'title' => '使用微信快捷支付',
  54. 'number' => null,
  55. 'payStatus' => !!sys_config('pay_weixin_open', 0),
  56. ],
  57. [
  58. 'icon' => 'icon-zhifubao',
  59. 'name' => '支付宝支付',
  60. 'value' => 'alipay',
  61. 'title' => '使用线上支付宝支付',
  62. 'number' => null,
  63. 'payStatus' => !!sys_config('ali_pay_status', 0),
  64. ],
  65. [
  66. 'icon' => 'icon-yuezhifu',
  67. 'name' => '余额支付',
  68. 'value' => 'yue',
  69. 'title' => '当前可用余额',
  70. 'number' => $request->user('now_money'),
  71. 'payStatus' => (int)sys_config('yue_pay_status', 0) === 1,
  72. ],
  73. [
  74. 'icon' => 'icon-yuezhifu1',
  75. 'name' => '线下支付',
  76. 'value' => 'offline',
  77. 'title' => '选择线下付款方式',
  78. 'number' => null,
  79. 'payStatus' => (int)sys_config('offline_pay_status', 0) === 1,
  80. ],
  81. [
  82. 'icon' => 'icon-haoyoudaizhifu',
  83. 'name' => '好友代付',
  84. 'value' => 'friend',
  85. 'title' => '找微信好友支付',
  86. 'number' => null,
  87. 'payStatus' => !!sys_config('friend_pay_status', 0),
  88. ]
  89. ];
  90. return app('json')->success($config);
  91. }
  92. }