PATH:
home
/
lab2454c
/
crypto.keyreum.com
/
platform
/
plugins
/
payment
/
src
/
Services
/
Gateways
<?php namespace Botble\Payment\Services\Gateways; use Botble\Payment\Enums\PaymentMethodEnum; use Botble\Payment\Enums\PaymentStatusEnum; use Botble\Payment\Services\Abstracts\PayPalPaymentAbstract; use Exception; use Illuminate\Http\Request; class PayPalPaymentService extends PayPalPaymentAbstract { /** * Make a payment * * @param Request $request * * @return mixed * @throws Exception */ public function makePayment(Request $request) { $amount = round((float) $request->input('amount'), $this->isSupportedDecimals() ? 2 : 0); $data = [ 'name' => $request->input('name'), 'quantity' => 1, 'price' => $amount, 'sku' => null, 'type' => PaymentMethodEnum::PAYPAL, ]; $currency = $request->input('currency', config('plugins.payment.payment.currency')); $currency = strtoupper($currency); $queryParams = [ 'type' => PaymentMethodEnum::PAYPAL, 'amount' => $amount, 'currency' => $currency, 'order_id' => $request->input('order_id'), ]; $checkoutUrl = $this ->setReturnUrl($request->input('callback_url') . '?' . http_build_query($queryParams)) ->setCurrency($currency) ->setCustomer($request->input('address.email')) ->setItem($data) ->createPayment($request->input('description') ?: $request->input('name')); return $checkoutUrl; } /** * Use this function to perform more logic after user has made a payment * * @param Request $request * * @return mixed */ public function afterMakePayment(Request $request) { $status = PaymentStatusEnum::COMPLETED; $chargeId = session('paypal_payment_id'); $orderIds = (array)$request->input('order_id', []); do_action(PAYMENT_ACTION_PAYMENT_PROCESSED, [ 'amount' => $request->input('amount'), 'currency' => $request->input('currency'), 'charge_id' => $chargeId, 'order_id' => $orderIds, 'customer_id' => $request->input('customer_id'), 'customer_type' => $request->input('customer_type'), 'payment_channel' => PaymentMethodEnum::PAYPAL, 'status' => $status, ]); session()->forget('paypal_payment_id'); return $chargeId; } }
[+]
..
[-] BankTransferPaymentService.php
[edit]
[-] PayPalPaymentService.php
[edit]
[-] StripePaymentService.php
[edit]
[-] CodPaymentService.php
[edit]