iodigital/peachpayment

一个帮助集成Peach Payments的库


README

这是一个正在进行中的项目。

安装

通过Composer

$ composer require iodigital/peachpayment

此包使用自动发现,但可以通过在 config/app.php 提供商中添加 \IoDigital\PeachPayment\PeachPaymentServiceProvider::class, 来添加

可以使用以下命令发布资产:php artisan vendor:publish --tag=peachpayment-config php artisan vendor:publish --tag=peachpayment-migrations

配置文件

配置文件提供了添加您的生产环境和测试Peach Payments凭证的能力。该包会对您的应用环境进行检查。

可以使用的变量有

  • PEACH_PAYMENTS_USER_ID
  • PEACH_PAYMENTS_PASSWORD
  • PEACH_PAYMENTS_AUTHORIZATION_HEADER
  • PEACH_PAYMENTS_ENTITY_ID_ONCE_OFF
  • PEACH_PAYMENTS_ENTITY_ID_RECURRING
  • PEACH_PAYMENTS_TEST_MODE
  • PEACH_PAYMENTS_NOTIFICATION_URL
  • PEACH_PAYMENTS_WEBHOOK_SECRET_KEY

迁移

payment_cards

此表可以与服务器到服务器功能一起使用。

payment_results

此表可以用于存储交易结果。

payment_events

此表可以用于存储从webhooks接收的事件数据。

使用

此包提供了使用服务器到服务器和COPYandPay的能力。启动任一服务都很简单

$client = (new PeachPayment())->initServerToServer();
// or
$client = (new PeachPayment())->initCopyAndPay();

如以下所述,您还可以动态覆盖Peach Payments凭证

$client = (new PeachPayment())->initServerToServer($settings);

其中 $settings 是一个流畅类。

服务器到服务器可用的方法

registerCard(CardBuilder $card);
registerCardDuringPayment(CardBuilder $card);
repeatedPayment(PaymentCard $card, $owner, int $amount, string $type = PaymentScheme::REPEATED_PAYMENT);
oneClickPayment(PaymentCard $card, int $amount);
paymentStatus(string $paymentId);
deleteCard(string $registrationId);

// Available options for $type in repeatedPayment()
PaymentScheme::INITIAL_PAYMENT;
PaymentScheme::REPEATED_PAYMENT;

COPYandPAY可用的方法

prepareCheckout(int $amount);
getCheckoutRegistrationResult($checkoutId);
registerCard();
registerCardDuringPayment(int $amount);
repeatedPayment(PaymentCard $card, $owner, int $amount, string $type = PaymentScheme::REPEATED_PAYMENT);
paymentStatus(string $checkoutId);

要确定与Peach Payments交易的结果,您可以使用Response类

$response = new \IoDigital\PeachPayment\Api\Response();
$response->isSuccessfulResponse($resultCode); // true|false
$response->isValidationError($resultCode); // true|false

保存响应也是可用的:$response->save($result, $paymentCard);

Webhooks

需要在您的 app/Http/Middleware/VerifyCsrfToken.php 文件中进行以下更改

protected $except = [
        config('peachpayment.webhook_url')
    ];

辅助工具

Setting.php

此类允许您根据每次使用的情况注入或修改您的Peach Payments凭证。默认情况下,它使用配置文件中给出的变量,您只需要覆盖所需的变量。

使用方法非常简单

$settings = new Setting();
$settings->setUser('lorem')
         ->setPassword('ipsum')
         ->setEntityIdOnceOff('dolor');

$pay = (PeachPayment())->initServerToServer($settings);

这应该为某些边缘情况提供灵活性。

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅contributing.md以获取详细信息和一个待办事项列表。

安全

如果您发现任何安全相关的问题,请通过电子邮件发送给作者,而不是使用问题跟踪器。

致谢

  • [作者姓名][作者链接]
  • [所有贡献者][贡献者链接]

许可证

许可证。请参阅许可证文件以获取更多信息。