finance-pay/app/api/controller/WechatPayServiceMerchantPay...

75 lines
2.3 KiB
PHP
Raw Normal View History

2023-11-15 12:02:33 +08:00
<?php
namespace app\api\controller;
use app\common\enum\user\UserTerminalEnum;
use app\common\logic\PaymentLogic;
use app\common\logic\WechatPayServiceMerchantPaymentLogic;
use app\common\service\pay\WeChatPayMerchantService;
use app\common\service\pay\WeChatPayService;
2023-11-20 12:07:06 +08:00
use think\Log;
2023-11-15 12:02:33 +08:00
class WechatPayServiceMerchantPayController extends BaseApiController
{
2023-11-21 10:57:38 +08:00
public array $notNeedLogin = ['appPrePay', 'notifyApp', 'refund', 'refundNotify'];
2023-11-15 12:02:33 +08:00
/**
* 微信服务商APP支付
*/
public function appPrePay()
{
$params = $this->request->param();
2023-11-20 12:07:06 +08:00
\think\facade\Log::info(['微信服务商APP支付接收参数', $params]);
2023-11-15 12:02:33 +08:00
//订单信息
$order = WechatPayServiceMerchantPaymentLogic::createPayOrder($params);
if (false === $order) {
return $this->fail('支付订单创建失败', $params);
}
//支付流程
2023-11-16 14:04:58 +08:00
$result = (new WeChatPayMerchantService())->wechatPayServiceMerchantAppPay($order);
2023-11-20 12:07:06 +08:00
2023-11-15 12:02:33 +08:00
if (false === $result) {
2023-11-16 14:04:58 +08:00
return $this->fail((new WeChatPayMerchantService())->getError(), $params);
2023-11-15 12:02:33 +08:00
}
return $this->success('', $result);
}
/**
* 申请退款
*/
public function refund()
{
$params = $this->request->param(); // business_order_no order_type
$refundOrder = WechatPayServiceMerchantPaymentLogic::createRefundOrder($params);
if (false === $refundOrder) {
return $this->fail('退款订单创建失败', $params);
}
//支付流程
$result = (new WeChatPayMerchantService())->refund($refundOrder);
if (false === $result) {
return $this->fail((new WeChatPayMerchantService())->getError(), $params);
}
}
2023-11-15 12:02:33 +08:00
/**
* @notes app支付回调
* @return \Psr\Http\Message\ResponseInterface
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
* @throws \ReflectionException
* @throws \Throwable
* @date 2023/2/28 14:21
*/
public function notifyApp()
{
return (new WeChatPayMerchantService())->notify();
}
/**
* 退款回调
*/
public function refundNotify()
{
return (new WeChatPayMerchantService())->refundNotify();
}
2023-11-15 12:02:33 +08:00
}