����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 18.220.96.228 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/common/Billing/Gateways/Paypal/ |
Upload File : |
<?php namespace Common\Billing\Gateways\Paypal; use Common\Billing\GatewayException; use Common\Billing\Gateways\Contracts\GatewayInterface; use Common\Settings\Settings; use Illuminate\Http\Request; use Omnipay\Omnipay; use Omnipay\PayPal\RestGateway; class PaypalGateway implements GatewayInterface { /** * @var RestGateway */ private $gateway; /** * @var PaypalPlans */ private $plans; /** * @var PaypalSubscriptions */ private $subscriptions; /** * @param Settings $settings */ public function __construct(Settings $settings) { $this->gateway = Omnipay::create('PayPal_Rest'); $this->gateway->initialize([ 'clientId' => config('services.paypal.client_id'), 'secret' => config('services.paypal.secret'), 'testMode' => $settings->get('billing.paypal_test_mode'), ]); $this->plans = new PaypalPlans($this->gateway); $this->subscriptions = new PaypalSubscriptions($this->gateway, $this->plans); } /** * Get paypal plans service instance. * * @return PaypalPlans */ public function plans() { return $this->plans; } /** * Get paypal subscriptions service instance. * * @return PaypalSubscriptions */ public function subscriptions() { return $this->subscriptions; } /** * Check if specified webhook is valid. * * @param Request $request * @return bool * @throws GatewayException */ public function webhookIsValid(Request $request) { $payload = [ 'auth_algo' => $request->header('PAYPAL-AUTH-ALGO'), 'cert_url' => $request->header('PAYPAL-CERT-URL'), 'transmission_id' => $request->header('PAYPAL-TRANSMISSION-ID'), 'transmission_sig' => $request->header('PAYPAL-TRANSMISSION-SIG'), 'transmission_time' => $request->header('PAYPAL-TRANSMISSION-TIME'), 'webhook_id' => config('services.paypal.webhook_id'), 'webhook_event' => $request->all(), ]; $response = $this->gateway->createRequest(PaypalVerifyWebhookRequest::class)->sendData($payload); if ( ! $response->isSuccessful()) { throw new GatewayException("Could not validate paypal webhook: {$response->getMessage()}"); } return $response->getData()['verification_status'] === 'SUCCESS'; } }