28 lines
740 B
PHP
28 lines
740 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\DepositService;
|
|
use Illuminate\Http\Request;
|
|
|
|
class NowPaymentsWebhookController extends Controller
|
|
{
|
|
public function __construct(private readonly DepositService $deposits)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* POST /api/webhooks/nowpayments — public IPN endpoint
|
|
* - CSRF should be disabled via api middleware group
|
|
* - Validates HMAC signature and processes deposit crediting
|
|
*/
|
|
public function __invoke(Request $request)
|
|
{
|
|
$out = $this->deposits->handleIpn($request);
|
|
return response()->json([
|
|
'ok' => (bool) ($out['ok'] ?? false),
|
|
'message' => $out['message'] ?? 'ok',
|
|
], (int) ($out['status'] ?? 200));
|
|
}
|
|
}
|