卡久兹 /laravel-paygate-payweb-3
Laravel 10+ 的 PayGate PayWeb3 集成
0.0.1
2024-06-03 20:49 UTC
Requires
- php: ^8.2
- ext-bcmath: *
- guzzlehttp/guzzle: ^6.3|^7.0.1
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^9.0
- psalm/plugin-laravel: ^1.2
- vimeo/psalm: ^3.11
README
本包是已废弃包 pwparsons/paygate 的延续。它提供了一个方便的方式将 PayGate 的 PayWeb3 API 集成到 Laravel 中。
PayGate 的官方文档可以在 这里 找到。
兼容性图表
包版本 | Laravel | PHP |
---|---|---|
0.0.1 | 10.0+ | 8.2+ |
安装
您可以通过 composer 安装此包:
composer require kajuzi/laravel-paygate-payweb-3
将以下变量添加到您的 .env
文件中,并为您自己的 PayGate 账户和配置设置正确的值:
PAYGATE_ID=
PAYGATE_SECRET=
PAYGATE_RETURN_URL=
PAYGATE_NOTIFY_URL=
可选地,您还可以设置:
PAYGATE_CURRENCY=
PAYGATE_COUNTRY=
PAYGATE_LOCALE=
PAYGATE_RETURN_URL=
该包将自动注册自己。
如果您想将配置文件发布到 config/paygate.php
,请运行:
php artisan vendor:publish --provider="PWParsons\PayGate\PayGateServiceProvider"
使用方法
安装此包并在配置文件中填写值后,使用此包的工作将变得非常简单。以下所有示例都使用了外观。
创建交易
// Initiate transaction
$http = PayGate::initiate()
->withReference('pgtest_123456789')
->withAmount(32.99)
->withEmail('email@example.com')
->withCurrency('USD') // Optional: defaults to ZAR
->withCountry('USA') // Optional: defaults to ZAF
->withLocale('en-us') // Optional: defaults to 'en'
->withReturnUrl('https://website.com/return_url')
->withNotifyUrl('https://website.com/notify_url') // Optional
->create();
if ($http->fails()) {
dump($http->getErrorCode());
dump($http->getErrorMessage());
dump($http->all());
}
// Redirect to PayGate's payment page
return PayGate::redirect();
初始化响应的示例可以在 文档 中找到。
查询交易
$http = PayGate::query()
->withPayRequestId('YOUR_PAY_REQUEST_ID_HERE')
->withReference('pgtest_123456789')
->create();
if ($http->fails()) {
dump($http->getErrorCode());
dump($http->getErrorMessage());
dump($http->all());
}
dd($http->all());
查询响应的示例可以在 文档 中找到。
提示
Paygate 将向 RETURN_URL 和 NOTIFY_URL 发送 POST 请求。将它们添加到 VerifyCsrfToken 中间件中,以排除 CSRF 验证。例如:
class VerifyCsrfToken extends Middleware
{
protected $except = [
'return_url',
'notify_url',
];
}
有用的方法
with
魔术方法允许您在对象的 'with' 单词之后设置一个字符串。它的工作方式与魔术获取器完全相同,除了它设置字段值并返回对象,以便您可以链式设置,例如:
$object->withReference('pgtest_123456789')
->withAmount(32.99)
->withEmail('email@example.com')
->withReturnUrl('https://my.return.url/page');
将导致以下结果:
{
"REFERENCE": "pgtest_123456789",
"AMOUNT": "3299",
"EMAIL": "email@example.com",
"RETURN_URL": "https://my.return.url/page"
}
get
魔术方法允许您在 'get' 单词之后调用任何字符串,并将返回该值,例如:
{
"PAYGATE_ID": "10011072130",
"PAY_REQUEST_ID": "23B785AE-C96C-32AF-4879-D2C9363DB6E8",
"REFERENCE": "pgtest_123456789"
}
从对象获取数据
echo $object->getPaygateId(); // 10011072130
echo $object->getPayRequestId(); // 23B785AE-C96C-32AF-4879-D2C9363DB6E8
echo $object->getReference(); // pgtest_123456789
变更日志
请参阅 变更日志 了解最近有哪些变化。
贡献
请参阅 contributing.md 了解详细信息以及待办事项清单。
致谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。