diff --git a/app/data/service/PaymentService.php b/app/data/service/PaymentService.php index e3a66b8c0..1a0158c0f 100644 --- a/app/data/service/PaymentService.php +++ b/app/data/service/PaymentService.php @@ -280,49 +280,49 @@ abstract class PaymentService * 创建支付订单 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 交易订单描述 - * @param string $paymentReturn 支付回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 交易订单描述 + * @param string $payReturn 支付回跳地址 + * @param string $payImage 支付凭证图片 * @return array */ - abstract public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array; + abstract public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array; /** * 创建支付行为 * @param string $orderNo 商户订单单号 - * @param string $paymentTitle 商户订单标题 - * @param string $paymentAmount 需要支付金额 + * @param string $payTitle 商户订单标题 + * @param string $payAmount 需要支付金额 */ - protected function createPaymentAction(string $orderNo, string $paymentTitle, string $paymentAmount) + protected function createPaymentAction(string $orderNo, string $payTitle, string $payAmount) { DataUserPayment::mk()->insert([ 'payment_code' => $this->code, 'payment_type' => $this->type, 'order_no' => $orderNo, - 'order_name' => $paymentTitle, - 'order_amount' => $paymentAmount, + 'order_name' => $payTitle, + 'order_amount' => $payAmount, ]); } /** * 更新支付记录并更新订单 * @param string $orderNo 商户订单单号 - * @param string $paymentTrade 平台交易单号 - * @param string $paymentAmount 实际到账金额 - * @param string $paymentRemark 平台支付备注 + * @param string $payTrade 平台交易单号 + * @param string $payAmount 实际到账金额 + * @param string $payRemark 平台支付备注 * @return boolean */ - protected function updatePaymentAction(string $orderNo, string $paymentTrade, string $paymentAmount, string $paymentRemark = '在线支付'): bool + protected function updatePaymentAction(string $orderNo, string $payTrade, string $payAmount, string $payRemark = '在线支付'): bool { // 更新支付记录 DataUserPayment::mUpdate([ 'order_no' => $orderNo, 'payment_code' => $this->code, 'payment_type' => $this->type, - 'payment_trade' => $paymentTrade, - 'payment_amount' => $paymentAmount, + 'payment_trade' => $payTrade, + 'payment_amount' => $payAmount, 'payment_status' => 1, 'payment_datatime' => date('Y-m-d H:i:s'), ], 'order_no', [ @@ -330,19 +330,19 @@ abstract class PaymentService 'payment_type' => $this->type, ]); // 更新记录状态 - return $this->updatePaymentOrder($orderNo, $paymentTrade, $paymentAmount, $paymentRemark); + return $this->updatePaymentOrder($orderNo, $payTrade, $payAmount, $payRemark); } /** * 订单支付更新操作 * @param string $orderNo 订单单号 - * @param string $paymentTrade 交易单号 - * @param string $paymentAmount 支付金额 - * @param string $paymentRemark 支付描述 - * @param string $paymentImage 支付凭证 + * @param string $payTrade 交易单号 + * @param string $payAmount 支付金额 + * @param string $payRemark 支付描述 + * @param string $payImage 支付凭证 * @return boolean */ - protected function updatePaymentOrder(string $orderNo, string $paymentTrade, string $paymentAmount, string $paymentRemark = '在线支付', string $paymentImage = ''): bool + protected function updatePaymentOrder(string $orderNo, string $payTrade, string $payAmount, string $payRemark = '在线支付', string $payImage = ''): bool { $map = ['status' => 2, 'order_no' => $orderNo, 'payment_status' => 0]; $order = ShopOrder::mk()->where($map)->findOrEmpty(); @@ -359,10 +359,10 @@ abstract class PaymentService $order['stauts'] = $status; $order['payment_code'] = $this->code; $order['payment_type'] = $this->type; - $order['payment_trade'] = $paymentTrade; - $order['payment_image'] = $paymentImage; - $order['payment_amount'] = $paymentAmount; - $order['payment_remark'] = $paymentRemark; + $order['payment_trade'] = $payTrade; + $order['payment_image'] = $payImage; + $order['payment_amount'] = $payAmount; + $order['payment_remark'] = $payRemark; $order['payment_status'] = 1; $order['payment_datetime'] = date('Y-m-d H:i:s'); $order->save(); diff --git a/app/data/service/payment/AlipayPaymentService.php b/app/data/service/payment/AlipayPaymentService.php index 447cd7a48..a9bd5a438 100644 --- a/app/data/service/payment/AlipayPaymentService.php +++ b/app/data/service/payment/AlipayPaymentService.php @@ -28,15 +28,15 @@ class AlipayPaymentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws Exception */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { try { if (isset(static::TYPES[$this->type])) { @@ -46,10 +46,10 @@ class AlipayPaymentService extends PaymentService } $this->config['notify_url'] = sysuri("@data/api.notify/alipay/scene/order/param/{$this->code}", [], false, true); if (in_array($tradeType, [static::PAYMENT_ALIPAY_WAP, static::PAYMENT_ALIPAY_WEB])) { - if (empty($paymentReturn)) { + if (empty($payReturn)) { throw new Exception('支付回跳地址不能为空!'); } else { - $this->config['return_url'] = $paymentReturn; + $this->config['return_url'] = $payReturn; } } if ($tradeType === static::PAYMENT_WECHAT_APP) { @@ -61,11 +61,11 @@ class AlipayPaymentService extends PaymentService } else { throw new Exception("支付类型[{$tradeType}]暂时不支持!"); } - $data = ['out_trade_no' => $orderNo, 'total_amount' => $paymentAmount, 'subject' => $paymentTitle]; - if (!empty($paymentRemark)) $data['body'] = $paymentRemark; + $data = ['out_trade_no' => $orderNo, 'total_amount' => $payAmount, 'subject' => $payTitle]; + if (!empty($payRemark)) $data['body'] = $payRemark; $result = $payment->apply($data); // 创建支付记录 - $this->createPaymentAction($orderNo, $paymentTitle, $paymentAmount); + $this->createPaymentAction($orderNo, $payTitle, $payAmount); // 返回支付参数 return ['result' => $result]; } catch (Exception $exception) { @@ -78,10 +78,7 @@ class AlipayPaymentService extends PaymentService /** * 支付结果处理 * @return string - * @throws \WeChat\Exceptions\InvalidResponseException - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException + * @throws InvalidResponseException */ public function notify(): string { diff --git a/app/data/service/payment/BalancePyamentService.php b/app/data/service/payment/BalancePyamentService.php index 0c05174da..6656af837 100644 --- a/app/data/service/payment/BalancePyamentService.php +++ b/app/data/service/payment/BalancePyamentService.php @@ -39,44 +39,44 @@ class BalancePyamentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws \think\admin\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { $order = ShopOrder::mk()->where(['order_no' => $orderNo])->find(); if (empty($order)) throw new Exception("订单不存在"); if ($order['status'] !== 2) throw new Exception("不可发起支付"); // 创建支付行为 - $this->createPaymentAction($orderNo, $paymentTitle, $paymentAmount); + $this->createPaymentAction($orderNo, $payTitle, $payAmount); // 检查能否支付 [$total, $count] = UserBalanceService::instance()->amount($order['uuid'], [$orderNo]); - if ($paymentAmount > $total - $count) throw new Exception("可抵扣余额不足"); + if ($payAmount > $total - $count) throw new Exception("可抵扣余额不足"); try { // 扣减用户余额 - $this->app->db->transaction(function () use ($order, $paymentAmount) { + $this->app->db->transaction(function () use ($order, $payAmount) { // 更新订单余额 ShopOrder::mk()->where(['order_no' => $order['order_no']])->update([ - 'payment_balance' => $paymentAmount, + 'payment_balance' => $payAmount, ]); // 扣除余额金额 data_save(DataUserBalance::mk(), [ 'uuid' => $order['uuid'], 'code' => "KC{$order['order_no']}", 'name' => "账户余额支付", - 'remark' => "支付订单 {$order['order_no']} 的扣除余额 {$paymentAmount} 元", - 'amount' => -$paymentAmount, + 'remark' => "支付订单 {$order['order_no']} 的扣除余额 {$payAmount} 元", + 'amount' => -$payAmount, ], 'code'); // 更新支付行为 - $this->updatePaymentAction($order['order_no'], CodeExtend::uniqidDate(20), $paymentAmount, '账户余额支付'); + $this->updatePaymentAction($order['order_no'], CodeExtend::uniqidDate(20), $payAmount, '账户余额支付'); }); // 刷新用户余额 UserBalanceService::instance()->amount($order['uuid']); diff --git a/app/data/service/payment/EmptyPaymentService.php b/app/data/service/payment/EmptyPaymentService.php index 5d27087b5..18a091556 100644 --- a/app/data/service/payment/EmptyPaymentService.php +++ b/app/data/service/payment/EmptyPaymentService.php @@ -38,26 +38,26 @@ class EmptyPaymentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws \think\admin\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { $order = ShopOrder::mk()->where(['order_no' => $orderNo])->find(); if (empty($order)) throw new Exception("订单不存在"); if ($order['status'] !== 2) throw new Exception("不可发起支付"); // 创建支付行为 - $this->createPaymentAction($orderNo, $paymentTitle, $paymentAmount); + $this->createPaymentAction($orderNo, $payTitle, $payAmount); // 更新支付行为 - $this->updatePaymentAction($orderNo, CodeExtend::uniqidDate(20), $paymentAmount, '无需支付'); + $this->updatePaymentAction($orderNo, CodeExtend::uniqidDate(20), $payAmount, '无需支付'); return ['code' => 1, 'info' => '订单无需支付']; } } \ No newline at end of file diff --git a/app/data/service/payment/JoinpayPaymentService.php b/app/data/service/payment/JoinpayPaymentService.php index 23ff1efd8..6a8f364dc 100644 --- a/app/data/service/payment/JoinpayPaymentService.php +++ b/app/data/service/payment/JoinpayPaymentService.php @@ -47,15 +47,15 @@ class JoinpayPaymentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws Exception */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { try { if (isset(static::TYPES[$this->type])) { @@ -67,10 +67,10 @@ class JoinpayPaymentService extends PaymentService 'p0_Version' => '1.0', 'p1_MerchantNo' => $this->mchid, 'p2_OrderNo' => $orderNo, - 'p3_Amount' => $paymentAmount, + 'p3_Amount' => $payAmount, 'p4_Cur' => '1', - 'p5_ProductName' => $paymentTitle, - 'p6_ProductDesc' => $paymentRemark, + 'p5_ProductName' => $payTitle, + 'p6_ProductDesc' => $payRemark, 'p9_NotifyUrl' => sysuri("@data/api.notify/joinpay/scene/order/param/{$this->code}", [], false, true), 'q1_FrpCode' => $tradeType ?? '', 'q5_OpenId' => $openid, @@ -80,12 +80,12 @@ class JoinpayPaymentService extends PaymentService if (empty($data['q5_OpenId'])) unset($data['q5_OpenId']); $this->uri = 'https://www.joinpay.com/trade/uniPayApi.action'; $result = $this->_doReuest($data); - if (is_array($result) && isset($result['ra_Code']) && intval($result['ra_Code']) === 100) { + if (isset($result['ra_Code']) && intval($result['ra_Code']) === 100) { // 创建支付记录 - $this->createPaymentAction($orderNo, $paymentTitle, $paymentAmount); + $this->createPaymentAction($orderNo, $payTitle, $payAmount); // 返回支付参数 return json_decode($result['rc_Result'], true); - } elseif (is_array($result) && isset($result['rb_CodeMsg'])) { + } elseif (isset($result['rb_CodeMsg'])) { throw new Exception($result['rb_CodeMsg']); } else { throw new Exception('获取预支付码失败!'); @@ -134,9 +134,6 @@ class JoinpayPaymentService extends PaymentService /** * 支付结果处理 * @return string - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException */ public function notify(): string { diff --git a/app/data/service/payment/VoucherPaymentService.php b/app/data/service/payment/VoucherPaymentService.php index bef262fe5..984cacd6d 100644 --- a/app/data/service/payment/VoucherPaymentService.php +++ b/app/data/service/payment/VoucherPaymentService.php @@ -37,24 +37,24 @@ class VoucherPaymentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws \think\admin\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { $order = ShopOrder::mk()->where(['order_no' => $orderNo])->find(); if (empty($order)) throw new Exception("订单不存在"); if ($order['status'] !== 2) throw new Exception("不可发起支付"); - if (empty($paymentImage)) throw new Exception('支付凭证不能为空'); - $this->updatePaymentOrder($orderNo, CodeExtend::uniqidDate(20), $paymentAmount, '单据凭证支付', $paymentImage); + if (empty($payImage)) throw new Exception('支付凭证不能为空'); + $this->updatePaymentOrder($orderNo, CodeExtend::uniqidDate(20), $payAmount, '单据凭证支付', $payImage); return ['code' => 1, 'info' => '支付凭证上传成功!']; } } \ No newline at end of file diff --git a/app/data/service/payment/WechatPaymentService.php b/app/data/service/payment/WechatPaymentService.php index 9bcdb8ebd..457809d0f 100644 --- a/app/data/service/payment/WechatPaymentService.php +++ b/app/data/service/payment/WechatPaymentService.php @@ -23,15 +23,15 @@ class WechatPaymentService extends PaymentService * 创建订单支付参数 * @param string $openid 用户OPENID * @param string $orderNo 交易订单单号 - * @param string $paymentAmount 交易订单金额(元) - * @param string $paymentTitle 交易订单名称 - * @param string $paymentRemark 订单订单描述 - * @param string $paymentReturn 完成回跳地址 - * @param string $paymentImage 支付凭证图片 + * @param string $payAmount 交易订单金额(元) + * @param string $payTitle 交易订单名称 + * @param string $payRemark 订单订单描述 + * @param string $payReturn 完成回跳地址 + * @param string $payImage 支付凭证图片 * @return array * @throws Exception */ - public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array + public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = ''): array { try { if (isset(static::TYPES[$this->type])) { @@ -39,14 +39,14 @@ class WechatPaymentService extends PaymentService } else { throw new Exception(sprintf('支付类型[%s]未配置定义!', $this->type)); } - $body = empty($paymentRemark) ? $paymentTitle : ($paymentTitle . '-' . $paymentRemark); + $body = empty($payRemark) ? $payTitle : ($payTitle . '-' . $payRemark); $data = [ 'body' => $body, 'openid' => $openid, 'attach' => $this->code, 'out_trade_no' => $orderNo, 'trade_type' => $tradeType ?: '', - 'total_fee' => $paymentAmount * 100, + 'total_fee' => $payAmount * 100, 'notify_url' => sysuri("@data/api.notify/wxpay/scene/order/param/{$this->code}", [], false, true), 'spbill_create_ip' => $this->app->request->ip(), ]; @@ -54,7 +54,7 @@ class WechatPaymentService extends PaymentService $info = $this->payment->create($data); if ($info['return_code'] === 'SUCCESS' && $info['result_code'] === 'SUCCESS') { // 创建支付记录 - $this->createPaymentAction($orderNo, $paymentTitle, $paymentAmount); + $this->createPaymentAction($orderNo, $payTitle, $payAmount); // 返回支付参数 return $this->payment->jsapiParams($info['prepay_id']); } @@ -72,9 +72,6 @@ class WechatPaymentService extends PaymentService * @return array * @throws \WeChat\Exceptions\InvalidResponseException * @throws \WeChat\Exceptions\LocalCacheException - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException */ public function query(string $orderNo): array { @@ -91,9 +88,6 @@ class WechatPaymentService extends PaymentService * 支付结果处理 * @return string * @throws \WeChat\Exceptions\InvalidResponseException - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException */ public function notify(): string {