蜂巢 / 支付
0.2.7
2019-01-16 09:11 UTC
Requires
- php: ^7.1
- honey-comb/starter: 0.2.*
- laravel/framework: 5.6.*
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.19
- mockery/mockery: ^1.0
- orchestra/testbench-browser-kit: ^3.6
- phpunit/phpunit: ~7.0
README
蜂巢CMS的支付包 https://github.com/honey-comb/payments
描述
蜂巢CMS支付功能
注意
这是蜂巢CMS包的一部分支付包。
需求
- php:
^7.1
- laravel:
^5.6
- composer
安装
首先通过Composer安装此包。
{ "require": { "honey-comb/payments": "0.2.*" } }
或者
composer require honey-comb/payments
使用
要覆盖默认设置,您可以发布payments.php
配置文件
php artisan vendor:publish --provider="HoneyComb\Payments\Providers\HCPaymentsServiceProvider" --tag=config
支付
支付使用两个DTO
- 支付DTO
$paymentDto = new HCPaymentDTO('NUMBER-123', 20.21, HCPaymentStatusEnum::pending());
$paymentDto->setReason('product payment');
- 用户支付DTO
$userPaymentDto = (new \HoneyComb\Payments\DTO\HCPaymentUserDTO())
->setEmail('john.doe@example.com')
->setFirstName('John')
->setLastName('Doe')
您可以使用setter设置额外数据。
支付流程
支付处理的主要服务是HCPaymentService
。
- 为特定驱动程序创建支付记录
$this->paymentService->driver('paysera')->create($paymentDto);
- 进行支付
$this->paymentService->driver('paysera')->pay($payment, $userPaymentDto);
- 您可以在单个方法中同时进行这两项操作
$this->paymentService->driver('paysera')->createAndPay($paymentDto, $userPaymentDto);
Paysera
要覆盖paysera的accept
和cancel
刀片,您可以在payments.php
配置文件中更改responseClass
的值。
默认情况下,它使用\HoneyComb\Payments\Paysera\HCPayseraResponse::class
您的自定义PayseraReponseClass
必须实现PayseraResponseContract
接口。
回调
如果您想在POST方法中发送paysera回调,您必须更新VerifyCsrfToken
类
protected $except = [
'payments/paysera/callback'
];
额外的管理器
您可以通过编辑payments.php
配置文件下的additional_drivers
部分来添加额外的PaymentManager或更新现有的管理器。
'paysera' => \HoneyComb\Payments\Managers\HCPayseraManager::class,
您的自定义管理器类必须扩展HCPaymentManager
类并实现HCPaymentManagerContract
接口。