Laravel PayPal 支付集成教程

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.phproutes/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 的模式,可以是 sandboxlive
  • client_id: PayPal 的客户端 ID。
  • client_secret: PayPal 的客户端密钥。
  • app_id: PayPal 的应用 ID。
  • payment_action: 支付动作,可以是 SaleAuthorization
  • currency: 货币类型,默认为 USD
  • notify_url:

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值