Laravel Payment 包使用教程
1. 项目目录结构及介绍
spatie/payment/
├── config/
│ └── payment.php
├── resources/
│ └── lang/
├── src/
│ ├── PaymentGateway.php
│ ├── PayableOrder.php
│ └── PaymentServiceProvider.php
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── composer.json
目录结构说明
- config/: 包含项目的配置文件
payment.php
,用于配置支付网关的参数。 - resources/lang/: 包含多语言支持的文件,用于国际化。
- src/: 包含项目的主要源代码文件,包括
PaymentGateway.php
(支付网关类)、PayableOrder.php
(支付订单接口)和PaymentServiceProvider.php
(服务提供者)。 - .gitignore: Git 忽略文件列表。
- CHANGELOG.md: 项目更新日志。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- composer.json: Composer 依赖管理文件。
2. 项目启动文件介绍
PaymentServiceProvider.php
// src/PaymentServiceProvider.php
namespace Spatie\Payment;
use Illuminate\Support\ServiceProvider;
class PaymentServiceProvider extends ServiceProvider
{
public function boot()
{
$this->publishes([
__DIR__.'/../config/payment.php' => config_path('payment.php'),
]);
}
public function register()
{
$this->mergeConfigFrom(
__DIR__.'/../config/payment.php', 'payment'
);
}
}
说明
- boot(): 发布配置文件到 Laravel 项目的
config
目录。 - register(): 合并配置文件到 Laravel 的配置系统中。
3. 项目的配置文件介绍
payment.php
// config/payment.php
return [
'form' => [
'submitButtonClass' => 'test',
],
'europabank' => [
'clientSecret' => getenv('EUROPABANK_CLIENT_SECRET'),
'serverSecret' => getenv('EUROPABANK_SERVER_SECRET'),
'uid' => getenv('EUROPABANK_UID'),
'mpiUrl' => '',
'paymentLandingPageRoute' => 'verifyPayment',
'formCss' => '',
'template' => '',
'formTitle' => '',
'merchantEmail' => '',
'secondChanceEmailSender' => '',
],
];
配置项说明
- form.submitButtonClass: 支付表单提交按钮的 CSS 类。
- europabank.clientSecret: 客户端密钥,从环境变量中获取。
- europabank.serverSecret: 服务器端密钥,从环境变量中获取。
- europabank.uid: MPI 账户编号,从环境变量中获取。
- europabank.mpiUrl: 支付页面的 URL。
- europabank.paymentLandingPageRoute: 支付完成后重定向的路由名称。
- europabank.formCss: 支付表单的 CSS 文件 URL。
- europabank.template: 支付页面的模板 URL。
- europabank.formTitle: 支付表单的标题。
- europabank.merchantEmail: 商家的电子邮件地址。
- europabank.secondChanceEmailSender: 第二次支付链接邮件的发送者电子邮件地址。
通过以上配置,您可以自定义支付流程的各个环节,以适应不同的支付需求。