蜂巢/支付

0.2.7 2019-01-16 09:11 UTC

This package is auto-updated.

Last update: 2024-09-16 22:06:33 UTC


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的acceptcancel刀片,您可以在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接口。