bgaetealvear / paypal-laravel-58
Laravel 插件,用于通过 PayPal Express Checkout 处理支付。可用于与其他应用程序独立使用。
v1.0.1
2021-08-30 17:04 UTC
Requires
- guzzlehttp/guzzle: ~6.0|~7.0
- illuminate/support: ~5.1|~5.2|~5.3|~5.4|~5.5|~5.6|~5.7|~5.8
- nesbot/carbon: ~1.0|~2.0
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0|^7.0
- symfony/var-dumper: ~3.0|~4.0|~5.0
This package is auto-updated.
Last update: 2024-09-29 05:56:50 UTC
README
简介
使用此插件,您可以在 Laravel 应用程序中处理或退款支付,并处理 PayPal 的 IPN(即时支付通知)。
此插件支持新的 PayPal REST API。
PayPal API 凭证
此软件包使用新的 PayPal REST API。有关如何创建 API 凭证的说明,请参阅此链接
https://developer.paypal.com/docs/api/overview/
安装
- 使用以下命令进行安装
composer require bgaetealvear/paypal-laravel-58
如果您正在使用 Laravel 5.4 或更早版本,请执行以下步骤。
- 将服务提供者添加到
providers[]数组中的config/app.php文件,如下所示
BGaeteAlvear\PayPal\Providers\PayPalServiceProvider::class
- 将别名添加到
aliases[]数组中的config/app.php文件,如下所示
'PayPal' => BGaeteAlvear\PayPal\Facades\PayPal::class
- 运行以下命令发布配置
php artisan vendor:publish --provider "BGaeteAlvear\PayPal\Providers\PayPalServiceProvider"
配置
- 安装后,您需要添加您的 PayPal 设置。以下是在 config/paypal.php 中找到的代码,您应根据需要进行更新。
return [ 'mode' => env('PAYPAL_MODE', 'sandbox'), // Can only be 'sandbox' Or 'live'. If empty or invalid, 'live' will be used. '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' => '', ], 'payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Sale'), // Can only be 'Sale', 'Authorization' or 'Order' 'currency' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Change this accordingly for your application. 'locale' => env('PAYPAL_LOCALE', 'en_US'), // force gateway language i.e. it_IT, es_ES, en_US ... (for express checkout only) 'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true), // Validate SSL when creating api client. ];
- 将其添加到
.env.example和.env
#PayPal Setting & API Credentials - sandbox
PAYPAL_SANDBOX_CLIENT_ID=
PAYPAL_SANDBOX_CLIENT_SECRET=
#PayPal Setting & API Credentials - live
PAYPAL_LIVE_CLIENT_ID=
PAYPAL_LIVE_CLIENT_SECRET=
使用
以下是一些访问 PayPal 提供者的方法
// Import the class namespaces first, before using it directly use BGaeteAlvear\PayPal\Services\PayPal as PayPalClient; $provider = new PayPalClient; // Through facade. No need to import namespaces $provider = PayPal::setProvider();
覆盖 PayPal API 配置
您可以通过调用 setApiCredentials 方法来覆盖 PayPal API 配置
$provider->setApiCredentials($config);
获取访问令牌
通过调用 setApiCredentials 方法设置 PayPal API 配置后,您需要在执行任何 API 调用之前获取访问令牌
$provider->getAccessToken();
设置货币
默认使用的货币是 USD。如果您希望更改它,您可以在调用任何相应的 API 方法之前调用 setCurrency 方法来设置不同的货币
$provider->setCurrency('EUR');
支持
此插件仅支持 Laravel 5.1 到 5.8。
- 如有任何问题,请在 问题 部分创建一个。
- 如果您想做出贡献
- 分支此存储库。
- 实现您的功能。
- 生成拉取请求。