bgaetealvear/paypal-laravel-58

Laravel 插件,用于通过 PayPal Express Checkout 处理支付。可用于与其他应用程序独立使用。

v1.0.1 2021-08-30 17:04 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:50 UTC


README

Software License Latest Version on Packagist

简介

使用此插件,您可以在 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。

  • 如有任何问题,请在 问题 部分创建一个。
  • 如果您想做出贡献
    • 分支此存储库。
    • 实现您的功能。
    • 生成拉取请求。