Browse Source

订单退款--修改5-微信退款修改

master
liangyuyan 5 years ago
parent
commit
0b68216cb0
  1. 1
      app/Service/OrderService.php
  2. 57
      app/Service/WxRefundService.php

1
app/Service/OrderService.php

@ -797,7 +797,6 @@ class OrderService implements OrderServiceInterface
// 微信支付 微信退款
$refundRes = $this->wxRefundService->wxPayRefund($orderMain->global_order_id);
var_dump($refundRes);
if(
empty($refundRes)
|| !$refundRes

57
app/Service/WxRefundService.php

@ -9,6 +9,8 @@ use App\Commons\Log;
use App\Constants\LogLabel;
use Hyperf\Di\Annotation\Inject;
use Hyperf\Guzzle\CoroutineHandler;
use Hyperf\Database\Exception\QueryException;
use App\Exception\BusinessException;
class WxRefundService implements WxRefundServiceInterface
{
@ -23,33 +25,42 @@ class WxRefundService implements WxRefundServiceInterface
*/
public function wxPayRefund($global_order_id)
{
$config = config('wxpay');
$app = Factory::payment($config);
$app['guzzle_handler'] = CoroutineHandler::class;
// 查询订单
$orderMain = OrderMain::query()
->select('id','global_order_id','order_num','money','state')
try{
$config = config('wxpay');
$app = Factory::payment($config);
$app['guzzle_handler'] = CoroutineHandler::class;
// 查询订单
$orderMain = OrderMain::query()
->select(['id','global_order_id','order_num','money','state'])
->where('global_order_id',$global_order_id)
->where('pay_type',OrderMain::ORDER_PAY_WX)
->where(Db::raw('refund_time is null'))
->first()->toArray();
->whereRaw('refund_time is null')
->first();
if(empty($orderMain)){
return false;
};
if(empty($orderMain)){
return false;
};
$options = [
'refund_desc' => '线上订单退款',
// 'notify_url' => config('site_host') . '/wechat/notify/wxpayrefund'
];
$result = $app->refund->byOutTradeNumber(
$orderMain->global_order_id,
$orderMain->global_order_id,
$orderMain->money * 100,
$orderMain->money * 100,
$options
);
$options = [
'refund_desc' => '线上订单退款',
// 'notify_url' => config('site_host') . '/wechat/notify/wxpayrefund'
];
$result = $app->refund->byOutTradeNumber(
$orderMain->global_order_id,
$orderMain->global_order_id,
$orderMain->money * 100,
$orderMain->money * 100,
$options
);
} catch (QueryException $e) {
$this->log->event(LogLabel::WX_PAY_REFUND,$e->getMessage());
return false;
} catch (BusinessException $e){
$this->log->event(LogLabel::WX_PAY_REFUND,$e->getMessage());
return false;
}
$this->log->event(LogLabel::WX_PAY_REFUND,$result);
return $result;
}

Loading…
Cancel
Save