Документация
Использование
Поддерживать
Важный
Laravel 11 будет последней версией, поддерживаемой для v3.0. Над версией 4 ведется активная работа, и она будет выпущена к концу октября 2024 года. В версии 4 вносятся следующие изменения:
Требуется PHP 8.1+.
Требуется Laravel 10 и более поздние версии.
Интеграция PayPal JS SDK.
Плагин Симфони.
Документацию к пакету можно просмотреть, щелкнув следующую ссылку:
https://laravel-paypal.readthedocs.io/en/latest/
Старую документацию можно найти по следующей ссылке:
https://srmklive.github.io/laravel-paypal/docs.html
Ниже приведены некоторые способы доступа к провайдеру PayPal:
// Сначала импортируйте пространства имен классов, прежде чем использовать их напрямую, используйте SrmklivePayPalServicesPayPal как PayPalClient;$provider = new PayPalClient;// Через фасад. Нет необходимости импортировать пространства имен $provider = PayPal::setProvider();
Файл конфигурации paypal.php находится в папке config . Ниже приводится его содержание при публикации:
return ['mode' => env('PAYPAL_MODE', 'песочница'), // Может быть только «песочница» или «живой». Если оно пустое или недействительное, будет использоваться «live».'sandbox' => ['client_id' => env('PAYPAL_SANDBOX_CLIENT_ID', ''),'client_secret' => env('PAYPAL_SANDBOX_CLIENT_SECRET', ''),'app_id ' => 'APP-80W284485P519543T', ],'live' => ['client_id' => env('PAYPAL_LIVE_CLIENT_ID', ''),'client_secret' => env('PAYPAL_LIVE_CLIENT_SECRET', ''),'app_id' => env('PAYPAL_LIVE_APP_ID', ' '), ],'Payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Продажа'), // Может быть только "Продажа", "Авторизация" или "Валюта заказа" => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Измените это соответствующим образом для вашего application.'locale' => env('PAYPAL_LOCALE', 'en_US'), // принудительно устанавливаем язык шлюза, т.е. it_IT, es_ES, en_US ... (только для экспресс-оплаты)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true ), // Проверка SSL при создании API-клиента.];
Вы можете переопределить конфигурацию API PayPal, вызвав метод setApiCredentials
:
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID', ],'Payment_action' => 'Распродажа','currency' => 'USD','notify_url' => 'https://your-site.com/paypal/notify','locale' => 'en_US', 'validate_ssl' => правда, ];$provider->setApiCredentials($config);
После настройки конфигурации API PayPal путем вызова метода setApiCredentials
. Вам необходимо получить токен доступа перед выполнением каких-либо вызовов API.
$provider->getAccessToken();
По умолчанию используется валюта USD
. Если вы хотите изменить ее, вы можете вызвать метод setCurrency
, чтобы установить другую валюту, прежде чем вызывать какие-либо соответствующие методы API:
$provider->setCurrency('EUR');
Обратите внимание, что в приведенных ниже примерах вызов
addPlanTrialPricing
не является обязательным и его можно опустить при создании подписок без пробного периода.
setReturnAndCancelUrl()
не является обязательным. Если вы устанавливаете URL-адреса, вам придется использовать реальные домены. например, localhost, project.test не работает.
$response = $provider->addProduct('Демо-продукт', 'Демо-продукт', 'СЕРВИС', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ') ->addPlanTrialPricing('ДЕНЬ', 7) ->addDailyPlan('Демо-план', 'Демо-план', 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Демо-продукт', 'Демо-продукт', 'СЕРВИС', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ') ->addPlanTrialPricing('ДЕНЬ', 7) ->addWeeklyPlan('Демонстрационный план', 'Демонстрационный план', 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Демо-продукт', 'Демо-продукт', 'СЕРВИС', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ') ->addPlanTrialPricing('ДЕНЬ', 7) ->addMonthlyPlan('Демонстрационный план', 'Демонстрационный план', 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Демо-продукт', 'Демо-продукт', 'СЕРВИС', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ') ->addPlanTrialPricing('ДЕНЬ', 7) ->addAnnualPlan('Демонстрационный план', 'Демонстрационный план', 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Демо-продукт', 'Демо-продукт', 'СЕРВИС', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ') ->addCustomPlan('Демонстрационный план', 'Демонстрационный план', 150, 'МЕСЯЦ', 3) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', '2021-12-10');
$response = $this->client->addProductById('PROD-XYAB12ABSB7868434') ->addBillingPlanById('P-5ML4271244454362WXNWU5NQ') ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('Джон Доу', '[email protected]', $start_date);
Эта версия поддерживает Laravel 6 или более позднюю версию.
В случае возникновения каких-либо проблем, пожалуйста, создайте их в разделе «Проблемы».
Если вы хотите внести свой вклад:
Форкните этот репозиторий.
Реализуйте свои возможности.
Сгенерировать запрос на вытягивание.