1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-21 11:18:10 +08:00
2020-03-25 09:03:53 +08:00

63 lines
1.3 KiB
PHP

<?php
namespace App\Http\Admin\Services;
use App\Models\Order as OrderModel;
use App\Models\Trade as TradeModel;
use App\Repos\Order as OrderRepo;
use App\Repos\Trade as TradeRepo;
use App\Services\Payment\Alipay as AlipayService;
class AlipayTest extends PaymentTest
{
protected $channel = TradeModel::CHANNEL_ALIPAY;
public function scan(TradeModel $trade)
{
$alipayService = new AlipayService();
$qrcode = $alipayService->scan($trade);
$result = $qrcode ?: false;
return $result;
}
public function status($tradeNo)
{
$alipayService = new AlipayService();
$result = $alipayService->status($tradeNo);
return $result;
}
public function cancel($tradeNo)
{
$tradeRepo = new TradeRepo();
$trade = $tradeRepo->findBySn($tradeNo);
$orderRepo = new OrderRepo();
$order = $orderRepo->findById($trade->order_id);
$alipayService = new AlipayService();
$response = $alipayService->cancel($trade->sn);
if ($response) {
$trade->status = TradeModel::STATUS_CLOSED;
$trade->update();
if ($order->status != OrderModel::STATUS_PENDING) {
$order->status = OrderModel::STATUS_PENDING;
$order->update();
}
}
}
}