Files
water_new/modules/Payment/Http/Controllers/Api/NotifyController.php
2023-03-08 09:16:04 +08:00

63 lines
1.4 KiB
PHP

<?php
namespace Modules\Payment\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Modules\Payment\Facades\Pay;
use Modules\Payment\Models\Payment;
class NotifyController extends Controller
{
protected Payment $payment;
public function alipay()
{
$alipay = Pay::alipay();
if (config('payment.version', 2) == 2) {
$data = $alipay->verify();
} else {
$data = $alipay->callback();
}
$this->getPaymentByTradeNo($data->out_trade_no);
//设置支付完成
if ($this->payment) {
$this->payment->paid();
$this->payment->order->pay();
}
return $alipay->success();
}
public function wechat()
{
$wechat = Pay::wechat();
if (config('payment.version', 2) == 2) {
$data = $wechat->verify();
$this->getPaymentByTradeNo($data->out_trade_no);
} else {
$data = $wechat->callback();
$this->getPaymentByTradeNo($data->resource['ciphertext']['out_trade_no']);
}
//设置支付完成
if ($this->payment) {
$this->payment->paid();
$this->payment->order->pay();
}
return $wechat->success();
}
public function getPaymentByTradeNo($tradeNo)
{
$this->payment = Payment::where('trade_id', $tradeNo)->first();
}
}