shell bypass 403
<?php /** * Yandex.Kassa driver for Omnipay payment processing library * * @link https://github.com/hiqdev/omnipay-yandex-kassa * @package omnipay-yandex-kassa * @license MIT * @copyright Copyright (c) 2019, HiQDev (http://hiqdev.com/) */ namespace Omnipay\YandexKassa\Message; use Omnipay\Common\Exception\InvalidRequestException; use Throwable; /** * Class PurchaseRequest. * * @author Dmytro Naumenko <d.naumenko.a@gmail.com> */ class PurchaseRequest extends AbstractRequest { public function getData() { $this->validate('amount', 'currency', 'returnUrl', 'transactionId', 'description', 'capture'); return [ 'amount' => $this->getAmount(), 'currency' => $this->getCurrency(), 'description' => $this->getDescription(), 'return_url' => $this->getReturnUrl(), 'transactionId' => $this->getTransactionId(), 'capture' => $this->getCapture(), ]; } public function sendData($data) { try { $paymentResponse = $this->client->createPayment([ 'amount' => [ 'value' => $data['amount'], 'currency' => $data['currency'], ], 'description' => $data['description'], 'confirmation' => [ 'type' => 'redirect', 'return_url' => $data['return_url'], ], 'capture' => $data['capture'], 'metadata' => [ 'transactionId' => $data['transactionId'], ], ], $this->makeIdempotencyKey()); return $this->response = new PurchaseResponse($this, $paymentResponse); } catch (Throwable $e) { throw new InvalidRequestException('Failed to request purchase: ' . $e->getMessage(), 0, $e); } } private function makeIdempotencyKey(): string { return md5(implode(',', array_merge(['create'], $this->getData()))); } }