Files

31 lines
900 B
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Services\RobokassaService;
use Illuminate\Http\Request;
use InvalidArgumentException;
use Symfony\Component\HttpFoundation\Response;
use Throwable;
class RobokassaController extends Controller
{
public function result(Request $request, RobokassaService $robokassa): Response
{
try {
$invoice = $robokassa->processResult($request->all());
} catch (InvalidArgumentException $exception) {
report($exception);
return response('bad signature', 400)->header('Content-Type', 'text/plain');
} catch (Throwable $exception) {
report($exception);
return response('temporary error', 503)->header('Content-Type', 'text/plain');
}
return response('OK'.$invoice->id)->header('Content-Type', 'text/plain');
}
}