pleets / laravel-paypal
PayPal 集成
Requires
- php: ^7.4|^8.0
- ext-json: *
- laravel/framework: ^7.0|^8.0
- payment-gateways/paypal-sdk: ^1.2
Requires (Dev)
- orchestra/testbench: ^6.7
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-12 09:31:35 UTC
README
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
此处的唯一有效值是 sandbox
和 live
。
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