iodigital / peachpayment
一个帮助集成Peach Payments的库
Requires
- guzzlehttp/guzzle: ^6.5
- illuminate/support: ~5|~6|~7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- mockery/mockery: ^1.1
- orchestra/testbench: ~3|~4
- php-vcr/php-vcr: ^1.4
- phpmd/phpmd: @stable
- phpunit/phpunit: ^8.0
- sempro/phpunit-pretty-print: ^1.0
- squizlabs/php_codesniffer: 3.*
- dev-master
- 1.0.0
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/symfony/http-kernel-4.4.50
- dev-dependabot/composer/guzzlehttp/guzzle-7.4.5
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/composer/league/flysystem-1.1.4
- dev-dependabot/npm_and_yarn/glob-parent-5.1.2
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/composer/laravel/framework-6.20.26
- dev-tweaks-and-fixes
- dev-cleanup
- dev-feature.send-unique-transaction-id
- dev-fix-route-registration
- dev-syntax-fixes
- dev-webhook-events
- dev-handle-webhooks
This package is auto-updated.
Last update: 2024-09-19 23:05:08 UTC
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以获取详细信息和一个待办事项列表。
安全
如果您发现任何安全相关的问题,请通过电子邮件发送给作者,而不是使用问题跟踪器。
致谢
- [作者姓名][作者链接]
- [所有贡献者][贡献者链接]
许可证
许可证。请参阅许可证文件以获取更多信息。