pleets/laravel-paypal

v0.4.0 2021-02-03 21:16 UTC

This package is auto-updated.

Last update: 2024-09-12 09:31:35 UTC


README

Build Status Code Quality Bugs Code Coverage

Laravel PayPal 解决方案集成器。实际上,这个库支持以下解决方案

1. 要求

请确保您的服务器满足以下要求。

  • PHP >= 7.4, PHP >= 8.0
  • Laravel 7.x, 8.x

2. 安装

使用以下命令安装此库

composer require pleets/laravel-paypal

将服务提供者添加到您的 providers[] 数组中的 config/app.php 文件,如下所示

\Pleets\LaravelPayPal\LaravelPaypalProvider::class

最后,发布供应商文件。

php artisan vendor:publish --tag="laravel-paypal"

3. 使用方法

3.1 Live 和 Sandbox 环境

使用以下环境变量设置 sandbox 的第一个 API 凭据。

PAYPAL_SANDBOX_CLIENT_ID=
PAYPAL_SANDBOX_SECRET=

对于实时环境,设置以下。

PAYPAL_LIVE_CLIENT_ID=
PAYPAL_LIVE_SECRET=

您可以使用以下方式选择您的当前环境。

PAYPAL_ENVIRONMENT=sandbox

此处的唯一有效值是 sandboxlive

3.2 结账

使用以下环境变量激活 PayPal 结账。

PAYPAL_CHECKOUT_ACTIVATED=true

如下所示将 PayPal SDK 添加到您的 blade 模板中

@include('laravel-paypal::checkout.sdk')

💡 您无需担心何时包含此 SDK。该组件会检查 PAYPAL_CHECKOUT_ACTIVATED,然后如果值为 true,则包含 JavaScript SDK。

然后您可以将智能支付按钮添加如下

@include('laravel-paypal::checkout.button')

⚠️ 最后,在按钮代码之后添加处理它的 JavaScript 代码。此 JS 文件不打算用于生产。它只是一个关于如何处理 PayPal 按钮的示例。

<script src="{{ asset('js/paypal/checkout.js') }}" defer></script>

checkout.js 文件包含与购买金额和购买行为相关的值。对于其他值,您可以查看 官方文档

3.3 订阅

使用以下环境变量激活 PayPal 订阅。

PAYPAL_SUBSCRIPTION_ACTIVATED=true

您可以通过此 PayPal SDK 与订阅 API 交互。将服务提供者添加到您的 providers[] 数组中的 config/app.php 文件,如下所示

Pleets\LaravelPayPal\Providers\PayPalServiceProvider::class

如下所示将 PayPal SDK 添加到您的 blade 模板中

@include('laravel-paypal::subscriptions.sdk')

💡 您无需担心何时包含此 SDK。该组件会检查 PAYPAL_SUBSCRIPTION_ACTIVATED,然后如果值为 true,则包含 JavaScript SDK。

然后您可以将智能支付按钮添加如下

@include('laravel-paypal::subscriptions.button')

⚠️ 最后,在按钮代码之后添加处理它的 JavaScript 代码。此 JS 文件不打算用于生产。它只是一个关于如何处理 PayPal 按钮的示例。

<script src="{{ asset('js/paypal/subscriptions.js') }}" defer></script>

subscriptions.js 文件包含与创建订阅和购买行为相关的值。对于其他值,您可以查看 官方文档

4. 模拟

如果您想为测试目的模拟 PayPal 服务,您需要覆盖 PayPal 测试配置。您必须在 config/paypal 文件夹内创建一个 testing.php 文件,并设置特定的处理器,如下所示。

'handler' => [
    'class' => PaymentGateway\PayPalApiMock\PayPalApiMock::class,
]

您可以使用自己的 PayPal 模拟,或者可以使用此 PayPal Api Mock

最后,您应该在测试环境中设置以下内容。

PAYPAL_HANDLER_ENABLED=true