Документация
Использование
Поддерживать
Важный
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 или более позднюю версию.
В случае возникновения каких-либо проблем, пожалуйста, создайте их в разделе «Проблемы».
Если вы хотите внести свой вклад:
Форкните этот репозиторий.
Реализуйте свои возможности.
Сгенерировать запрос на вытягивание.