链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.7 KiB

  1. <?php
  2. namespace App\Admin\Common;
  3. use App\Models\ImsCjdcUser;
  4. use EasyWeChat\Factory;
  5. class WxPay
  6. {
  7. /**
  8. * 企业付配置
  9. * @param array $data
  10. * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
  11. * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
  12. * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
  13. * @throws \GuzzleHttp\Exception\GuzzleException
  14. */
  15. public static function transfers($data = [])
  16. {
  17. $app = Factory::payment(config('wechat.payment.default'));
  18. $res = $app->transfer->toBalance([
  19. 'partner_trade_no' => $data['partner_trade_no'], // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
  20. 'openid' => $data['openid'],
  21. 'check_name' => 'NO_CHECK', // NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名
  22. 're_user_name' => $data['re_user_name'], // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
  23. 'amount' => $data['amount'], // 企业付款金额,单位为分
  24. 'desc' => $data['desc'], // 企业付款操作说明信息。必填
  25. ]);
  26. return $res;
  27. }
  28. public static function pay($model,$form)
  29. {
  30. $data = [];
  31. $user = ImsCjdcUser::find($model->user_id);
  32. $data['openid'] = $user->openid;
  33. $data['amount'] = $form->model()->money * 100;
  34. $data['partner_trade_no'] = $form->model()->id;
  35. $data['re_user_name'] = $model->name;
  36. $data['desc'] = $model->name;
  37. return self::transfers($data);
  38. }
  39. }