Laravel PayPal 支付集成教程
项目目录结构及介绍
laravel-paypalpayment/
├── app/
│ ├── Http/
│ │ ├── Controllers/
│ │ │ └── PayPalPaymentController.php
│ ├── Providers/
│ │ └── PayPalServiceProvider.php
├── config/
│ └── paypal.php
├── resources/
│ ├── views/
│ │ └── paypal/
│ │ └── payment.blade.php
├── routes/
│ └── web.php
├── composer.json
└── README.md
- app/: 包含应用程序的核心代码,如控制器、服务提供者等。
- Http/Controllers/PayPalPaymentController.php: 处理 PayPal 支付的控制器。
- Providers/PayPalServiceProvider.php: PayPal 服务提供者,用于注册和配置 PayPal 服务。
- config/: 包含应用程序的配置文件。
- paypal.php: PayPal 配置文件,包含 API 凭据和其他相关配置。
- resources/: 包含视图和其他资源文件。
- views/paypal/payment.blade.php: 用于显示 PayPal 支付界面的视图文件。
- routes/: 包含应用程序的路由定义。
- web.php: 定义了 PayPal 支付相关的路由。
- composer.json: 项目的依赖管理文件。
- README.md: 项目的说明文档。
项目的启动文件介绍
项目的启动文件主要包括 app/Providers/PayPalServiceProvider.php 和 routes/web.php。
PayPalServiceProvider.php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Srmklive\PayPal\Facades\PayPal;
class PayPalServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton('paypal', function ($app) {
return new PayPal();
});
}
public function boot()
{
$this->publishes([
__DIR__.'/../config/paypal.php' => config_path('paypal.php'),
]);
}
}
- register(): 注册 PayPal 服务。
- boot(): 发布配置文件到
config目录。
web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PayPalPaymentController;
Route::get('/paypal/payment', [PayPalPaymentController::class, 'create'])->name('paypal.payment');
Route::get('/paypal/success', [PayPalPaymentController::class, 'success'])->name('paypal.success');
Route::get('/paypal/cancel', [PayPalPaymentController::class, 'cancel'])->name('paypal.cancel');
- 定义了 PayPal 支付相关的路由,包括创建支付、支付成功和支付取消的路由。
项目的配置文件介绍
项目的配置文件位于 config/paypal.php。
return [
'mode' => env('PAYPAL_MODE', 'sandbox'), // sandbox or live
'client_id' => env('PAYPAL_CLIENT_ID', ''),
'client_secret' => env('PAYPAL_CLIENT_SECRET', ''),
'app_id' => env('PAYPAL_APP_ID', ''),
'payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Sale'), // Sale or Authorization
'currency' => env('PAYPAL_CURRENCY', 'USD'),
'notify_url' => env('PAYPAL_NOTIFY_URL', ''),
'locale' => env('PAYPAL_LOCALE', 'en_US'),
'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true),
];
- mode: PayPal 的模式,可以是
sandbox或live。 - client_id: PayPal 的客户端 ID。
- client_secret: PayPal 的客户端密钥。
- app_id: PayPal 的应用 ID。
- payment_action: 支付动作,可以是
Sale或Authorization。 - currency: 货币类型,默认为
USD。 - notify_url:
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



